Я пытаюсь определить, почему серверный процесс MySQL уничтожается из-за из памяти, так смотрю на sylog. Сразу перед 'из памяти' я вижу много строк с отличающимися числами, но я не могу узнать то, что они имеют в виду. Может кто-то проливать некоторый свет на то, на что я смотрю и если он дает какой-либо ключ к разгадке моей проблемы.
Jun 29 15:21:33 serverpilottest kernel: [1320544.512442] [ 3158] 1000 3158 97824 2881 107 1172 0 php-fpm
Jun 29 15:21:33 serverpilottest kernel: [1320544.512443] [ 3160] 1000 3160 96548 1610 105 1194 0 php-fpm
Jun 29 15:21:33 serverpilottest kernel: [1320544.512445] [ 3161] 1000 3161 95737 806 104 1224 0 php-fpm
Jun 29 15:21:33 serverpilottest kernel: [1320544.512448] Out of memory: Kill process 1598 (mysqld) score 68 or sacrifice child
Любая справка очень ценится.
Поскольку, что выходные средства видят этот ответ. Обратите внимание, что mysql является, вероятно, не причиной проблемы. Linux по умолчанию превышает возможности памяти и затем когда процессы на самом деле начинают использовать его, это должно уничтожить некоторый другой процесс для получения некоторой памяти.
Часто это выбирает то, что является большим и не очень используемое. Можно защитить процесс от того, чтобы быть уничтоженным путем выполнения
echo -1000 > /proc/999/oom_score_adj
где 999 идентификатор процесса. Посмотрите man proc
. Значение-1000 к +1000 для смещения oom уничтожителя (менее вероятно к более вероятно), с-1000 = никогда не уничтожают.
Вы должны емкости памяти управляющего процесса, например, с top
(введите M
к виду памятью).
Вывод от oom менеджера. php-fpm
вероятно, часть апача. Можно часто настраивать апача для уничтожения многого снова использованные потоки, которые выросли слишком много; это - выбор между быстрее cgi и меньше потраченной впустую памяти.
Можно временно отключить принимающую на себя непосильные обязательства память с
sysctl vm.overcommit_memory=2
затем у Вас, более вероятно, будет катастрофический отказ процесса памяти-hogging вместо некоторого уничтожаемого вероятностного процесса. Это обычно не рекомендуется как постоянная установка.
Они похожи на идентификатор процесса, идентификатор пользователя, и снова обрабатывают идентификатор, соответственно. Не видьте то, что находится в последнем столбце, вероятно, некоторый признак использования памяти.