Обнаружение общего использования PHP в МБ

Могли быть все виды вещей, это предполагает, что Вы не можете сделать ничего вообще кроме использования Ваша существующая энергия. Вы не можете ssh в, Вы не можете открыть новую оболочку, ничто. Если Вы можете открыть новую оболочку, но ничего не можете выполнить в той оболочке, то это могли быть все виды разных вещей, например, Ваш ПУТЬ мог обратиться к каталогу на сетевом ресурсе, на который это снижается (попытайтесь выполнить "/bin/ls", таким образом, ПУТЬ не ищется), и необходимо ожидать ее для таймаута, прежде чем это посмотрит в других каталогах... Вот некоторые вещи попробовать:

В порядке "маловероятно, чтобы заставить энергию отказывать", запускаются, заставляя энергию открыть/proc/loadavg (:r /proc/loadavg) это должно вставить строку как

0.04 0.05 0.01 2/176 26199

Первые три числа являются Вашим средним числом загрузки (то же как команда времени работы), 2/176 говорит, что существует два процесса, в настоящее время выполнимые из 176 общих процессов. Если общие процессы находятся в десятках тысяч затем, fork-бомба или что-то подобное могут использовать все Ваши ресурсы. Можно, вероятно, читать /proc/[randomnumber]/cmdline и имейте хорошее предположение в том, куда эти процессы прибывали из.

/proc/meminfo будет иметь много строк о текущем Использовании оперативной памяти. Если MemFree является близким нулем, и Буферы и Кэшируемый являются близким нулем, то что-то использовало большую часть памяти. Обратите внимание, что MemFree является обычно низким из-за Буферов и Кэша, поэтому если Буферы и Кэш высоки, это - нормальное функционирование.

Если первые три числа от/proc/loadavg действительно высоки (например, 10.0 +, в зависимости от # CPU/ядер) затем, это мог быть безудержный процесс, поднимающий все Ваше процессорное время (в этом случае, Ваши команды должны выполниться... в конечном счете. Но затем энергия должна быть медленной также). Иначе возможно, что существует проблема IO, которая может увеличить числа загрузки, не используя ЦП (например, отказавший жесткий диск). Если у Вас есть смонтированный sysfs (обычно /sys/) можно попытаться читать /sys/block/[drivedevice]/device/ioerr_cnt (где [drivedevice] является Вашим названием дискового устройства, например. sda, не имя раздела). Это будет иметь шестнадцатеричное число, считая все ошибки, которые были зарегистрированы для того устройства. Мой - 0x8 (некоторые тесты начальной загрузки для кэша записи, и другие настройки вызывают ошибки, которые нормальны, в зависимости от аппаратных средств и драйверов), но, если Ваш является большим (и получение больше, попытайтесь читать его дважды), затем, диск является смертью / мертвый.

Если диск не имеет ошибок, то могло бы быть безопасно попытаться читать из диска: если у Вас есть открытие попытки разрешения /var/log/kern.log который мог бы дать Вам больше понимания, что продолжается. /var/log/syslog и /var/log/messages мог бы помочь также.

0
задан 14 May 2013 в 17:45
1 ответ

Попробуйте использовать:

ps avx

и просуммируйте сумму в столбце «RSS»

1
ответ дан 4 December 2019 в 21:16

Теги

Похожие вопросы