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

大龍的博客

常用鏈接

統計

最新評論

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>
            免费亚洲视频| 久久成人精品电影| 欧美日本不卡视频| 久久综合久久综合久久| 一区二区三区免费在线观看| 黄色日韩在线| 国产一区二区主播在线| 欧美激情亚洲一区| 亚洲特级片在线| 99国内精品久久| 亚洲精选在线观看| 99re在线精品| 亚洲缚视频在线观看| 模特精品在线| 亚洲精品免费在线| 午夜精品久久久久久99热| 久久久久久婷| 免费不卡中文字幕视频| 亚洲第一在线综合在线| 在线视频日韩| 久久久噜噜噜久久人人看| 欧美精品尤物在线| 国产一区二区av| 亚洲精品一区二区三区婷婷月| 中文成人激情娱乐网| 久久久久久成人| 99视频在线精品国自产拍免费观看| 午夜日韩电影| 欧美日韩亚洲另类| 亚洲黄色精品| 久久精品免视看| 99国产精品久久久久久久成人热| 欧美综合激情网| 欧美性大战久久久久| 亚洲国产电影| 久久久久久九九九九| 一区二区三区成人精品| 久久深夜福利| 国产综合色精品一区二区三区| 一区二区免费在线观看| 欧美a级一区二区| 亚洲午夜精品一区二区| 欧美大秀在线观看| 在线观看日韩专区| 久久久美女艺术照精彩视频福利播放 | 久久婷婷蜜乳一本欲蜜臀| 日韩视频永久免费| 欧美暴力喷水在线| 在线精品在线| 久久色中文字幕| 性欧美video另类hd性玩具| 欧美亚洲成人网| 一区二区欧美国产| 亚洲免费av观看| 欧美精品在线播放| 亚洲欧洲精品成人久久奇米网 | 欧美在线播放一区| 一区二区三区欧美| 国产精品久久久久久户外露出 | 亚洲日本成人| 欧美—级高清免费播放| 亚洲精品一区二区在线| 欧美福利专区| 欧美 日韩 国产一区二区在线视频 | 欧美华人在线视频| 亚洲激情电影在线| 久久尤物视频| 亚洲国产精品久久久久秋霞蜜臀 | 久久久夜精品| 欧美综合激情网| 伊甸园精品99久久久久久| 久久精品成人| 久久久夜精品| 亚洲精品国产精品国产自| 亚洲经典自拍| 国产精品久久久久久户外露出| 亚洲在线播放| 欧美亚洲综合久久| 在线播放日韩| 亚洲精品美女久久久久| 国产精品剧情在线亚洲| 久久久久久穴| 免费亚洲一区| 亚洲一二三区在线观看| 亚洲性图久久| 一区二区三区在线免费观看| 亚洲第一在线视频| 国产精品综合| 欧美成人综合网站| 欧美午夜免费电影| 久久综合网络一区二区| 欧美紧缚bdsm在线视频| 午夜老司机精品| 乱人伦精品视频在线观看| 夜夜嗨av一区二区三区网页| 亚洲免费视频一区二区| 亚洲国产电影| 亚洲综合色网站| 亚洲精品国产精品国自产观看| aa级大片欧美三级| 在线播放视频一区| 亚洲永久免费观看| 亚洲毛片网站| 久久久精品999| 欧美一级二级三级蜜桃| 欧美激情一区二区三区全黄| 欧美一级黄色录像| 欧美激情第五页| 久久久久久久久久码影片| 欧美日韩亚洲一区二区三区在线观看| 欧美在线free| 欧美日韩国产成人在线| 美国成人直播| 国产精品视频福利| 亚洲三级电影全部在线观看高清 | 国产情人节一区| 亚洲日本欧美| 亚洲国产你懂的| 先锋影音网一区二区| 一区二区三区高清不卡| 蜜桃av久久久亚洲精品| 久久久久久久久伊人| 欧美午夜片在线观看| 亚洲国产一区二区精品专区| 一区在线电影| 欧美在线视频免费播放| 欧美一区二区黄色| 欧美一区二区三区四区视频| 亚洲一级高清| 欧美日韩国产成人在线免费| 亚洲国产日韩欧美综合久久| 亚洲第一区色| 蜜臀av一级做a爰片久久| 久久久久久自在自线| 国产精品日韩一区二区三区| 99国产精品视频免费观看一公开| 亚洲三级电影在线观看| 欧美精品久久久久久久免费观看 | 欧美丰满高潮xxxx喷水动漫| 国产专区精品视频| 欧美一区二区观看视频| 久久久久国内| 亚洲成色精品| 欧美.www| 亚洲日本在线观看| 亚洲一品av免费观看| 国产精品区一区二区三| 亚洲欧美视频| 久久久久青草大香线综合精品| 国产有码一区二区| 可以免费看不卡的av网站| 亚洲国产毛片完整版 | 欧美影视一区| 欧美va亚洲va香蕉在线| 亚洲精品美女在线观看播放| 欧美精品一区二区蜜臀亚洲| 夜夜嗨av色综合久久久综合网| 亚洲女与黑人做爰| 好吊妞**欧美| 欧美日韩国产页| 午夜一区在线| 亚洲缚视频在线观看| 亚洲女同在线| 亚洲第一中文字幕| 欧美无砖砖区免费| 久久精品av麻豆的观看方式| 亚洲国产精品传媒在线观看 | 亚洲欧洲精品一区| 欧美午夜国产| 久久精品国产一区二区电影| 亚洲国产片色| 欧美亚洲视频在线观看| 在线欧美日韩| 国产精品视频一二三| 老司机精品久久| 一区二区三区高清| 欧美激情 亚洲a∨综合| 欧美一区二区三区在线看 | 韩国在线视频一区| 欧美日韩一区二区三区免费看| 香蕉尹人综合在线观看| 亚洲日本久久| 欧美电影打屁股sp| 久久成人国产| 亚洲男人的天堂在线| 亚洲三级免费观看| 在线播放不卡| 国产午夜精品视频免费不卡69堂| 一本大道久久a久久精二百| 久久色在线播放| 午夜精品亚洲一区二区三区嫩草| 91久久亚洲| 伊人成人在线视频| 国产伦精品一区二区三区高清版| 欧美—级在线免费片| 毛片基地黄久久久久久天堂| 午夜在线a亚洲v天堂网2018| 一区二区精品国产| 亚洲精品欧美在线| 激情av一区二区|