我有一个在多台机器上运行的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
答案 0 :(得分:0)
您可以使用Win32电话VirtualLock。我没有看到任何简单的python示例,并且没有便于玩的Windows机器,但它可能相对容易。
在Python之外ProcessHacker似乎可以做到,但我无法验证。
总的来说,这是一个坏主意。我想你可能会遇到更严重的问题。祝你好运!