保持ram for python进程

时间:2013-02-21 09:47:01

标签: python windows-7 python-2.7

我有一个在多台机器上运行的python脚本(用py2exe编写的exe)。这个Python exe定期做两件事;一个线程写入py文件进行进一步处理,而另一个线程使用pyZmq模块侦听tcp端口。已经运行了好几天,使用大约12Mo的ram。

现在问题是:这些机器还运行3dsmax渲染。 3dsmax获取系统中所有可用的ram,只留下4Mo的ram用于我的脚本。在这种状态下,报告(py文件写入)线程正确运行,但是侦听tcp端口的线程不再起作用(不会收到将msg发送到机器)。

但是,这个python exe进程在高级别优先级上运行:

set_nice(psutil.HIGH_PRIORITY_CLASS)

那么,我怎样才能为我的进程保留14Mo的ram,以便没有其他进程可以运行这个ram?或者另一种方法是避免exe将“ram”给予其他进程?

谢谢, KIB

1 个答案:

答案 0 :(得分:0)

您可以使用Win32电话VirtualLock。我没有看到任何简单的python示例,并且没有便于玩的Windows机器,但它可能相对容易。

在Python之外ProcessHacker似乎可以做到,但我无法验证。

总的来说,这是一个坏主意。我想你可能会遇到更严重的问题。祝你好运!