[英]Is it possible to increase the amount of RAM a python process is using
[英]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.