1. 程式人生 > >centos 內存清理

centos 內存清理

立即生效 zomb 高速緩存 ide rep mman 系統資源 推薦 說明

在清理前內存使用情況
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 內存清理