Linux软件运行异常,查看系统日志

原文链接

日志文件说明

  • /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
  • /var/log/secure 与安全相关的日志信息
  • /var/log/maillog 与邮件相关的日志信息
  • /var/log/cron 与定时任务相关的日志信息
  • /var/log/spooler 与UUCP和news设备相关的日志信息
  • /var/log/boot.log 守护进程启动和停止相关的日志消息

Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程, 然后防止内存耗尽而自动把该进程杀掉。 内核检测到系统内存不足、挑选并杀掉某个进程的过程可以参考内核源代码linux/mm/oom_kill.c,当系统内存不足的时候,out_of_memory()被触发, 然后调用select_bad_process()选择一个”bad”进程杀掉。如何判断和选择一个bad进程呢?

linux选择”bad”进程是通过调用oom_badness(),挑选的算法和想法都很简单很朴实:最bad的那个进程就是那个最占用内存的进程。

如何查看:

grep "Out of memory" /var/log/messages

查看系统日志方法:

运行egrep -i -r 'killed process' /var/log命令