云主机重启后,core_pattern
,即/proc/sys/kernel/core_pattern
和/etc/sysctl*
配置失效,被系统自动修改。
配置后,重启后core_pattern
被重写cat /etc/sysctl.conf
定位过程
定位到的原因是系统的apport服务导致的问题。
apport服务启动配置文件中/etc/init/apport.conf
apport将其自身注册为系统的核心转储处理程序, 它强制覆盖用户在/etc/sysctl.conf中指定的设置,并且不使用/etc/sysctl.d。
因此,它将覆盖启动和关闭时在其他位置配置的设置。
apport的功能是上报内部错误, 关闭后并不影响作为纯server使用的ubuntu系统的正常工作。
所以,为了解决这个问题,需要手动关闭apport服务。
ubuntu12.04 14.04
ucloud, tencent云主机已测试通过
service apport stop #临时关闭
sudo update-rc.d -f apport remove
sed -i 's@enabled=1@enabled=0@g' /etc/default/apport #永久关闭
sysctl -p
ubuntu18.04
sudo systemctl stop apt-daily.timer
sudo systemctl stop apt-daily.service
sudo systemctl stop apt-daily-upgrade.timer
sudo systemctl stop apt-daily-upgrade.service
sudo systemctl disable apt-daily.service
sudo systemctl disable apt-daily.timer
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily-upgrade.service
systemctl stop apport.service
systemctl disable apport.service
sed -i 's@enabled=1@enabled=0@g' /etc/default/apport
sysctl -p
参考:
https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1080978