ЛАМПА и проблема с памятью / пространством подкачки - PullRequest
1 голос
/ 03 октября 2010

Мое приложение LAMP, кажется, в конечном итоге использует всю память моего сервера и пространство подкачки. Я чувствую, что это как-то связано с внешними процессами, которые я должен вызвать (поскольку это единственный раз, когда проблема проявляется).

Мне нужно постоянно вызывать GhostScript, ImageMagick's "convert", PDFTK и т. Д. Когда эти процессы запущены, я вижу, что у меня заканчивается память. Итак, вопросы:

  1. Какие методы я должен использовать, чтобы окончательно определить, какой процесс на самом деле вызывает проблемы с памятью? Сейчас я планирую запускать процессы по отдельности и просто наблюдать за использованием памяти с помощью команды * nix «top». Есть ли способ, которым я могу сделать это программно?

  2. Могу ли я использовать какие-либо решения для очистки памяти? Это было бы хорошей идеей?

1 Ответ

0 голосов
/ 03 октября 2010

Другая проблема, с которой вы можете столкнуться, заключается в том, что при разветвлении приложение, из которого вы производите ветвление, «удваивается», поэтому его потребление памяти удваивается. Если у вас есть сервер приложений, который является резидентным и хранит много данных в кэше, это может быть очень важно.

Решением этой проблемы является запуск небольшого резидентного скрипта / программы, прослушивающей сокет или именованный канал для запуска внешних программ.

Вы можете использовать top -b (или аналогичный) для получения машиночитаемого вывода и отслеживания потребления памяти там с помощью скрипта.

Кстати: не считайте пространство подкачки как «реальную» память, ваше приложение должно работать, не затрагивая пространство подкачки. Как только вы начинаете нажимать на пространство подкачки, производительность снижается настолько быстро, что запросы начинают накапливаться, что приводит к увеличению объема используемой памяти и замене большего объема содержимого. Если вы видите, что выделено значительное пространство подкачки, увеличьте объем памяти (или купите больший хостинг-план)

...