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

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

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

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

問題

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

解決方案

resource 模塊能同時執(zhí)行這兩個任務(wù)。例如,要限制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)存使用,設(shè)置可使用的總內(nèi)存值即可,如下:

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

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

討論

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

setrlimit() 函數(shù)還能被用來設(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)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 丁香婷婷六月天 | 成人国产精品久久久网站 | 欧美综合激情 | 夜夜嗨av一区二区三区网页 | 亚洲精品成人在线 | 久久视频这里只有精品 | 国产精品入口夜色视频大尺度 | 亚洲最大黄色网址 | 97精品国产97久久久久久免费 | 久久靖品 | 久久国产综合 | 成人国产网站 | 午夜免费小视频 | 国产网站视频 | 亚洲国产欧美日韩 | 成人午夜网站 | 精品一区二区国产 | 99精品欧美一区二区蜜桃免费 | 国产黄a三级三级三级看三级男男 | 国产一级网站 | 久久久久一区二区 | jlzzzjlzzz国产免费观看 | 久久狠狠干 | 毛片视频免费观看 | 亚洲免费观看视频 | 欧美va亚洲va | 天天爽夜夜爽 | 中文在线观看免费网站 | 欧美日韩免费在线 | 天堂影院av| 日韩综合在线 | 成年人午夜视频 | 午夜免费视频 | 亚洲一区欧美 | 日韩av一二三区 | 久久黄色免费视频 | 91视频在线看 | 成人国产综合 | 一区二区欧美日韩 | 一级黄色片免费看 | 秋霞午夜鲁丝一区二区老狼 |