[root@scs-2 tmp]# free
total used free shared buffers cached
mem: 3266180 3250004 16176 0 110652 2668236
-/+ buffers/cache: 471116 2795064
swap: 2048276 80160 1968116
下面是對這些數值的解釋:
total:總計物理記憶體的大小。
used:已使用多大。
free:可用有多少。
shared:多個程序共享的記憶體總額。
buffers/cached:磁碟快取的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解釋了。
第三行所指的是從應用程式角度來看,對於應用程式來說,buffers/cached 是等於可用的,因為buffer/cached是為了提高檔案讀取的效能,當應用程式需在用到記憶體的時候,buffer/cached會很快地被**。
所以從應用程式的角度來說,可用記憶體=系統free memory+buffers+cached。
如上例:
2795064=16176+110652+2668236
接下來解釋什麼時候記憶體會被交換,以及按什麼方交換。 當可用記憶體少於額定值的時候,就會開會進行交換。
如何看額定值:
cat /proc/meminfo
[root@scs-2 tmp]# cat /proc/meminfo
memtotal: 3266180 kb
memfree: 17456 kb
buffers: 111328 kb
cached: 2664024 kb
swapcached: 0 kb
active: 467236 kb
inactive: 2644928 kb
hightotal: 0 kb
highfree: 0 kb
lowtotal: 3266180 kb
lowfree: 17456 kb
swaptotal: 2048276 kb
swapfree: 1968116 kb
dirty: 8 kb
writeback: 0 kb
slab: 112344 kb
committed_as: 535292 kb
pagetables: 2340 kb
vmalloctotal: 536870911 kb
vmallocused: 272696 kb
vmallocchunk: 536598175 kb
hugepages_total: 0
hugepages_free: 0
hugepagesize: 2048 kb
用free -m檢視的結果:
[root@scs-2 tmp]# free -m
total used free shared buffers cached
mem: 3189 3173 16 0 107 2605
-/+ buffers/cache: 460 2729
swap: 2000 78 1921
檢視/proc/kcore檔案的大小(記憶體映象):
[root@scs-2 tmp]# ll -h /proc/kcore
-r——– 1 root root 4.1g jun 12 12:04 /proc/kcore
備註:占用記憶體的測量
測量乙個程序占用了多少記憶體,linux系統為我們提供了乙個很方便的方法,/proc目錄為我們提供了所有的資訊,實際上top等工具也通過這裡來獲取相應的資訊。
/proc/meminfo 機器的記憶體使用資訊
/proc/pid/maps pid為程序號,顯示當前程序所占用的虛擬位址。
/proc/pid/statm 程序所占用的記憶體
[root@localhost ~]# cat /proc/self/statm
654 57 44 0 0 334 0
輸出解釋
cpu 以及cpu0。。。的每行的每個引數意思(以第一行為例)為:
引數 解釋 /proc//status
size (pages) 任務虛擬位址空間的大小 vmsize/4
resident(pages) 應用程式正在使用的物理記憶體的大小 vmrss/4
shared(pages) 共享頁數 0
trs(pages) 程式所擁有的可執行虛擬記憶體的大小 vmexe/4
lrs(pages) 被映像到任務的虛擬記憶體空間的庫的大小 vmlib/4
drs(pages) 程式資料段和使用者態的棧的大小 (vmdata+ vmstk )4
dt(pages) 04
檢視機器可用記憶體
/proc/28248/>free
total used free shared buffers cached
mem: 1023788 926400 97388 0 134668 503688
-/+ buffers/cache: 288044 735744
swap: 1959920 89608 1870312
我們通過free命令檢視機器空閒記憶體時,會發現free的值很小。這主要是因為,在linux系統中有這麼一種思想,記憶體不用白不用,因此它盡可能的cache和buffer一些資料,以方便下次使用。但實際上這些記憶體也是可以立刻拿來使用的。
所以 空閒記憶體=free+buffers+cached=total-used
linux系統資源監控之記憶體監控隨筆
1 使用命令 sar r shell指令碼語句 memused sar r grep erage awk f 2 命令各輸出項 只介紹比較主要的幾個 3 關於free h的輸出項 mem行 第二行 是記憶體的使用情況。swap行 第三行 是交換空間的使用情況。total列顯示系統總的可用物理記憶體和...
遠端監控linux系統資訊記憶體,cpu
一 主要指令 當需要監控linux的系統執行狀態時,不免要獲取部分系統資訊如記憶體cpu等,主要指令有 1.top 用於獲取cpu等資訊,類似於windows上面的任務管理器 2.free 用於獲取記憶體資訊,包括可用記憶體等 3.df用於獲取瓷盤資訊,如瓷盤的使用空間和剩餘空間等 二 命令執行 這...
Linux 記憶體監控free top
開發者部落格 www.developsearch.com free命令 監控記憶體使用情況 free b s5 命令 將會在終端視窗中連續不斷地報告記憶體的使用情況,每5秒鐘更新一次。root linuxeye free total used free shared buffers cached m...