Python中的进程大小

时间:2009-01-06 19:22:11

标签: python windows-xp

我有一个python脚本,可以在Windows XP下接近2 GB的进程限制。在具有2 GB物理内存的计算机上,即使Python脚本以低于正常优先级的速度运行,也几乎可以锁定计算机。

在Python中有没有办法找出我自己的流程大小?

谢谢, 格里

3 个答案:

答案 0 :(得分:2)

尝试:

import win32process
print win32process.GetProcessMemoryInfo(win32process.GetCurrentProcess())

答案 1 :(得分:1)

使用psutil https://github.com/giampaolo/psutil

>>> import psutil, os
>>> p = psutil.Process(os.getpid())
>>> p.memory_info()
meminfo(rss=6971392, vms=47755264)
>>> p.memory_percent()
0.16821255914801228
>>> 

答案 2 :(得分:0)

不要担心在运行时限制进程大小,最好弄清楚当前存储在内存中的所有数据是否真的需要始终在内存中。

您可能拥有足够的磁盘空间,只需创建一些临时文件(请参阅tempfile module),就应该有足够的机会将当前计算中不再使用的任何数据写入磁盘。如果您需要,可以在以后再次阅读它。这(简单地说)有多少数据库可以工作。

虽然磁盘在计算意义上被认为是“慢”,但它仍然非常快,在处理大型数据集时它是一个非常有用的工具。而且由于你已经将进程优先级设置为“低于正常值”,因此无论如何速度都不应该是一个严重的问题,而记忆显然是。