青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

linux malloc -------- OOM killer

Linux下面有個特性叫OOM killer(Out Of Memory killer),這個東西會在系統內存耗盡的情況下跳出來,選擇性的干掉一些進程以求釋放一些內存。相信廣大從事Linux服務端編程的農民工兄弟們或多 或少遇到過(人在江湖漂,哪有不挨刀啊)。典型的情況是:某天機器突然登不上了,能ping通,但是ssh死活連不了。原因是sshd進程被OOM killer干掉了(淚流滿面)。重啟機器后查看系統日志會發現血淋淋的Out of Memory: Killed process ×××、Out of Memory: Killed process 〇〇〇。一篇狼藉,慘不忍睹。

什么時候跳出來
先看第一個問題,它什么時候會跳出來。是不是malloc返回NULL的時候跳出來呢?不是的,malloc的manpage里有下面一段話:
By default, Linux follows an optimistic memory allocation strategy.
This means that when malloc() returns non-NULL there is no guarantee
that the memory really is available. This is a really bad bug. In
case it turns out that the system is out of memory, one or more processes
will be killed by the infamous OOM killer. In case Linux is
employed under circumstances where it would be less desirable to suddenly
lose some randomly picked processes, and moreover the kernel version
is sufficiently recent, one can switch off this overcommitting
behavior using a command like:
# echo 2 > /proc/sys/vm/overcommit_memory
上 面一段話告訴我們,Linux中malloc返回非空指針,并不一定意味著指向的內存就是可用的,Linux下允許程序申請比系統可用內存更多的內存,這 個特性叫Overcommit。這樣做是出于優化系統考慮,因為不是所有的程序申請了內存就立刻使用的,當你使用的時候說不定系統已經回收了一些資源了。 不幸的是,當你用到這個Overcommit給你的內存的時候,系統還沒有資源的話,OOM killer就跳出來了。
Linux下有3種Overcommit的策略(參考內核文檔:vm/overcommit-accounting),可以在/proc/sys/vm/overcommit_memory配置。取0,1和2三個值,默認是0。
0:啟發式策略,比較嚴重的Overcommit將不能得逞,比如你突然申請了128TB的內存。而輕微的Overcommit將被允許。另外,root能Overcommit的值比普通用戶要稍微多些。
1:永遠允許Overcommit,這種策略適合那些不能承受內存分配失敗的應用,比如某些科學計算應用。
2:永遠禁止Overcommit,在這個情況下,系統所能分配的內存不會超過swap+RAM*系數(/proc/sys/vm/overcmmit_ratio,默認50%,你可以調整),如果這么多資源已經用光,那么后面任何嘗試申請內存的行為都會返回錯誤,這通常意味著此時沒法運行任何新程序。
補充(待考證):在這篇文章:Memory overcommit in Linux中,作者提到,實際上啟發策略只有在啟用了SMACK或者SELinux模塊時才會起作用,其他情況下等于永遠允許策略。
跳出來之后選擇進程的策略
好了,只要存在Overcommit,就可能會有OOM killer跳出來。那么OOM killer跳出來之后選目標的策略又是什么呢?我們期望的是:沒用的且耗內存多的程序被槍。
Linux下這個選擇策略也一直在不斷的演化。作為用戶,我們可以通過設置一些值來影響OOM killer做出決策。Linux下每個進程都有個OOM權重,在/proc/<pid>/oom_adj里面,取值是-17到+15,取值越高,越容易被干掉。
最 終OOM killer是通過/proc/<pid>/oom_score這個值來決定哪個進程被干掉的。這個值是系統綜合進程的內存消耗量、CPU時 間(utime + stime)、存活時間(uptime - start time)和oom_adj計算出的,消耗內存越多分越高,存活時間越長分越低??傊?,總的策略是:損失最少的工作,釋放最大的內存同時不傷及無辜的用了 很大內存的進程,并且殺掉的進程數盡量少。

兩篇文章供你參考:

http://blog.dccmx.com/2011/04/oom-killer-on-linux/
http://linuxdevcenter.com/lpt/a/6808

posted on 2012-05-14 14:26 大龍 閱讀(592) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            中国成人在线视频| 欧美中文在线观看国产| 亚洲视频在线观看| 亚洲一区二区三区777| 欧美激情按摩在线| 欧美精品成人一区二区在线观看| 欧美1区3d| 欧美日韩在线播放三区| 国产精品久久久久久妇女6080| 国产精品免费区二区三区观看| 国产专区欧美精品| 亚洲国产精品精华液网站| 99re在线精品| 欧美在线亚洲一区| 国产乱子伦一区二区三区国色天香| 91久久久久| 亚洲第一视频网站| 亚洲综合清纯丝袜自拍| 久久久精品国产一区二区三区| 欧美成人性网| 国产精品嫩草99a| 亚洲国产福利在线| 一区二区三区四区蜜桃| 久久精品亚洲| 日韩午夜av在线| 久久久一区二区| 国产精品色一区二区三区| 欧美一区亚洲一区| 国产日韩亚洲欧美综合| 在线视频一区二区| 中文一区二区在线观看| 亚洲精品日韩在线观看| 一区二区三区色| 午夜在线一区| 欧美日韩亚洲激情| 欧美精品啪啪| 亚洲一区二区在线看| 91久久国产综合久久蜜月精品| 香蕉久久夜色精品国产使用方法| 午夜精品一区二区三区在线播放 | 母乳一区在线观看| 日韩系列欧美系列| 久久亚洲视频| 在线看国产一区| 亚洲免费高清| 在线亚洲免费视频| 欧美激情一区二区三区全黄| 国产伦精品一区二区三区在线观看| 久久久久久国产精品mv| 亚洲欧洲日夜超级视频| 欧美激情第二页| 亚洲激情一区二区| 中日韩男男gay无套| 美女脱光内衣内裤视频久久影院| 久久久视频精品| 国产精品二区二区三区| 亚洲第一综合天堂另类专| 久久九九精品99国产精品| 亚洲高清视频一区二区| 亚洲一区二区在线观看视频| 亚洲人体1000| 在线日本成人| 午夜精品一区二区三区在线视| 性久久久久久久| 欧美激情片在线观看| 亚洲视频专区在线| 欧美精品一区二区三区蜜桃 | 亚洲美女av在线播放| 136国产福利精品导航网址| 1769国产精品| 玖玖视频精品| 午夜免费日韩视频| 亚洲国产精品一区二区第一页 | 一区二区日韩欧美| 国产精品日日摸夜夜摸av| 久久久综合免费视频| 99在线观看免费视频精品观看| 久久国产66| 国产酒店精品激情| 欧美成人午夜激情视频| 久久伊伊香蕉| 欧美在线观看视频在线| 99精品国产99久久久久久福利| 亚洲高清不卡在线观看| 久久久免费精品视频| 亚洲一区图片| 欧美亚洲成人网| 欧美国产极速在线| 久久亚洲图片| 亚洲欧美久久| 午夜精品久久久久影视| 欧美另类一区二区三区| 欧美高清视频一区二区| 欧美一级大片在线观看| 亚洲欧美一区二区精品久久久| 欧美jizzhd精品欧美喷水| 校园春色综合网| 欧美激情导航| 亚洲欧美日韩国产中文| 99国产精品国产精品久久| 亚洲经典一区| 洋洋av久久久久久久一区| 亚洲美洲欧洲综合国产一区| 久久亚洲一区二区| 亚洲欧美影音先锋| 亚洲欧美国产精品桃花| 午夜精彩国产免费不卡不顿大片| 制服诱惑一区二区| 亚洲午夜精品| 久久xxxx精品视频| 久久亚洲国产精品一区二区| 欧美成人午夜激情视频| 国产欧美日韩视频| 欲色影视综合吧| 欧美性淫爽ww久久久久无| 国产精品九九| 亚洲香蕉网站| 亚洲人成艺术| 亚洲一区二区三区精品在线观看| 亚洲精品亚洲人成人网| 日韩视频在线观看一区二区| 最新国产成人在线观看| 久久精品夜色噜噜亚洲aⅴ| 亚洲国产精品久久久久秋霞不卡| 亚洲在线第一页| 欧美综合国产精品久久丁香| 欧美在线播放一区| 亚洲免费网址| 国产亚洲成精品久久| 亚洲视频一区二区| 亚洲最新在线| 欧美久久99| 国产精品海角社区在线观看| 在线视频欧美一区| 欧美日韩岛国| 一区二区电影免费在线观看| 免费成人你懂的| 国产精品久久久久天堂| 亚洲一区二区欧美| 国产日韩欧美a| 亚洲成色精品| 国产精品香蕉在线观看| 欧美制服丝袜第一页| 亚洲素人在线| 久久永久免费| 99热精品在线| 亚洲福利视频一区二区| 激情成人av| 欧美成人精品一区二区三区| 久久精品国产亚洲一区二区| 欧美色播在线播放| 快she精品国产999| 欧美第一黄网免费网站| 一区二区91| 久久久久久伊人| 99国产精品一区| 久久免费99精品久久久久久| 亚洲视频欧洲视频| 亚洲色图在线视频| 欧美激情第9页| 亚洲国产网站| 亚洲电影免费观看高清完整版| 99视频在线观看一区三区| 欧美国产综合| 久久人人爽爽爽人久久久| 美女日韩在线中文字幕| 久久亚洲精品网站| 国产欧美日韩免费| 亚洲激情二区| 尤物yw午夜国产精品视频明星 | 亚洲免费精彩视频| 亚洲激情午夜| 欧美成人按摩| 国产精品每日更新| 亚洲国产成人91精品| 欧美精品www在线观看| 亚洲国产视频直播| 亚洲综合国产| 亚洲二区在线| 欧美交受高潮1| 欧美在线播放| 欧美日韩精品欧美日韩精品| 夜夜嗨av色综合久久久综合网| 亚洲一二三四区| 影音先锋成人资源站| 欧美阿v一级看视频| 亚洲欧洲日韩女同| 一区二区视频免费完整版观看| 一区二区三区日韩欧美精品| 久久精品国产免费| 夜夜嗨av色综合久久久综合网| 国产精品黄视频| 欧美有码视频| 欧美国产精品一区| 免费欧美高清视频| 香蕉视频成人在线观看| 亚洲高清久久久| 最新高清无码专区| 国模叶桐国产精品一区| 国产精品激情电影|