av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:113日期:2022-07-15 09:30:19

問題

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

解決方案

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

import signalimport resourceimport osdef 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

程序運行時,SIGXCPU 信號在時間過期時被生成,然后執(zhí)行清理并退出。

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

import resourcedef limit_memory(maxsize): soft, hard = resource.getrlimit(resource.RLIMIT_AS) resource.setrlimit(resource.RLIMIT_AS, (maxsize, hard))

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

討論

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

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

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

以上就是Python限制內(nèi)存和CPU的使用量的方法的詳細內(nèi)容,更多關(guān)于Python限制內(nèi)存和CPU的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 综合色在线| 国产综合视频在线观看 | 黄色一级片黄色一级片 | 欧美一级片在线播放 | 日韩伦理在线观看 | 久久成人在线 | 影音先锋在线观看视频 | 狠狠干2018 | 成年人一级片 | 国产精品网站在线观看 | 亚洲福利一区 | 国产色视频一区二区三区qq号 | 亚洲国产成人精品女人久久久 | 91精品国产一区二区三区 | 久久草视频 | 亚洲一区二区三区中文字幕 | 在线a| 国产精品成人国产乱一区 | 美日韩在线视频 | 日本免费观看视频 | 蜜桃综合网 | 九九热在线观看视频 | 性生活视频网站 | 久久av中文字幕 | 黄色大毛片 | 成人av播放| 欧美一级在线观看 | 91亚色视频 | 日本不卡一区 | 亚洲三级视频 | 色虎网站 | 久久天天操 | 久久中文视频 | 久久机热| 韩日在线视频 | 欧美日韩国产精品 | 欧美综合激情 | 97精品在线 | 日韩香蕉视频 | 毛片91| 日本中文字幕在线播放 |