這裡應該有一個很正經的標題的~~~,但是,怎麼沒了呢~~~~
阿新 • • 發佈:2019-01-04
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