Я пытаюсь решить проблему с памятью в ОЗУ в программе, написанной на Python 3.12. Я использовал psutil для вывода значений Memory_maps. Программа работает в Linux.
import psutil
p = psutil.Process()
for memory_map in p.memory_maps():
print(str(memory_map.path)+ " " + str(memory_map.size))
Я вижу, что path=[anon] увеличивается. В моем случае очень несколько ГБ. Остальные нет. Мой вопрос: что это может быть? Что такое [анон]?
Вы используете неправильный инструмент для решения задачи и задаете неправильные вопросы. Все, что вы сейчас можете видеть, это то, что ваш интерпретатор Python выделяет память. Вы не можете видеть, где и почему. Это не проблема интерпретации данных, это ограничение psutil. psutil просто не может предоставить вам необходимую информацию!
Для вашей проблемы вам понадобится профилировщик памяти, например memray
Google: анонимная память или анонимные сопоставления представляют собой память, не поддерживаемую файловой системой. Такие сопоставления создаются неявно для стека и кучи программы или путем явного вызова системного вызова mmap(2). Обычно анонимные сопоставления определяют только области виртуальной памяти, к которым программе разрешен доступ. >>>> Также дурацкий вопрос stackoverflow.com/questions/13024087/…