一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python限制內(nèi)存和CPU使用量的方法(Unix系統(tǒng)適用)

Python限制內(nèi)存和CPU使用量的方法(Unix系統(tǒng)適用)

2020-08-05 00:01David Beazley Python

這篇文章主要介紹了Python限制內(nèi)存和CPU的使用量的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

問(wèn)題

你想對(duì)在Unix系統(tǒng)上面運(yùn)行的程序設(shè)置內(nèi)存CPU的使用限制

解決方案

resource 模塊能同時(shí)執(zhí)行這兩個(gè)任務(wù)。例如,要限制CPU時(shí)間,可以像下面這樣做:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import signal
import resource
import os
 
def time_exceeded(signo, frame):
 print("Time's up!")
 raise SystemExit(1)
 
def set_max_runtime(seconds):
 # Install the signal handler and set a resource limit
 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(15)
 while True:
  pass

程序運(yùn)行時(shí),SIGXCPU 信號(hào)在時(shí)間過(guò)期時(shí)被生成,然后執(zhí)行清理并退出。

要限制內(nèi)存使用,設(shè)置可使用的總內(nèi)存值即可,如下:

?
1
2
3
4
5
import resource
 
def limit_memory(maxsize):
 soft, hard = resource.getrlimit(resource.RLIMIT_AS)
 resource.setrlimit(resource.RLIMIT_AS, (maxsize, hard))

像這樣設(shè)置了內(nèi)存限制后,程序運(yùn)行到?jīng)]有多余內(nèi)存時(shí)會(huì)拋出 MemoryError 異常。

討論

在本節(jié)例子中,setrlimit() 函數(shù)被用來(lái)設(shè)置特定資源上面的軟限制和硬限制。 軟限制是一個(gè)值,當(dāng)超過(guò)這個(gè)值的時(shí)候操作系統(tǒng)通常會(huì)發(fā)送一個(gè)信號(hào)來(lái)限制或通知該進(jìn)程。 硬限制是用來(lái)指定軟限制能設(shè)定的最大值。通常來(lái)講,這個(gè)由系統(tǒng)管理員通過(guò)設(shè)置系統(tǒng)級(jí)參數(shù)來(lái)決定。 盡管硬限制可以改小一點(diǎn),但是最好不要使用用戶進(jìn)程去修改。

setrlimit() 函數(shù)還能被用來(lái)設(shè)置子進(jìn)程數(shù)量、打開(kāi)文件數(shù)以及類似系統(tǒng)資源的限制。 更多詳情請(qǐng)參考 resource 模塊的文檔。

需要注意的是本節(jié)內(nèi)容只能適用于Unix系統(tǒng),并且不保證所有系統(tǒng)都能如期工作。 比如我們?cè)跍y(cè)試的時(shí)候,它能在Linux上面正常運(yùn)行,但是在OS X上卻不能。

以上就是Python限制內(nèi)存和CPU的使用量的方法的詳細(xì)內(nèi)容,更多關(guān)于Python限制內(nèi)存和CPU的資料請(qǐng)關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://python3-cookbook.readthedocs.io/zh_CN/latest/c13/p14_putting_limits_on_memory_and_cpu_usage.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜免费无码福利视频麻豆 | 亚洲社区在线观看 | 国产精品最新 | 无限韩国视频免费播放 | 五月天91 | 四虎成人免费视频 | 继的朋友无遮漫画免费观看73 | sp啪啪调教打屁股网站 | 精品网站一区二区三区网站 | 成3d漫二区三区四区 | 亚洲欧美在线观看首页 | 亚洲国产精品成人午夜在线观看 | 粉嫩极品国产在线观看免费 | 国产一区二区免费福利片 | 天堂资源wwww在线看 | 无人区在线观看免费视频国语 | www.四虎com| 国产这里有精品 | 国产欧美精品一区二区三区 | 久久高清一级毛片 | 极品虎白女在线观看一线天 | 国产亚洲精品美女久久久 | 亚洲欧美日韩中文字幕久久 | 第一次处破女18分钟 | 爽好舒服快想要免费看 | 青青在线国产视频 | 男生的j桶女人屁免费视频 男生操男生 | 人人艹在线视频 | 久久视频在线视频观看天天看视频 | 男人的j伸到女人的屁股眼 男人吃奶动态图 | 青草草视频在线观看 | 亚洲天堂网在线观看视频 | 91影视永久福利免费观看 | 天天狠天天天天透在线 | 加勒比福利 | 亚洲AV永久无码精品老司机蜜桃 | 国产精品久久久久久久久免费 | 国产成人精品免费视频软件 | 国产亚洲精品精品国产亚洲综合 | 国产高清视频一区二区 | 国产成人一区二区三区影院免费 |