1. 内核转储作用

(1) 内核转储的最大好处是能够保存问题发生时的状态。

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

(2) 只要有可执行文件和内核转储,就可以知道进程当时的状态。

(3) 只要获取内核转储,那么即使没有复现环境,也能调试。

centos 6 设置内核转储

统一命令为以下几条命令,后面是解释

echo "* soft core unlimited" >> /etc/security/limits.conf

echo "kernel.core_pattern = /tmp/core-%e-%s-%u-%g-%p-%t"  >> /etc/sysctl.conf

echo "fs.suid_dumpable = 2"  >> /etc/sysctl.conf

echo "DAEMON_COREFILE_LIMIT=’unlimited’" >> /etc/sysconfig/init

sysctl -p

编辑/etc/security/limits.conf,注意这是为所有进程设置的,但如果你有一个作为服务帐户运行的进程,请用服务帐户替换*。您必须重新启动此过程以使此更改生效。

编辑/etc/sysctl.conf并添加放置核心文件和任何命名标准的位置。

文件名变量:

%e是文件名

%g是进程运行的gid 

%p是进程的PID 

%s是导致转储的信号

%t是转储发生的时间

%u是进程运行的uid

编辑/etc / sysconfig / init并设置核心文件限制。

centos 7 设置内核转储

echo -e "\n# enable coredump whith unlimited file-size for all users\n* soft core unlimited" >> /etc/security/limits.conf

echo -e "\nkernel.core_pattern=/tmp/core-%e-%s-%u-%g-%p-%t" >> /etc/sysctl.conf

echo -e "1" > /proc/sys/kernel/core_uses_pid

sysctl -p /etc/sysctl.conf

2,测试是否生效

例子的源代码:

#include

int main(void)

{

int *a = NULL;

*a = 0x1;

return 0;

}

把以上源代码,写成一个a.c文件后,编译a.c文件产生一个a.out的可执行文件:

#gcc -g a.c -o a.out

修改a.out文件的权限后,执行它:

#./a.out

就会显示:

Segmentation fault(core dump)

这表示在/tmp目录下, 已经生成了a.out对应的内核转储文件。

注意:后面带有(core dump), 才说明转储文件成功生成了。

IRQM全球服务器租赁特推出香港折扣服务器租用,支持测试,售完即止欢迎

Tag: 内核微软进程文件编辑

标题:香港服务器如何设置centos 6和centos 7的内核转储

地址: https://www.irqm.com/20314.html