解决方法:
1、查看产生core文件的系统级配置
linux-y94w:/ # sysctl -a| grep core
net.core.netdev_timeout_action = 0
net.core.netdev_budget = 300
net.core.somaxconn = 128
net.core.xfrm_larval_drop = 0
net.core.optmem_max = 20480
net.core.message_burst = 10
net.core.message_cost = 5
net.core.netdev_max_backlog = 1000
net.core.dev_weight = 64
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
kernel.core_pattern = /corefiles/core.%p.%e
kernel.core_uses_pid = 0
2、可以看到,kernel.core_pattern这个配置项:core文件产生的目录为/corefiles,core文件命名规则为:core.%p.%e 表示为core.进程id.进程名称
3、修改这个配置项:
linux-y94w:/ # sysctl -w kernel.core_pattern=core.%p.%e
kernel.core_pattern = core.%p.%e
linux-y94w:/ # sysctl -w kernel.core_pattern=core.%p
kernel.core_pattern = core.%p
4、看看能否生成core文件:
kill -11 {进程号}
ll
5、修改系统级配置文件/etc/sysctl.conf,让每次启动都可以生成core文件:
linux-y94w:/ # vi /etc/sysctl.conf
# Disable response to broadcasts.
# You don't want yourself becoming a Smurf amplifier.
net.ipv4.icmp_echo_ignore_broadcasts = 1
# enable route verification on all interfaces
net.ipv4.conf.all.rp_filter = 1
# enable ipV6 forwarding
#net.ipv6.conf.all.forwarding = 1
kernel.sem = 1250 32000 100 256
kernel.shmmni = 4096
kernel.shmall = 4194304
kernel.shmmax = 2147483648
kernel.msgmni16 = 16
kernel.core_pattern = core.%p
fs.file-max = 6553600
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.hugetlb_shm_group=1001
6、保存退出。