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