Я развернул шесть программ Java на сервере Linux, некоторые из них были убиты. Я знаю, что могу использовать команду grep "Killed process" /var/log/messages
, чтобы найти, какой процесс уничтожен linux-kernel. Но как мне узнать, что 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