日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
限制你的Python程序所能使用的內(nèi)存

如果程序開發(fā)不當(dāng),可能會(huì)出現(xiàn)占用過多內(nèi)存的情況。特別是在Docker里面,如果Python程序占用太多內(nèi)存,可能會(huì)導(dǎo)致Docker容器死掉。

在賽罕等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站制作,賽罕網(wǎng)站建設(shè)費(fèi)用合理。

為了限制Python程序所能使用的最大內(nèi)存,我們可以使用Python自帶的resource模塊。

首先獲取系統(tǒng)默認(rèn)的內(nèi)存soft上限和hard上限:

 
 
 
 
  1. import resource 
  2. soft, hard = resource.getrlimit(resource.RLIMIT_AS) 

其中的resource.RLIMIT_AS實(shí)際上就是數(shù)字5,表示內(nèi)存資源。而soft限制是一個(gè)可以調(diào)節(jié)的內(nèi)存使用上限,hard是一個(gè)一旦設(shè)定就很難動(dòng)態(tài)調(diào)整的內(nèi)存使用量上限。

在我的電腦上運(yùn)行效果如下圖所示:

一開始soft和hard的值是一樣的。并且它們的單位不是比特。而是比比特還小的單位。我的電腦是8GB內(nèi)存,而8 * 1024 ^ 6 正好約等于這里的hard和soft的值。

接下來,設(shè)置當(dāng)前運(yùn)行的這個(gè)Python程序能夠使用的最大內(nèi)存:

 
 
 
 
  1. resource.setrlimit(resource.RLIMIT_AS, (最大上限, hard)) 

其中最大上限是一個(gè)整數(shù)。假設(shè)我想限制當(dāng)前程序最多可以使用500MB的內(nèi)存,那么這里的最大上限可以設(shè)置為:

 
 
 
 
  1. 0.5 * 1024 ^ 6 = 576460752303423488 

所以設(shè)置為:

 
 
 
 
  1. resource.setrlimit(resource.RLIMIT_AS, (576460752303423488, hard)) 

那么當(dāng)前Python程序使用的內(nèi)存超過500MB以后,程序就會(huì)拋出MemoryError。

最后,這些代碼只能在Linux系統(tǒng)上正常工作。Windows和Mac上可能會(huì)有問題。

本文轉(zhuǎn)載自微信公眾號(hào)「未聞Code」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系未聞Code公眾號(hào)。


分享題目:限制你的Python程序所能使用的內(nèi)存
文章路徑:http://www.5511xx.com/article/cosggep.html