Linux記憶體高,觸發oom-killer問題解決

來源:互聯網
上載者:User

Linux記憶體高,觸發oom-killer問題解決 1. 首先確認該系統的版本是32位 #uname -a Linux alarm 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i3862. 我們瞭解一下32位Linux的記憶體管理結構 # DMA: 0x00000000 -  0x00999999 (0 - 16 MB) # LowMem: 0x01000000 - 0x037999999 (16 - 896 MB) - size: 880MB # HighMem: 0x038000000 - <硬體特定>    核心使用low memory來跟蹤所有的記憶體配置,這樣的話一個16GB記憶體的系統比一個4GB記憶體的系統,需要消耗更多的low memory,當low memory耗盡,即便系統仍然有剩餘記憶體,仍然會觸發oom-killer。在2.6核心的表現是,殺掉佔用記憶體最高的進程,所以會導致sshd等進程被殺掉,造成系統無法登入。3. 如何查看lowMem -bash-3.00# free -lm             total       used       free     shared    buffers     cachedMem:          2026       1973         52          0         36       1303Low:           874        823         51High:         1151       1150          1-/+ buffers/cache:        633       1392Swap:         3067        142       2924 4. 所以我們需要保護LowMem,在2.6核心引入了lower_zone_protection,這將讓核心願意保護low memory,從而在分配記憶體時優先考慮從high memory分配。 -bash-3.00# cat /proc/sys/vm/lower_zone_protection 0 -bash-3.00#echo 400 > /proc/sys/vm/lower_zone_protection 另一起問題是24G記憶體的系統,空閑記憶體已經不到50M1. 確認該系統的版本是64位 # uname -a Linux gxgd-nms-app 2.6.18-194.el5xen #1 SMP Tue Mar 16 22:01:26 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux2. 用ps查看各進程的記憶體,大約就佔用了4G, 絕大部分記憶體都是被Page Cache所佔用。Linux核心的策略是最大程度的利用記憶體cache 檔案系統的資料,提高IO速度,雖然在機制上是有進程需要更大的記憶體時,會自動釋放Page Cache,但不排除釋放不及時或者釋放的記憶體由於存在片段不滿足進程的記憶體需求。   所以我們需要一個方法,能夠限定PageCache的上限。Linux 提供了這樣一個參數min_free_kbytes,用來確定系統開始回收記憶體的閥值,控制系統的空閑記憶體。值越高,核心越早開始回收記憶體,空閑記憶體越高。 [root@zyite-app01 root]# cat /proc/sys/vm/min_free_kbytes 163840 echo 963840 > /proc/sys/vm/min_free_kbytes其他可選的臨時解決方案:關閉oom-killercat /proc/sys/vm/oom-killecho "0" > /proc/sys/vm/oom-killvi /etc/sysctl.confvm.oom-kill = 02. 清空cache (可選)echo 1 > /proc/sys/vm/drop_caches 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.