1. 程式人生 > >這裡應該有一個很正經的標題的~~~,但是,怎麼沒了呢~~~~

這裡應該有一個很正經的標題的~~~,但是,怎麼沒了呢~~~~

Linux 命令:

ps -aux | sort -k6nr | head -n 100 | awk '{sum+=$6} END {print sum}'

解釋:使用ps 將程序列出,並使用sort 進行排序,-k 指定排序的位置,這裡是第6個域,nr 是按照數值大小反向排序,

後面的head是對100個進行計算, 最後使用awk 進行處理,對第六列的值進行相加,最後統一輸出,得到前100個程式的記憶體使用量

一般常用的是free

free -m
             total       used       free     shared    buffers     cached
Mem:          7970       7803        167          0         28       2194
-/+ buffers/cache:       5580       2390
Swap:          511        487         24

解釋: free 是對記憶體進行統計檢視的命令,-m引數,是轉換位以M為單位,

上面各個欄位分別表示:

        total: 總實體記憶體           used: 已使用的實體記憶體(通常指程式使用的記憶體)        shared:(各個程式共享記憶體)        

        buffer: 只快取,主要是目錄方面    cached:系統快取,開啟檔案的數量有關,主要用於提高檔案讀寫速度

        說明:其中used使用的記憶體是包括cached的,也就是說程式真實使用的記憶體是used - cached,在需要的時候,cached 就會自動釋放,變為可用。

更加詳細的記憶體使用,linux命令:

$cat /proc/meminfo
MemTotal:        8162240 kB
MemFree:          169352 kB
MemAvailable:    2489860 kB
Buffers:           31932 kB
Cached:          2235540 kB
SwapCached:         3516 kB
Active:          5588576 kB
Inactive:        2106312 kB
Active(anon):    5401856 kB
Inactive(anon):    25620 kB
Active(file):     186720 kB
Inactive(file):  2080692 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        524284 kB
SwapFree:          25572 kB
Dirty:               296 kB
Writeback:             0 kB
AnonPages:       5424008 kB
Mapped:            39836 kB
Shmem:                16 kB
Slab:             187364 kB
SReclaimable:     155748 kB
SUnreclaim:        31616 kB
KernelStack:        8352 kB
PageTables:        27088 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4605404 kB
Committed_AS:    7188828 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
DirectMap4k:       16248 kB
DirectMap2M:     3129344 kB
DirectMap1G:     7340032 kB