centos 內存清理
在清理前內存使用情況
free -m
用以下命令清理內存
echo 1 > /proc/sys/vm/drop_caches
清理後內存使用情況再用以下命令看看。
free –m
多出很多內存了吧。
查看內存條數命令:
dmidecode |grep -A16 "Memory Device$"
++++++++++++++++++++++++++++++++++++++++++++++++++++++
要達到釋放緩存的目的,我們首先需要了解下關鍵的配置文件/proc/sys/vm/drop_caches。這個文件中記錄了緩存釋放的參數,默認值為0,也就是不釋放緩存。他的值可以為0~3之間的任意數字,代表著不同的含義:
0 – 不釋放
1 – 釋放頁緩存
2 – 釋放dentries和inodes
3 – 釋放所有緩存
知道了參數後,我們就可以根據我們的需要,使用下面的指令來進行操作。
首先我們需要使用sync指令,將所有未寫的系統緩沖區寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。否則在釋放緩存的過程中,可能會丟失未保存的文件。
#sync
接下來,我們需要將需要的參數寫進/proc/sys/vm/drop_caches文件中,比如我們需要釋放所有緩存,就輸入下面的命令:
#echo 3 > /proc/sys/vm/drop_caches
此指令輸入後會立即生效,可以查詢現在的可用內存明顯的變多了。
要查詢當前緩存釋放的參數,可以輸入下面的指令:
#cat /proc/sys/vm/drop_caches
#sync
#echo 3 > /proc/sys/vm/drop_caches
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
查看內存使用情況(top) 排序(shift+m )
echo 3 > /proc/sys/vm/drop_caches
1.作用
top命令用來顯示執行中的程序進程,使用權限是所有用戶。
2.格式
top [-] [d delay] [q] [c] [S] [s] [i] [n]
3.主要參數
d:指定更新的間隔,以秒計算。
q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優先序執行。
c:顯示進程完整的路徑與名稱。
S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。
s:安全模式。
i:不顯示任何閑置(Idle)或無用(Zombie)的行程。
n:顯示更新的次數,完成後將會退出top。
4.說明
top命令是Linux系統管理的一個主要命令,通過它可以獲得許多信息。這裏我們結合圖1來說明它給出的信息。
top命令的顯示 (圖略)
第一行表示的項目依次為當前時間、系統運行時間、當前系統登錄用戶數目、1/5/10分鐘系統平均負載(一般來說,這個負載值應該不太可能超過 1 才對,除非您的系統很忙碌。 如果持續高於 5 的話,那麽.....仔細的看看到底是那個程序在影響整體系統吧!)。
第二行顯示的是所有啟動的進程、目前運行、掛起 (Sleeping)的和無用(Zombie)的進程。(比較需要註意的是最後的 zombie 那個數值,如果不是 0 ,嘿嘿!好好看看到底是那個 process 變成疆屍了吧?!)(stop模式:與sleep進程應區別,sleep會主動放棄cpu,而stop是被動放棄cpu ,例單步跟蹤,stop(暫停)的進程是無法自己回到運行狀態的)
第三行顯示的是目前CPU的使用情況,包括us用戶空間占用CPU百分比、sy 內核空間占用CPU百分比、ni 用戶進程空間內改變過優先級的進程占用CPU百分比(中斷處理占用)、id 空閑CPU百分比、wa 等待輸入輸出的CPU時間百分比、hi,si,st 三者的意思目錄還不清楚 :)
第四行顯示物理內存的使用情況,包括總的可以使用的內存、已用內存、空閑內存、緩沖區占用的內存。
第五行顯示交換分區使用情況,包括總的交換分區、使用的、空閑的和用於高速緩存的大小。
第六行顯示的項目最多,下面列出了詳細解釋。
PID(Process ID):進程標示號 ( 每個 process 的 ID )
USER:進程所有者的用戶名 ( 該 process 所屬的使用者 )
PR:進程的優先級別 ( Priority 的簡寫,程序的優先執行順序,越小越早被執行 )
NI:進程的優先級別數值 ( Nice 的簡寫,與 Priority 有關,也是越小越早被執行 )
VIRT:進程占用的虛擬內存值。
RES:進程占用的物理內存值。
SHR:進程使用的共享內存值。
S:進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。
%CPU:該進程占用的CPU使用率。
%MEM:該進程占用的物理內存和總內存的百分比。
TIME+:該進程啟動後占用的總的CPU時間 ( CPU 使用時間的累加 )
Command:進程啟動的啟動命令名稱,如果這一行顯示不下,進程會有一個完整的命令行。
top命令使用過程中,還可以使用一些交互的命令來完成其它參數的功能。這些命令是通過快捷鍵啟動的。
<空格>:立刻刷新。
P:根據CPU使用大小進行排序。
T:根據時間、累計時間排序。
q:退出top命令。
m:切換顯示內存信息。
t:切換顯示進程和CPU狀態信息。
c:切換顯示命令名稱和完整命令行。
M:根據使用內存大小進行排序。
W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。
可以看到,top命令是一個功能十分強大的監控系統的工具,對於系統管理員而言尤其重要。但是,它的缺點是會消耗很多系統資源。
5.應用實例
使用top命令可以監視指定用戶,缺省情況是監視所有用戶的進程。如果想查看指定用戶的情況,在終端中按“U”鍵,然後輸入用戶名,系統就會切換為指定用戶的進程運行界面,見圖2所示。
a.作用
free命令用來顯示內存的使用情況,使用權限是所有用戶。
b.格式
free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
c.主要參數
-b -k -m:分別以字節(KB、MB)為單位顯示內存使用情況。
-s delay:顯示每隔多少秒數來顯示一次內存使用情況。
-t:顯示內存總和列。
-o:不顯示緩沖區調節列。
d.應用實例
free命令是用來查看內存使用情況的主要命令。和top命令相比,它的優點是使用簡單,並且只占用很少的系統資源。通過-S參數可以使用free命令不間斷地監視有多少內存在使用,這樣可以把它當作一個方便實時監控器。
#free -b -s5
使用這個命令後終端會連續不斷地報告內存使用情況(以字節為單位),每5秒更新一次。
centos 內存清理