91精品免费久久久久久久久_亚洲毛片免费观看_99免费在线视频_老司机在线免费视频

广州 「切換城市」 培訓(xùn)家旗下培訓(xùn)平臺
手機版
網(wǎng)站導(dǎo)航

記一次內(nèi)存占用問題的調(diào)查過程

2020.02.21

發(fā)布者:廣州小碼王教育

  最近在維護一臺CentOS服務(wù)器的時候,發(fā)現(xiàn)內(nèi)存無端"損失"了許多,free和ps統(tǒng)計的結(jié)果相差十幾個G,搞的我一度又以為遇到靈異事件了,后來Google了許久才搞明白,特此記錄一下,以供日后查詢。
  雖然天天都在用Linux系統(tǒng)辦公,其實對它的了解也不過爾爾。畢業(yè)幾年才邁入"知道自己不知道"的境界,我覺得自己絲毫沒有愧對萬年吊車尾這個稱號 :(
  同事說有一臺服務(wù)器的內(nèi)存用光了,我連上去用free看了下,確實有點怪。

$ free -g
             total       used       free     shared    buffers     cached
Mem:            15         15          0          0          2          0
/+ buffers/cache:         12          2
Swap:           17          0         17

  這臺服務(wù)器有16G內(nèi)存,但是結(jié)果顯示除了2G左右的文件Buffer緩存外,其余十幾G都被確確實實的用光了。(free按1024進制計算,總內(nèi)存可能比實際偏小)
  這里大概介紹下free結(jié)果的含義:

/totalusedfreesharedbufferscached
Mem總物理內(nèi)存當(dāng)前使用的內(nèi)存(包括slab+buffers+cached)完全沒有使用的內(nèi)存進程間共享的內(nèi)存緩存文件的元數(shù)據(jù)1緩存文件的具體內(nèi)容1
/+ buffers/cache當(dāng)前使用的內(nèi)存(不包括buffers+cached,但包括slab)未使用和緩存的內(nèi)存(free+buffers+cached)
Swap總的交換空間已使用的交換空間未使用的交換空間

  然后top看了下,沒有特別吃內(nèi)存的程序。用ps大概統(tǒng)計下所有程序占用的總內(nèi)存:

$ ps aux | awk '{mem += $6} END {print mem/1024/1024}'
0.595089

  結(jié)果顯示所有進程占用的內(nèi)存還不到1G,實際上,因為free, ps的統(tǒng)計方式的差別和Copy-on-write和Shared libraries等內(nèi)存優(yōu)化機制的存在,這兩者的統(tǒng)計結(jié)果通常是不一樣的。但是一般情況下**不會相差十幾個G,肯定是有什么隱藏的問題,Google了許久后發(fā)現(xiàn),free沒有專門統(tǒng)計另一項緩存: Slab。
  Slab Allocation是Linux 2.2之后引入的一個內(nèi)存管理機制,專門用于緩存內(nèi)核的數(shù)據(jù)對象,可以理解為一個內(nèi)核專用的對象池,可以提高系統(tǒng)性能并減少內(nèi)存碎片。(Linux 2.6.23之后,SLUB成為了默認(rèn)的allocator。)
  查看Slab緩存

$ cat /proc/meminfo

其中,Slab相關(guān)的數(shù)據(jù)為

Slab:             154212 kB
SReclaimable:      87980 kB
SUnreclaim:        66232 kB

SReclaimable(Linux 2.6.19+)都是clean的緩存,隨時可以釋放。回到之前的內(nèi)存問題,我查了下那臺服務(wù)器上Slab占用的內(nèi)存:

$ cat /proc/meminfo | grep Slab
Slab:         12777668 kB

  12G的Slab緩存,有意思的是free把Slab緩存統(tǒng)計到了used memory中,這就是之前那個問題的癥結(jié)所在了。
  另外,還可以查看/proc/slabinfo(或使用slabtop命令)來查看Slab緩存的具體使用情況。結(jié)果發(fā)現(xiàn),ext3_inode_cache和dentry_cache占用了絕大部分內(nèi)存。
  考慮到這臺服務(wù)器會頻繁地用rsync同步大量的文件,這個結(jié)果也并不意外。
  先說明一下,如果問題僅僅是Slab占用了太多的內(nèi)存(SReclaimable),那么通常不需要太操心,因為這根本不是個問題(如果是 SUnreclaim太多且不斷增長,那么很有可能是內(nèi)核有bug)。但是,如果是因為Slab占用內(nèi)存太多而引起了其他的問題,建議繼續(xù)閱讀。
  清除Slab可回收緩存
  通過/proc/sys/vm/drop_caches這個配置項,我們可以手動清除指定的可回收緩存(SReclaimable)2。

echo 2 > /proc/sys/vm/drop_caches

  上面的命令會主動釋放Slab中clean的緩存(包括inode和dentry的緩存),然后再free -g一下,未使用的內(nèi)存陡增了十幾個G。。。
  需要注意的是,手動清除緩存可能會在一段時間內(nèi)降低系統(tǒng)性能。原則上不推薦這么做,因為如果有需要,系統(tǒng)會自動釋放出內(nèi)存供其他程序使用。
  另外,手動清除Slab緩存是一個治標(biāo)不治本的辦法。因為問題不在Slab,而在于我們那個會引起Slab緩存飆漲的進程(我這里應(yīng)該是 rsync)。實際操作的時候發(fā)現(xiàn),清除緩存一段時間后,Slab緩存很快又會“反彈”回去。如果需要治本,要么搞定問題進程,要么修改系統(tǒng)配置。
  調(diào)整系統(tǒng)vm配置
  風(fēng)險預(yù)警: 調(diào)整以下系統(tǒng)配置可能會對系統(tǒng)性能造成負面影響,請仔細測試并謹(jǐn)慎操作。
  /etc/sysctl.conf里有幾個對內(nèi)存管理影響比較大的配置,以下配置項的文檔見vm.txt。
  vm.vfs_cache_pressure
  系統(tǒng)在進行內(nèi)存回收時,會先回收page cache, inode cache, dentry cache和swap cache。vfs_cache_pressure越大,每次回收時,inode cache和dentry cache所占比例越大3。
  vfs_cache_pressure默認(rèn)是100,值越大inode cache和dentry cache的回收速度會越快,越小則回收越慢,為0的時候完全不回收(OOM!)。


  圖片取自The Linux Kernel's VFS Layer
  vm.min_free_kbytes
  系統(tǒng)的"保留內(nèi)存"的大小,"保留內(nèi)存"用于低內(nèi)存狀態(tài)下的"atomic memory allocation requests"(eg. kmalloc + GFP_ATOMIC),該參數(shù)也被用于計算開始內(nèi)存回收的閥值,默認(rèn)在開機的時候根據(jù)當(dāng)前的內(nèi)存計算所得,越大則表示系統(tǒng)會越早開始內(nèi)存回收。
  min_free_kbytes過大可能會導(dǎo)致OOM,太小可能會導(dǎo)致系統(tǒng)出現(xiàn)死鎖等問題。
  vm.swappiness
  該配置用于控制系統(tǒng)將內(nèi)存swap out到交換空間的積極性,取值范圍是[0, 100]。swappiness越大,系統(tǒng)的交換積極性越高,默認(rèn)是60,如果為0則不會進行交換。
  man proc
  The Linux Kernel's VFS Layer
  The VFS in Linux Kernel V2.4
  openSUSE: System Analysis and Tuning Guide, Chapter 15. Tuning the Memory Management Subsystem
  Red Hat Enterprise Linux, 5.5 Tuning Virtual Memory
  Odd behavior
  Wikipedia:Slab allocation
  Linux System IO Monitoring
  Paging
  Understanding the Linux Virtual Memory Manager
  Understanding the Linux Kernel, 3rd Edition
  1 2
  Red Hat Enterprise Linux,5.1 Checking the Memory Usage,引用于2014-12-12。
  Linux kernel documentation, sysctl#vm,引用于2014-12-12。
  @TODO: 需要查看相關(guān)內(nèi)核代碼來確認(rèn),不過看vm.txt里的描述應(yīng)該是這個意思。

上一篇:早教那點小事 下一篇:開源分布式存儲之我見

推薦機構(gòu)

熱門課程

廣州小碼王教育推薦

在這里,廣州市小碼王少兒編程為您提供5個優(yōu)質(zhì)課程,覆蓋少兒科技培訓(xùn)、少兒編程培訓(xùn)、青少年編程培訓(xùn)等方面的課程信息,在這里您可以查詢到課程報價,學(xué)校位置,電話、開課時間等選課信息,網(wǎng)上預(yù)訂廣州市小碼王少兒編程免費試聽課程,還可以體驗不可思議低價驚喜。

本站展示的所有信息內(nèi)容系由機構(gòu)或個人用戶發(fā)布,可能存在發(fā)布者所發(fā)布的信息,并未獲得品牌所有人有效授權(quán)。本平臺會加強審核,但無法完全排除差錯或疏漏。鄭重聲明:本平臺僅為免費注冊用戶提供免費的信息發(fā)布渠道,但不對其發(fā)布信息的真實性、準(zhǔn)確性和合法性負責(zé),對此也不承擔(dān)任何法律責(zé)任。對于從本網(wǎng)站或本網(wǎng)站的任何有關(guān)服務(wù)所獲得的資訊、內(nèi)容或廣告,您接受或信賴任何信息所產(chǎn)生之風(fēng)險應(yīng)自行承擔(dān),本網(wǎng)對任何使用或提供本網(wǎng)站信息的商業(yè)活動及其風(fēng)險不承擔(dān)任何責(zé)任。,如果侵犯,請及時通知我們,發(fā)送郵件至15610150293@126.com本網(wǎng)站將在第一時間及時刪除。

91精品免费久久久久久久久_亚洲毛片免费观看_99免费在线视频_老司机在线免费视频

    <label id="e3rhc"><meter id="e3rhc"><bdo id="e3rhc"></bdo></meter></label>
    1. <label id="e3rhc"><meter id="e3rhc"></meter></label>

      <rt id="e3rhc"><optgroup id="e3rhc"><strike id="e3rhc"></strike></optgroup></rt>
      <label id="e3rhc"><meter id="e3rhc"></meter></label>
    2. 亚洲成人一区在线| 欧美精品一区在线观看| 5858s免费视频成人| 亚洲成人免费视频| 欧美精品久久久久久久久老牛影院 | 奇米色一区二区三区四区| 欧美理论片在线| 精品一区二区精品| 久久精品视频在线免费观看| av影院午夜一区| 亚洲国产欧美在线| 精品国产乱码久久久久久免费| 国产精品99久久久| 亚洲精品中文字幕乱码三区| 欧美日韩1234| 久久狠狠亚洲综合| 亚洲午夜激情网站| 欧美一区二区三区日韩| 成人性视频网站| 天天操天天色综合| 欧美xxx久久| 欧美精选一区二区| 国产福利一区在线| 欧美成人伊人久久综合网| 国产一二精品视频| 夜夜嗨av一区二区三区网页| 久久久一区二区三区捆绑**| 在线观看三级视频欧美| 国产精品白丝av| 日韩精品国产精品| 亚洲影视在线观看| 欧美韩国日本一区| 日韩欧美精品在线视频| 欧美在线观看视频在线| 成人一区二区在线观看| 蜜臀久久99精品久久久画质超高清 | 国产一区二区三区观看| 亚洲成av人**亚洲成av**| 国产精品欧美精品| 久久久久久免费| 日韩欧美自拍偷拍| 欧美精品一二三区| 欧美体内she精高潮| 97久久精品人人澡人人爽| 国产专区综合网| 精品一区二区三区蜜桃| 日本亚洲欧美天堂免费| 午夜激情久久久| 亚洲国产va精品久久久不卡综合| 中文在线一区二区| 亚洲国产高清不卡| 国产婷婷色一区二区三区在线| 日韩你懂的电影在线观看| 91精品在线观看入口| 欧美美女黄视频| 欧美另类z0zxhd电影| 欧美日韩国产乱码电影| 欧美日韩精品一区二区| 欧美日高清视频| 日韩一级高清毛片| 久久蜜臀中文字幕| 中文字幕欧美日韩一区| 中日韩av电影| 亚洲人亚洲人成电影网站色| 中文字幕在线观看一区二区| 亚洲天堂成人网| 亚洲午夜电影在线观看| 日本aⅴ精品一区二区三区 | 中文字幕欧美一区| 亚洲天堂免费在线观看视频| 亚洲免费伊人电影| 五月综合激情日本mⅴ| 日日摸夜夜添夜夜添精品视频| 秋霞午夜鲁丝一区二区老狼| 久久99国产精品成人| 国产成人精品亚洲777人妖| 9人人澡人人爽人人精品| 91久久精品一区二区二区| 欧美三级三级三级| 精品国产伦一区二区三区观看方式| 亚洲精品一区二区三区影院| 欧美国产成人在线| 亚洲国产日韩a在线播放性色| 日本成人在线一区| 国产精品18久久久久久久久 | 久久99日本精品| 成人av在线网| 欧美日韩国产精品自在自线| 日韩亚洲欧美中文三级| 亚洲国产精品av| 日韩国产欧美三级| 成人av在线播放网站| 91精品国产一区二区| 国产女同性恋一区二区| 亚洲国产一二三| 国产aⅴ综合色| 欧美揉bbbbb揉bbbbb| 国产日本一区二区| 日韩1区2区3区| 色视频成人在线观看免| 精品99一区二区| 午夜精品一区二区三区免费视频 | 99精品国产99久久久久久白柏| 欧美日韩视频在线一区二区| 国产亚洲欧洲997久久综合| 亚洲免费电影在线| 国内精品免费**视频| 欧美日韩精品一区二区三区蜜桃| 国产丝袜在线精品| 三级欧美在线一区| 在线精品视频一区二区| 国产精品美女久久久久久久网站| 久久国产日韩欧美精品| 欧美日韩在线直播| 一区二区三区精密机械公司| 国产91丝袜在线播放九色| 日韩三级视频在线观看| 亚洲综合免费观看高清完整版| 国产suv精品一区二区6| 337p粉嫩大胆噜噜噜噜噜91av| 三级影片在线观看欧美日韩一区二区 | 欧美自拍丝袜亚洲| 国产精品国产三级国产有无不卡 | 亚洲综合丝袜美腿| 床上的激情91.| 国产欧美日本一区视频| 国产综合久久久久久久久久久久| 91精品在线免费| 日韩精品一卡二卡三卡四卡无卡| 欧美性受xxxx黑人xyx| 亚洲视频香蕉人妖| 91农村精品一区二区在线| 中文字幕一区视频| 91久久一区二区| 亚洲国产精品久久艾草纯爱| 91黄色免费看| 午夜精品久久久久久不卡8050| 欧美亚洲国产一区在线观看网站| 亚洲免费高清视频在线| 欧美亚洲免费在线一区| 性感美女极品91精品| 欧美一级视频精品观看| 精品在线免费视频| 久久精品人人做人人爽人人| 国产成人日日夜夜| 国产精品国产三级国产三级人妇| 91天堂素人约啪| 午夜精品福利久久久| 精品99999| 91蜜桃婷婷狠狠久久综合9色| 亚洲综合一二区| 日韩三级视频在线看| 狠狠狠色丁香婷婷综合久久五月| 久久久噜噜噜久久人人看| 成人av免费在线观看| 亚洲午夜免费视频| 欧美tickling网站挠脚心| 国产成人精品免费一区二区| 亚洲另类在线制服丝袜| 欧美一级爆毛片| 国产成人自拍在线| 亚洲国产乱码最新视频| 精品国产一区二区亚洲人成毛片| 成人黄色一级视频| 日韩中文字幕1| 欧美激情在线一区二区三区| 欧美日韩午夜影院| 粉嫩一区二区三区性色av| 亚洲一卡二卡三卡四卡无卡久久| 日韩视频一区在线观看| 北岛玲一区二区三区四区| 亚洲成av人片一区二区三区| 中文字幕 久热精品 视频在线| 欧美美女一区二区在线观看| 成人午夜视频在线观看| 亚洲mv在线观看| 亚洲国产高清在线观看视频| 欧美丰满少妇xxxbbb| 丁香婷婷综合激情五月色| 日韩精品一卡二卡三卡四卡无卡 | 精品国产污污免费网站入口 | 欧美男同性恋视频网站| 国产高清精品网站| 秋霞影院一区二区| 亚洲午夜免费视频| 亚洲欧美日韩人成在线播放| 久久综合色婷婷| 91精品国产全国免费观看 | 久久亚洲春色中文字幕久久久| 在线视频综合导航| 粗大黑人巨茎大战欧美成人| 精品一区二区综合| 日韩精品91亚洲二区在线观看| 亚洲精品精品亚洲| 日韩美女视频19| 中文在线免费一区三区高中清不卡| 日韩色视频在线观看| 91精品久久久久久久久99蜜臂| 91麻豆免费看片| 91在线播放网址|