簡體   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