У меня сервер Twisted под нагрузкой. Когда сервер находится под нагрузкой, использование памяти увеличивается и никогда не восстанавливается (даже если клиентов больше нет). В следующий раз, когда он перейдет в режим высокой нагрузки, использование памяти снова возрастет. Вот снимок ситуации на тот момент:
Valgrind с включенной проверкой утечки = full не показывает каких-либо серьезных утечек (только пара мегабайт «окончательно потеряна») - поэтому расширения C не являются виновником . Общий объем памяти также не превышает 400 МБ +, показанных вверху :
== 23072 == СВОДКА КУЧИ:
так что нет никаких несобранных объектов.
Valgrind с включенной проверкой утечки = full не показывает никаких серьезных утечек (только пара мегабайт «окончательно потеряна») - так что расширения C не виноваты. Общий объем памяти также не превышает 400 МБ +, показанных вверху :
== 23072 == СВОДКА КУЧИ:
так что нет никаких несобранных объектов.
Valgrind с включенной проверкой утечки = full не показывает никаких серьезных утечек (только пара мегабайт «окончательно потеряна») - так что расширения C не виноваты. Общий объем памяти также не превышает 400 МБ +, показанных вверху :
== 23072 == СВОДКА КУЧИ:
Valgrind с проверкой утечки = full enabled не показывает никаких серьезных утечек (только пара мегабайт «окончательно потеряна»), поэтому расширения C не являются виновником. Общий объем памяти также не превышает 400 МБ +, показанных вверху :
== 23072 == СВОДКА КУЧИ:
Valgrind с проверкой утечки = full enabled не показывает никаких серьезных утечек (только пара мегабайт «окончательно потеряна»), поэтому расширения C не являются виновником. Общий объем памяти также не превышает 400 МБ +, показанных вверху :
== 23072 == СВОДКА КУЧИ:
== 23072 == используется на выходе: 65 650 760 байт в 463 153 блоках
== 23072 == общее использование кучи: 124 269 475 выделенных блоков, 123 806 322 освобождения, выделено 32 660 215 602 байта
Единственное объяснение, которое я могу найти, это то, что некоторые объекты не отслеживаются сборщиком мусора, поэтому они не отображаются objgraph и pympler, но использую огромное количество оперативной памяти.
Какие еще инструменты или решения у меня есть? Поможет ли компиляция интерпретатора Python в режиме отладки с помощью sys.getobjects?