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

大龍的博客

常用鏈接

統計

最新評論

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

Linux下面有個特性叫OOM killer(Out Of Memory killer),這個東西會在系統內存耗盡的情況下跳出來,選擇性的干掉一些進程以求釋放一些內存。相信廣大從事Linux服務端編程的農民工兄弟們或多 或少遇到過(人在江湖漂,哪有不挨刀?。5湫偷那闆r是:某天機器突然登不上了,能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>
            噜噜噜91成人网| 在线亚洲高清视频| 亚洲午夜精品在线| 午夜伦欧美伦电影理论片| 在线精品视频免费观看| 在线不卡亚洲| 亚洲精品系列| 99re8这里有精品热视频免费| 亚洲国产综合视频在线观看| 亚洲精美视频| 亚洲香蕉网站| 久久免费99精品久久久久久| 欧美成人激情视频免费观看| 亚洲欧洲综合另类| 99日韩精品| 欧美一区二区在线观看| 狂野欧美一区| 久久精品99国产精品| 亚洲视频一区| 欧美一区二区三区视频在线 | 一区二区免费看| 亚洲专区一区| 欧美激情视频一区二区三区免费| 国产精品亚洲综合天堂夜夜| 亚洲国产高清一区| 亚洲欧美中文日韩在线| 欧美国产第一页| 午夜欧美视频| 欧美日韩第一区| 在线成人性视频| 欧美一二三视频| 亚洲精品中文字幕有码专区| 久久精品视频va| 国产精品麻豆va在线播放| 亚洲人妖在线| 久久夜色精品国产欧美乱极品| 日韩视频欧美视频| 久久综合色播五月| 国产亚洲制服色| 欧美在线免费一级片| 一区二区三区回区在观看免费视频| 国产精品国产三级国产专播精品人 | 欧美在线视频a| 欧美亚一区二区| 日韩网站在线看片你懂的| 久久在线91| 久久久91精品国产一区二区三区| 欧美日韩综合另类| 一区二区日韩免费看| 欧美电影资源| 乱中年女人伦av一区二区| 精久久久久久| 免费欧美高清视频| 老司机67194精品线观看| 狠狠久久综合婷婷不卡| 久久精品人人做人人爽| 欧美一级电影久久| 国产一区久久| 男女精品网站| 欧美大胆人体视频| 亚洲精品影院在线观看| 亚洲激情视频网| 欧美美女日韩| 亚洲自拍偷拍网址| 亚洲一区综合| 狠狠久久综合婷婷不卡| 欧美成人精品在线| 女主播福利一区| 亚洲看片网站| 一本色道久久综合亚洲精品高清| 欧美亚州在线观看| 欧美在线亚洲一区| 久久久久久久91| 亚洲激情偷拍| 亚洲国产成人精品视频| 欧美激情女人20p| 亚洲图片欧洲图片av| 亚洲欧美日韩在线一区| 国模私拍一区二区三区| 欧美激情一区二区在线 | 亚洲制服av| 亚洲欧美日韩在线| 在线播放日韩| 日韩视频在线一区二区三区| 国产精品久久久久永久免费观看 | 亚洲毛片av在线| 一本色道久久综合狠狠躁篇怎么玩| 国产欧美精品国产国产专区| 欧美aaa级| 国产精品久久综合| 久久婷婷av| 国产精品xxxxx| 久久夜色精品| 欧美日韩一区二区在线观看| 亚洲欧美日韩国产中文在线| 在线观看欧美成人| 欧美大片va欧美在线播放| 久久综合中文字幕| 亚洲午夜电影| 久久国内精品自在自线400部| 亚洲精品之草原avav久久| 亚洲午夜精品久久久久久浪潮| 国语自产在线不卡| 一区二区动漫| 亚洲国产综合在线看不卡| 亚洲图片在线观看| 亚洲精品一区二区三| 亚洲欧美日韩国产另类专区| 亚洲精品一区二区在线| 午夜精品亚洲| 亚洲午夜小视频| 欧美18av| 久久久综合香蕉尹人综合网| 欧美日韩中文在线| 91久久久精品| 亚洲国产精品小视频| 亚洲欧美日韩国产一区二区| 日韩午夜av| 麻豆国产精品777777在线| 久久狠狠婷婷| 欧美午夜电影网| 亚洲国产一区二区在线| 狠狠色狠狠色综合系列| 性做久久久久久| 午夜久久电影网| 国产精品久久久久aaaa樱花| 亚洲日本欧美天堂| 亚洲美女黄色| 欧美激情精品久久久久久蜜臀| 久久在线免费| 伊人久久大香线| 久久久久久尹人网香蕉| 久久久久久婷| 红桃视频欧美| 久久蜜桃精品| 欧美国产一区二区在线观看| 亚洲风情亚aⅴ在线发布| 美女精品网站| 最新成人av网站| 亚洲已满18点击进入久久| 欧美体内she精视频在线观看| 99精品国产99久久久久久福利| 中文在线一区| 国产精品国产福利国产秒拍| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美伊人久久| 国产欧美丝祙| 先锋影音国产精品| 久久青草福利网站| 免费观看在线综合| 久久资源av| 亚洲第一精品夜夜躁人人躁| 亚洲国产高清一区| 免费影视亚洲| 亚洲精品久久久一区二区三区| 亚洲精选视频免费看| 欧美视频国产精品| 性做久久久久久免费观看欧美| 久久国产手机看片| 亚洲国产天堂久久综合| 欧美新色视频| 久久久久久久久久码影片| 欧美福利电影网| 亚洲欧美国产毛片在线| 国产一区二区三区在线免费观看 | 久久久久久亚洲精品中文字幕| 久久综合网色—综合色88| 亚洲日本中文字幕免费在线不卡| 欧美日韩hd| 久久久久www| 亚洲美女中文字幕| 久久久www免费人成黑人精品| 亚洲国产精品成人精品| 国产精品都在这里| 老司机67194精品线观看| 一本色道久久加勒比88综合| 久久久综合视频| 亚洲一区二区三区四区五区黄 | 欧美一二三区精品| 亚洲欧洲中文日韩久久av乱码| 香蕉尹人综合在线观看| 亚洲激精日韩激精欧美精品| 国产精品女同互慰在线看| 久久综合久久综合这里只有精品 | 国产精品wwwwww| 久久久久这里只有精品| 宅男噜噜噜66一区二区| 欧美国产激情| 久久国产黑丝| 一本色道久久88精品综合| 黄色av成人| 国产精品久久久久国产a级| 欧美成人久久| 久久久91精品国产一区二区三区| av不卡在线看| 亚洲国产欧美日韩精品| 老鸭窝毛片一区二区三区| 欧美日韩精品一区二区| 亚洲女同精品视频| 亚洲一区二区三区午夜|