Назад | Перейти на главную страницу

Как узнать, какие сайты используют слишком много оперативной памяти на моем хостинге под Linux

Ситуация

У меня есть root-доступ к виртуальному частному серверу (на Dreamhost), на котором я размещаю свои веб-сайты. Я ограничен ОЗУ (в настоящее время 500 МБ), поэтому, если один сайт (сценарий этого сайта) требует слишком много ОЗУ, весь мой VPS отключается и перезапускается, а вместе с ним и все остальные сайты!

Мое среднее использование составляет около 100 МБ, так что это далеко не предел, но каким-то образом какой-то скрипт все еще делает это: запрашивает слишком много оперативной памяти, а затем сторожевой таймер Dreamhost убивает мой VPS. Все это происходит за миллисекунды (так говорят), и я не могу легко узнать, что происходит.

Вопрос

Как я могу узнать, какой сценарий вызывает это? Dreamhost не помог в этом, и я не совсем лучший хакер Linux :).

Еще немного подробностей

Все мои сайты размещены на Apache и все на PHP.

Уменьшите ограничение памяти PHP до более низкого значения (memory_limit config var в php.ini); сценарий, занимающий всю память, выдаст ошибку, и это определит проблему. Если проблема по-прежнему возникает без видимой ошибки, продолжайте снижать ограничение памяти. Если все начинает ошибаться, вы слишком далеко его уронили. Если вы не можете найти золотую середину между «все умирает» и «ничто не умирает», подумайте о том, что на самом деле это не PHP-скрипт, занимающий всю вашу память, и начните искать другие возможности (задания cron, задания фоновой обработки, Такие вещи).