Q:我想監視Linux系統的內存使用狀況,在Linux下有哪些視圖或者命令行工具可用呢? linux
在作Linux系統優化的時候,物理內存是其中最重要的一方面。天然的,Linux也提供了很是多的方法來監控寶貴的內存資源的使用狀況。下面的清單詳細的列出了Linux系統下經過視圖工具或命令行來查看內存使用狀況的各類方法。 網絡
查看RAM使用狀況最簡單的方法是經過/proc/meminfo。這個動態更新的虛擬文件其實是許多其餘內存相關工具(如:free / ps / top)等的組合顯示。/proc/meminfo列出了全部你想了解的內存的使用狀況。進程的內存使用信息也能夠經過/proc/<pid>/statm 和 /proc/<pid>/status 來查看。 工具
1 測試 |
$ cat /proc/meminfo 優化 |
atop命令是一個終端環境的監控命令。它顯示的是各類系統資源(CPU, memory, network, I/O, kernel)的綜合,而且在高負載的狀況下進行了彩色標註。 spa
1 命令行 |
$ sudo atop orm |
free命令是一個快速查看內存使用狀況的方法,它是對 /proc/meminfo 收集到的信息的一個概述。 排序
1 進程 |
$ free -h |
GNOME System Monitor 是一個顯示最近一段時間內的CPU、內存、交換區及網絡的使用狀況的視圖工具。它還提供了一種查看CPU及內存使用狀況的方法。
1 |
$ gnome-system-monitor |
htop命令顯示了每一個進程的內存實時使用率。它提供了全部進程的常駐內存大小、程序總內存大小、共享庫大小等的報告。列表能夠水平及垂直滾動。
1 |
$ htop |
功能同 4 中介紹的GENOME版本。
1 |
$ ksysguard |
memstat是一個有效識別executable(s), process(es) and shared libraries使用虛擬內存狀況的命令。給定一個進程ID,memstat能夠列出這個進程相關的可執行文件、數據和共享庫。
1 |
$ memstat -p <PID> |
nmon是一個基於ncurses的系統基準測試工具,它能夠監控CPU、內存、I/O、文件系統及網絡資源等的互動模式。對於內存的使用,它能夠實時的顯示 總/剩餘內存、交換空間等信息。
1 |
$ nmon |
ps命令能夠實時的顯示各個進程的內存使用狀況。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進行排序:
1 |
$ ps aux --sort -rss |
smem命令容許你統計基於/proc信息的不一樣進程和用戶的內存使用狀況。內存使用狀況的分析能夠導出圖表(如條形圖和餅圖)。
1 |
$ sudo smem --pie name -c "pss" |
top命令提供了實時的運行中的程序的資源使用統計。你能夠根據內存的使用和大小來進行排序。
1 |
$ top |
vmstat命令顯示實時的和平均的統計,覆蓋CPU、內存、I/O等內容。例如內存狀況,不只顯示物理內存,也統計虛擬內存。
1 |
$ vmstat -s |