2015-03-21 2 views
-1

Мой скрипт python подключается к различным ssh'es как 1000 раз, за ​​запуск сценария на Python, а также извлекает веб-страницы, используя запросы.Использование памяти Python после закрытия

То, что я использую, является подпроцессом, для выполнения ssh-соединения и запросов библиотеки, для извлечения веб-страниц.

После этого, когда приложение завершает его выполнение, у меня есть + 500 МБ в ОЗУ, более того, во время работы я регистрировал ресурсы, их было до 15 Мб, но занимает ОЗУ/своп около 500 Мб.

Что может быть причиной такого рода проблем?

Сборщик мусора (gc.collect()) не помогает, все то же самое.

Пробовал не использовать глобальные переменные, удалять используемые переменные, которые могут быть крупного размера, ничего не помогает.

+0

как вы измеряете использование этой памяти? – roippi

+0

Я смотрю бесплатно -m, или swapon -s, сверху и т. Д. Память увеличивается только после запуска скрипта. Кстати, количество обработанных подключений, конечно, зависит от размера, ОЗУ увеличилось до. В python во время регистрации я измерял его с помощью ресурса lib – Sergey

+0

Я спрашиваю, потому что многие люди неправильно читают вывод 'free'. Вы смотрите на строку «mem» или строку «-/+ buffers/cache»? Вы должны смотреть на последнего. – roippi

ответ

0

Я нашел решение, проблема была в том, что в системе ушли десятки, сотни процессов ssh. Я только что исполнил killall sshpass, и все в порядке :)

os.popen("killall sshpass") 
Смежные вопросы