Linux操作系統(tǒng)查看內存信息的命令
Linux操作系統(tǒng)的內存使用情況我們可以通過命令來知道。下面由學習啦小編為大家整理了Linux操作系統(tǒng)查看內存信息的命令的詳細介紹,希望對大家有幫助!
Linux操作系統(tǒng)查看內存信息的命令
1. /proc/meminfo查看RAM使用情況最簡單的方法是通過/proc/meminfo。這個動態(tài)更新的虛擬文件實際上是許多其他內存相關工具(如:free / ps / top)等的組合顯示。/proc/meminfo列出了所有你想了解的內存的使用情況。進程的內存使用信息也可以通過/proc/<pid>/statm 和 /proc/<pid>/status 來查看。
$ cat /proc/meminfo
2. atopatop命令是一個終端環(huán)境的監(jiān)控命令。它顯示的是各種系統(tǒng)資源(CPU, memory, network, I/O, kernel)的綜合,并且在高負載的情況下進行了彩色標注。
$ sudo atop
3. freefree命令是一個快速查看內存使用情況的方法,它是對 /proc/meminfo 收集到的信息的一個概述。
$ free -h
4. GNOME System MonitorGNOME System Monitor 是一個顯示最近一段時間內的CPU、內存、交換區(qū)及網(wǎng)絡的使用情況的視圖工具。它還提供了一種查看CPU及內存使用情況的方法。
$ gnome-system-monitor
5. htophtop命令顯示了每個進程的內存實時使用率。它提供了所有進程的常駐內存大小、程序總內存大小、共享庫大小等的報告。列表可以水平及垂直滾動。
$ htop
6. KDE System Monitor功能同 4 中介紹的GENOME版本。
$ ksysguard
7. memstatmemstat是一個有效識別executable(s), process(es) and shared libraries使用虛擬內存情況的命令。給定一個進程ID,memstat可以列出這個進程相關的可執(zhí)行文件、數(shù)據(jù)和共享庫。
$ memstat -p <PID>
8. nmonnmon是一個基于ncurses的系統(tǒng)基準測試工具,它可以監(jiān)控CPU、內存、I/O、文件系統(tǒng)及網(wǎng)絡資源等的互動模式。對于內存的使用,它可以實時的顯示 總/剩余內存、交換空間等信息。
$ nmon
9. psps命令可以實時的顯示各個進程的內存使用情況。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort”選項對進程進行排序,例如按RSS進行排序:
$ ps aux --sort -rss
10. smemsmem命令允許你統(tǒng)計基于/proc信息的不同進程和用戶的內存使用情況。內存使用情況的分析可以導出圖表(如條形圖和餅圖)。
$ sudo smem --pie name -c "pss"
11. toptop命令提供了實時的運行中的程序的資源使用統(tǒng)計。你可以根據(jù)內存的使用和大小來進行排序。
$ top
12. vmstatvmstat命令顯示實時的和平均的統(tǒng)計,覆蓋CPU、內存、I/O等內容。例如內存情況,不僅顯示物理內存,也統(tǒng)計虛擬內存。
$ vmstat -s
Linux操作系統(tǒng)內存信息的有關概念
Mem:表示物理內存統(tǒng)計
total 內存總數(shù) 8057964KB
used 已使用的內存 7852484KB
free 空閑的內存數(shù) 205480KB
shared 當前已經廢棄不用,總是0
buffers Buffer 緩存內存數(shù): 290432KB
cached Page 緩存內存數(shù):5735024KB
(存在關系: total = used + free )
-/+ buffers/cached:表示物理內存的緩存統(tǒng)計
(-buffers/cache) used內存數(shù):1827028KB (指的第一部分Mem行中的used - buffers - cached)
(+buffers/cache) free內存數(shù): 6230936KB (指的第一部分Mem行中的free + buffers + cached)
-buffers/cache反映的是被程序實實在在吃掉的內存;
+buffers/cache反映的是可以挪用的內存總數(shù);
Swap:表示硬盤上交換分區(qū)的使用情況
free參數(shù)說明
-m 以M為單位查看內存使用情況(默認為kb)
-b 以Byte為單位查看內存使用情況
-k 以KB為單位查看內存使用情況
-o 不顯示緩存調節(jié)列
-t 顯示內存總和列
-V 顯示版本信息
-s <間隔秒數(shù)> 可以在指定時間段內不簡單監(jiān)控內存的使用情況
參考資料:buffers 與 cached 的區(qū)別
對于應用程序來說,buffers/cached 是等于可用的,
因為buffer/cached是為了提高文件讀取的性能,
當應用程序需在用到內存的時候,buffer/cached會很快地被回收。
所以從應用程序的角度來說 可用內存=系統(tǒng)free memory+buffers+cached.
buffers是指用來給塊設備做的緩沖大小,
他只記錄文件系統(tǒng)的metadata以及 tracking in-flight pages.
cached是用來給文件做緩沖。
那就是說:buffers是用來存儲,目錄里面有什么內容,權限等等。
而cached直接用來記憶我們打開的文件,如果你想知道他是不是真的生效,
可以試一下,先后執(zhí)行兩次命令#man X ,可以明顯的感覺到第二次的開打的速度快很多。
記住內存是拿來用的,不是拿來看的.不像windows,無論你的真實物理內存有多少,他都要拿硬盤交換 文件來讀.
這也就是windows為什么常常提示虛擬空間不足的原因.你們想想,多無聊,在內存還有大部分 的時候,拿出一部分
硬盤空間來充當內存.硬盤怎么會快過內存.所以我們看linux,只要不用swap的交換 空間,就不用擔心自己的內存
太少.如果常常swap用很多,可能你就要考慮加物理內存了.這也是linux看 內存是否夠用的標準哦.