Я занимаюсь разработкой приложения на python 2.6 (протестировано на 2.6.5 и 2.6.6), которое будет запускаться в качестве демона на моем VPS.
В ходе некоторых тестов я обнаружил, что само приложение потребляет (во время сна, поэтому никаких действий или выделений) около 37,53 МБ памяти.
Я потратил последние несколько часов на оптимизацию кода, чтобы уменьшить объем памяти приложения, но с треском провалился XD
Я использую эту строку кода bash для получения памяти, используемой моим приложением:
ps u -p $(pidof python) | awk 'NR > 1 {nm += $5} END {print nm * 1024}'
*(Yes, im sure i have only that one python instance running ;))*
Итак, просто чтобы быть уверенным, что я не собираюсь тратить впустую свое время, я запустил просто сеанс интерпретатора Python (без скрипта, без аргументов, без загруженных модулей) и с тем же скриптом, который я использую, чтобы получить потребляемую им память. ... знаешь что?
Это почти то же самое, что и все мое приложение!
Итак, есть ли способ уменьшить объем памяти интерпретатора Python? Я даже пытался установить порог gc на 3 для первого поколения, а затем вызвать gc.collect () в безопасных местах моего приложения ... но ничего не изменилось :(