我有一个在多台机器上运行的 python 脚本(用 py2exe 制作的 exe)。这个 Python exe 定期做两件事;一个线程编写一个 py 文件以供进一步处理,而另一个线程使用该pyZmq
模块侦听 tcp 端口。使用了大约 12Mo 的 ram,它已经完美运行了好几天。
现在问题来了:这些机器也运行3dsmax
渲染。3dsmax
占用系统上所有可用的内存,只为我的脚本留下 4Mo 内存。在这种状态下,报告(py 文件写入)线程正常运行,但侦听 tcp 端口的线程不再工作(向机器发送 msg 不会收到)。
但是,此 python exe 进程以高优先级运行:
set_nice(psutil.HIGH_PRIORITY_CLASS)
那么,我怎样才能为我的进程保留 14Mo 的 ram,以便没有其他正在运行的进程可以占用这个 ram?或者另一种避免exe将他的ram“交给”其他进程的方法?
谢谢,基布