[教學] CentOS 吃了我的記憶體?(Cache Memory)
過去,我們都會認為 Linux 系統比 Windows 系統更節省記憶體,直到 Linux Kernel 2.6.13 升級到之後,在 vSphere Client 中總是發現 Linux 把記憶體吃的精光?其實原因在於在 Kernel 2.6.13 之後加入 drop caches 的記憶體管理機制,千萬別以為 Linux 比 Windows 佔用記憶體喔。
如果想知道目前運行的 Linux kernel 版本,你可以輸入 uname -r 查看
從 free 的顯示中可以看出,這台總共有 499 MB 的實體記憶體,使用 473MB,尚未使用 25MB。並且其中有 290MB 是用於快取(Cache)。
透過 meminfo 的資訊能夠更清楚知道實際的 memory 狀態,其實這台真實運作中的 active memory 才 68096 KB 而已呀。
說到記憶體,就當然還是要看一下 htop (top) 的資訊啦,原來這台主要運行 nginx , php-fpm 這些服務。
要釋放掉目前佔用的 cache 其實很容易,我在這直接寫成一個 Script,下次直接呼叫就好了。
[root@NGINX script]# cat drop_caches.sh #!/bin/bash # Linux 2.6.16 之後增加 drop caches 機制 # # /proc/sys/vm/drop_caches 表示目前設定 # 0 表示開啟 cache # 1 釋放 沒在使用的 cache (一般建議) # 2 釋放 dentry, inode cache # 3 = 1 + 2 (不建議) sync;sync;echo 1 > /proc/sys/vm/drop_caches sync;sync;echo 0 > /proc/sys/vm/drop_caches sync;sync; [root@NGINX script]# sh drop_caches.sh [root@NGINX script]#
運行 sh 檔後,看看記憶體被放出多少吧。
順便補一張 htop 的圖
您可以延伸閱讀這些文章:
友站鏈結
標籤
Cache CentOS Convert Image Convert Photo DISK ESX Firewall FTP Highlighter htop HTTP iftop ImageMagick iotop IPTABLES LinkWithin Linux Manager Tools Memory Network Network Setting Nginx OS PHP PHP-FPM Proftpd Security Server Service SSH Syntax VMDK VMware VMware Tools vSphere Web Windows Live Write WLW WordPress WordPress Plugin XmlRpc 資訊安全 防火牆免責聲明
本網站對於任何使用或引用本網站網頁資料,引致之損失或損害,概不負責。 本網站亦有權隨時刪除、暫停或編輯本網站所登載之各項資料,以維護本網站之權益。