#linux #process #kill #sigkill
#linux #процесс #убить #sigkill
Вопрос:
Мой процесс завершается на сервере Linux без ручного вмешательства. Я проверил следующие сценарии.
- Для уничтожения пользователем или администратором не требуется ручного вмешательства
- Оперативная память и ПОДКАЧКА не исчерпаны
- ‘strace’ выдает мне сообщение о том, что » убит SIGKILL » — это заставляет меня предположить, что ядро остановило процесс.
Процесс занимает 16,5 ГБ виртуальной памяти, где объем оперативной памяти составляет 16 ГБ, а объем ПОДКАЧКИ — 50 ГБ.
Всего задач: 393, 2 запущенных, 387 спящих, 4 остановленных, 0 зомби
Процессор (ы): 12,8% us, 0,5% sy, 0,0% ni, 86,7% id, 0,0% wa, 0,0% hi, 0,0%si, 0,0% st
Mem: всего 16015M, использовано 8700M, 7315M свободно, 202M буферов
Подкачка: всего 51199 млн, использовано 150 млн, 51048 млн свободно, 5906 МЛН в кэше
PID USER PR NI VIRT RES SHR S%CPU% MEM TIME КОМАНДА
31466 xyz 20 0 16.4g 1.3g 6704 R 100 8.3 0: 16.99 тест *
Не могли бы вы рассказать мне о других причинах, по которым ядро убило процесс..
Ответ №1:
Вполне вероятно, что убийца ядра из-за нехватки памяти (ООМ) убил ваш процесс. Вам нужно проверить dmesg
вывод, чтобы узнать, какова была точная причина, по которой ядро остановило ваш процесс.
Комментарии:
1. Максим, я проверил вывод dmesg во время завершения процесса. Но из него не было видно никакой информации, связанной с завершением процесса. Правильна ли процедура, которой я следовал?
2. @Sobhan В зависимости от дистрибутива старые сообщения журнала ядра могут быть заархивированы, поэтому вам необходимо проверить эти архивы.
3. Я не мог наблюдать никаких таких сообщений в / var/ log машины