*以下內(nèi)容為本人的學習筆記,如需要轉(zhuǎn)載,請聲明原文鏈接 微信公眾號「ENG八戒」https://mp.weixin.qq.com/s/27UaVm5_FMhCnxB88pc0QA
在運行 Linux 系統(tǒng)的過程中為了讓電腦或者服務器以最佳水平運行,常常需要監(jiān)控內(nèi)存統(tǒng)計信息。
那么今天我們就來看看有哪些方法可以訪問所有相關(guān)信息并幫助管理員監(jiān)控內(nèi)存統(tǒng)計信息。
查看或者獲取 Linux 中的內(nèi)存使用情況既可以通過命令的方式,也可以通過桌面端的GUI程序查看。
以下的過程,所有命令和結(jié)果都是使用 Linux 發(fā)行版 Ubuntu 18.04。
GUI 查看
如果你使用的環(huán)境是帶有圖形界面的 Linux 版本,那么必定是支持使用圖形界面進行服務器管理的。那么,內(nèi)存使用情況的可視化會使得某些數(shù)據(jù)集更加清晰自然。
如何訪問系統(tǒng)監(jiān)視器:
- 導航到顯示應用程序。
- 在搜索欄中輸入 System Monitor 并訪問該應用程序。
- 選擇資源選項卡。
- 顯示實時內(nèi)存消耗的圖形概覽,包括歷史信息。
命令獲取
虛擬文件 /proc/meminfo
在 linux 系統(tǒng)中,/proc/meminfo 是一個報告可用和已用內(nèi)存量的虛擬文件,它包含有關(guān)系統(tǒng)內(nèi)存使用情況以及內(nèi)核使用的緩沖區(qū)和共享內(nèi)存的實時信息。根據(jù)所討論的計算機體系結(jié)構(gòu)和操作系統(tǒng)版本,從該文件讀取的輸出可能略有不同。
輸入指令
cat /proc/meminfo
指令返回
命令 free
在命令終端中鍵入 free
數(shù)據(jù)表示已用/可用內(nèi)存和以KB為單位的交換內(nèi)存大小。
total | 總安裝內(nèi)存 |
used | 正在運行的進程當前正在使用的內(nèi)存(used= total – free – buff/cache) |
free | 未使用的內(nèi)存(free= total – used – buff/cache) |
shared | 多個進程共享的內(nèi)存 |
buffers | 作系統(tǒng)保留的內(nèi)存,在進程需要時分配為緩沖區(qū) |
cached | 存儲在 RAM 中最近使用的文件 |
buff/cache | Buffers + Cache |
available | 可用于啟動新應用程序,無需交換的內(nèi)存大小 |
和讀取 /proc/meminfo 文件相比,free 命令提供的信息較為精簡,但是它更容易理解。
為了更靈活輸出結(jié)果,free 命令可以添加多個選項標志用來格式化輸出。下表列出了 free 命令最有用的選項標志。
選項標志 | 結(jié)果 |
-b | 以 Byte 為單位輸出 |
-k | 以 KB 為單位的輸出 |
-m | 以 MB 為單位的輸出 |
-G | 以 GB 為單位輸出 |
-l | 詳細的低內(nèi)存和高內(nèi)存統(tǒng)計信息 |
-o | 舊格式(無 -/+緩沖區(qū)/緩存行) |
-t | RAM + swap |
-s | 多少秒更新一次 |
-C | 更新多少次 |
命令 vmstat
vmstat 命令是報告虛擬內(nèi)存統(tǒng)計信息的有用工具。它的返回提供有關(guān)進程、內(nèi)存、分頁、塊 IO、捕獲和 CPU 活動的一般信息。
這里列舉一下每個值的解釋,方便大家在分析結(jié)果時查閱。
進程
r:等待運行時的進程數(shù)。
b:處于不可中斷睡眠狀態(tài)的進程數(shù)。
內(nèi)存
swpd:使用的虛擬內(nèi)存大小。
free:空閑內(nèi)存大小。
buff:用作緩沖區(qū)的內(nèi)存大小。
cache:用作緩存的內(nèi)存大小。
交換區(qū)
si:從磁盤換入的內(nèi)存(/s) 。
so:交換到磁盤的內(nèi)存(/s)。
IO 塊
bi:從塊設備接收到的塊(塊/s)。
bo:發(fā)送到塊設備的塊(塊/s)。
系統(tǒng)
in:每秒中斷次數(shù),包括時鐘。
cs:每秒上下文切換的次數(shù)。
CPU – 下面都是占總 CPU 時間的百分比。
us:運行非內(nèi)核代碼所花費的時間(用戶時間,包括nice time)
sy:運行內(nèi)核代碼所花費的時間(系統(tǒng)時間)
id:空閑時間,在 Linux 2.5.41 之前,這包括 IO 等待時間。
wa:等待IO所花費的時間,在 Linux 2.5.41 之前,包含在 idle 中。
st:從虛擬機竊取的時間,在 Linux 2.6.11 之前,未知。
命令 top
top 命令可用于檢查每個進程的內(nèi)存和 CPU 使用情況等。包含有以下信息:
正常運行時間
平均負荷
正在運行的任務數(shù)
登錄用戶數(shù)
CPU 數(shù)量/CPU 利用率
內(nèi)存/交換區(qū)的系統(tǒng)進程
top 命令輸入后,數(shù)據(jù)會不斷更新,這樣你可以實時跟蹤進程狀況。
通過 top 命令,除了看到基本的內(nèi)存信息外,還可以通過有限的交互界面和進程互操作。輸入 top 命令時還可以使用命令行選項來操縱和配置操作。
如果你需要了解關(guān)于 top 命令的所有可用選項的完整信息,可以通過 Linux 中的 man top 命令查看。
命令 htop
命令 htop 與命令 top 類似。但是,命令 htop 的真正優(yōu)勢在于其用戶友好的操作環(huán)境和更強大的控件。
命令 htop 輸出包含顏色高亮,為進程提供完整的命令行,以及垂直和水平滾動的功能。
對照上圖
- 頂部區(qū)域提供摘要信息并包含圖形儀表和匯總信息統(tǒng)計。
- 接下來的部分按進程組織了詳細數(shù)據(jù),這樣您就可以輕松地對單個進程執(zhí)行操作,支持鼠標直接點擊選中進程。
- 屏幕底部列出的快捷方式將使您能夠快速操作和配置進程,而省去輸入特定指令。
命令 htop 在這個發(fā)行版里其實沒有默認安裝,如果發(fā)現(xiàn)指令不存在,可以通過下面的指令安裝
sudo apt install htop
學習可以等,時間不等人!文章來源:http://www.zghlxwxcb.cn/news/detail-418822.html
關(guān)注我,帶你學習編程領(lǐng)域更多核心技能!文章來源地址http://www.zghlxwxcb.cn/news/detail-418822.html
到了這里,關(guān)于Linux 查看內(nèi)存使用情況的幾種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!