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