残酷的OOM

问题: 30个虚拟机一下子全死光光了,而且/var/log/message 中没有任何遗言;莫不是被攻击了?

不要瞎猜,查一下吧

  1. 因为rsyslogd死的比较早,所以 /var/log/message 没有任何有用的信息
  2. 虽然mysqld被杀了很多次,但是依然存在,是因为mysqld_safe 没有被杀,当mysqld死掉时,mysqld_safe 就会再起一个mysqld。什么?mysqld_safe 也在死亡名单中出现了?确实,后来发现了,手动重启了,且看mysqld_safe 之后的多次mysqld被杀就行了
  3. 终于VBoxSVC 被杀,所有虚拟机就全部死光光了
  4. 如果把sshd杀死了,岂不是很悲催? 参看openssh-server 的源码: https://github.com/openssh/openssh-portable/blob/8408218c1ca88cb17d15278174a24a94a6f65fe1/openbsd-compat/port-linux.c ,其中有如下逻辑:(就是说,这家伙有自我保护功能,通过调整/proc/self/oom_score_adj 或 /proc/self/oom_adj实现,其中的设置保证该进程不会被oom掉,其他进程也可以这么效仿)

     

参考资料: https://www.kernel.org/doc/Documentation/filesystems/proc.txt

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据