LINUX.ORG.RU

питон и память


0

0

как узнать, какой объём памяти занимает интерпретатор?

задача -- обработка больших Numeric массивов, которые можно сохранять/подгружать с диска, но при этом хочется держать в памяти максимум данных, не выпадая в своп.
пока не вижу более разумного варианта чем подсчёт объёма загруженного вручную

anonymous

>не выпадая в своп.

для этого как минимум потребуется root.

ну и залочь весь процесс в оперативке

cvv ★★★★★
()
Ответ на: комментарий от cvv

> ну и залочь весь процесс в оперативке

это-то понятно, но как отследить сколько памяти уже занято чтоб не загружать лишнего?

anonymous
()
Ответ на: комментарий от anonymous

>но как отследить сколько памяти уже занято

http://www.linux.org.ru/jump-message.jsp?msgid=1310416

>чтоб не загружать лишнего?

связавшись с питоном вы не можете угадать сколько памяти потребует то или иное действие, а насколько я знаю у питона БОЛЬШОЙ оверхед на массивах.

может вам нужен С или С++?

cvv ★★★★★
()
Ответ на: комментарий от cvv

> насколько я знаю у питона БОЛЬШОЙ оверхед на массивах.

для питона есть Numeric, это фактически те же си-массивы плюс мат. функции на этих массивах, так что оверхед без надобности не возникает.

anonymous
()
Ответ на: комментарий от Onanim

getrusage почему-то показывает нули во всех интересующих меня полях (ru_maxrss, ru_ixrss, ru_idrss, ru_isrss):

>>> from resource import *
>>> getrusage(RUSAGE_SELF)
(0.073987999999999998, 0.027994999999999999, 0, 0, 0, 0, 809, 4, 0, 0, 0, 0, 0, 0, 130, 63)

anonymous
()
Ответ на: комментарий от anonymous

мож быть.

я с питоном знаком только в общих чертах

cvv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.