2013-10-09 3 views
2

Я пытаюсь выяснить, как увидеть внутри скрипта Python (без какой-либо внешней библиотеки) оперативную память, используемую в настоящий момент этим скриптом.Разница между общим и неразделенным объемом памяти

Некоторые поиск здесь указать мне на модуль ресурса: http://docs.python.org/2/library/resource.html#resource-usage

И здесь, я вижу, есть два вида памяти, общий и неразделенная.

Мне было интересно, что они описывали? Жесткий диск против ОЗУ? или что-то о многопоточной памяти? Или что-то другое ?

Кроме того, я не думаю, что это действительно помогает мне узнать текущее использование ОЗУ, верно?

Благодаря

+0

Вы можете проверить это сообщение? http://stackoverflow.com/a/938800/1982962 –

+0

Решение, которое вы указываете, кажется довольно грязным, на мой взгляд, не существует ли один способ сделать это? – taktak004

+0

Возможно использование функции getrusage() из ресурса стандартного библиотечного модуля. resource.getrusage (resource.RUSAGE_SELF) .ru_maxrss Я должен сказать, что я не знаю, есть ли идеальное или чистое решение этого вопроса, если у кого-то есть лучшая идея, это может мне помочь. –

ответ

2

RAM выделяется на куски, называемые страницами. Некоторые из этих страниц могут быть помечены только для чтения, например, в текстовом сегменте, содержащем инструкции программы. Если страница доступна только для чтения, она доступна для совместного использования несколькими процессами. Это общая память, которую вы видите. Неразделенная память - это все остальное, что характерно для текущего процесса, например, выделения из кучи.

+0

Так что (совместно используемые и не разделенные) хранятся в ОЗУ? – taktak004

+0

Общими и не разделенными являются описания того, как используется RAM. Так да. Это на самом деле сложнее, так как операционная система может обмениваться страницами ram на диск, но да. – Ben

Смежные вопросы