我在Linux服务器上部署了六个Java程序,有一些被杀。我知道我可以使用命令grep "Killed process" /var/log/messages
查找被linux内核杀死的进程。但是如何找到pid属于我的Java程序。它可能属于同一服务器中的其他Java程序。结果是:
Aug 21 17:05:22 TEST_SERVER kernel: Killed process 2403, UID 700, (java) total-vm:19970440kB, anon-rss:7472436kB, file-rss:356kB
Aug 21 17:05:22 TEST_SERVER kernel: Killed process 2405, UID 700, (java) total-vm:19970440kB, anon-rss:7472456kB, file-rss:212kB
Aug 21 17:05:22 TEST_SERVER kernel: Killed process 2511, UID 800, (oracle) total-vm:26509852kB, anon-rss:48836kB, file-rss:4992488kB
我知道使用cd / proc / {pid}可以找到pid的详细信息,但是现在我的进程被杀死了,我使用命令说找不到文件或目录。 我也查看了消息,但仍然无事可做。
Out of memory: Kill process 2403 (java) score 114 or sacrifice child
Aug 21 17:05:22 TEST_SERVER kernel: Killed process 2403, UID 700, (java) total-vm:19970440kB, anon-rss:7472436kB, file-rss:356kB
Aug 21 17:05:22 TEST_SERVER kernel: java invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
Aug 21 17:05:22 TEST_SERVER kernel: java cpuset=/ mems_allowed=0
Aug 21 17:05:22 TEST_SERVER kernel: Pid: 22393, comm: java Not tainted 2.6.32-504.el6.x86_64 #1
答案 0 :(得分:-1)
当触发OOM-killer时,将在/ var / log / messages中写一堆行。而不是使用grep,您应该环顾包含更少或vim的“杀死进程”的内容。 您会发现类似于“ XXXX调用oom-killer:”的行。