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