限制python程序cpu使用時間的樣例如下:
import signal
import resource
import os
deftime_exceeded
(signo, frame)
:print
("time's up"
)raise systemexit(1)
defset_max_runtime
(seconds)
: soft,hard = resource.getrlimit(resource.rlimit_cpu)
resource.setrlimit(resource.rlimit_cpu,
(seconds, hard)
) signal.signal(signal.sigxcpu, time_exceeded)
if __name__ ==
'__main__'
: set_max_runtime(5)
while
true
:pass
執行上述**,當超時時會產生sigxcpu訊號。程式就會做清理工作然後退出。
要限制記憶體的使用可以使用如下函式:
def
limit_memory
(maxsize)
: soft, hard = resource.getrlimit(resource.rlimit_as)
resource.setrlimit(resource.rlimit_as,
(maxsize, hard)
)
當設定了記憶體限制後,如果沒有更多的記憶體可用,程式就會開始產生memoryerror異常。 python統計電腦記憶體,cpu,磁碟使用情況
import psutil pip install psutil 獲取本機磁碟使用率和剩餘空間g資訊 def get disk info 迴圈磁碟分割槽 content for disk in psutil.disk partitions 讀寫方式 光碟 or 有效磁碟型別 if cdrom in ...
實時監測CPU和記憶體使用率
專案背景 在評估軟體資源使用率的時候,需要統計cpu和記憶體最大使用率,因此需要監測軟體執行工程中的cpu和記憶體使用率的變化,並記錄最大值 1.記憶體統計會比較簡單,只需要查詢電腦中最大記憶體,以及實時記憶體使用情況 1 include 2 include 3 include 4 include5...
CPU快取和記憶體屏障
cpu效能優化的手段 快取 為了提供程式執行的效能,現代cpu在很多方面對程式進行了優化。例如cpu快取記憶體。盡可能避免處理器訪問主記憶體的時間開銷,處理器大多數會利用快取以提高效能。cpu快取分為3級快取,l1,l2,l3,l1的訪問速度最快,然後遞減。如果機器是多核,則每個cpu對應相對的l1...