繁体   English   中英

为ram进程保留ram

[英]Keep ram for python process

我有一个在多台机器上运行的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)

因此,如何为进程保留ram的14Mo,以便其他正在运行的进程无法使用该ram? 还是另一种避免exe向其他进程“提供”内存的方法?

谢谢,基布

您可以使用Win32调用VirtualLock 我没有看到任何简单的python示例,也没有方便使用的Windows机器,但这可能相对容易。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM