溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux如何檢查內(nèi)存使用情況

發(fā)布時(shí)間:2022-02-03 11:30:59 來源:億速云 閱讀:422 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Linux如何檢查內(nèi)存使用情況,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

檢查內(nèi)存對于系統(tǒng)管理員來說是一個(gè)非常重要的技能,Linux提供了非常多的方法來監(jiān)控寶貴的內(nèi)存資源的使用情況。

Linux如何檢查內(nèi)存使用情況

top

我想從最常用的工具開始。top 命令提供正在運(yùn)行的系統(tǒng)的實(shí)時(shí)動(dòng)態(tài)視圖,它檢查每個(gè)進(jìn)程的內(nèi)存使用情況。這非常重要,因?yàn)槟憧梢暂p松地看到同一命令的多個(gè)示例消耗不同的內(nèi)存量。雖然你無法在沒有顯示器的服務(wù)器上看到這種情況,但是你已經(jīng)注意到打開 Chrome 使你的系統(tǒng)速度變慢了。運(yùn)行 top 命令以查看 Chrome 有多個(gè)進(jìn)程在運(yùn)行(每個(gè)選項(xiàng)卡一個(gè) – 圖 1)。

Linux如何檢查內(nèi)存使用情況

圖1:top 命令中出現(xiàn)多個(gè) Chrome 進(jìn)程。

Chrome 并不是唯一顯示多個(gè)進(jìn)程的應(yīng)用。你看到圖 1 中的 Firefox 了嗎?那是 Firefox 的主進(jìn)程,而 Web Content 進(jìn)程是其打開的選項(xiàng)卡。在輸出的頂部,你將看到系統(tǒng)統(tǒng)計(jì)信息。在我的機(jī)器上(System76 Leopard Extreme),我總共有 16GB 可用 RAM,其中只有超過 10GB 的 RAM 正在使用中。然后,你可以整理該列表,查看每個(gè)進(jìn)程使用的內(nèi)存百分比。

top 最好的地方之一就是發(fā)現(xiàn)可能已經(jīng)失控的服務(wù)的進(jìn)程 ID 號(PID)。有了這些 PID,你可以對有問題的任務(wù)進(jìn)行故障排除(或 kill)。

如果你想讓 top 顯示更友好的內(nèi)存信息,使用命令 top -o %MEM,這會使 top 按進(jìn)程所用內(nèi)存對所有進(jìn)程進(jìn)行排序(圖 2)。

Linux如何檢查內(nèi)存使用情況

圖 2:在 top 命令中按使用內(nèi)存對進(jìn)程排序

top 命令還為你提供有關(guān)使用了多少交換空間的實(shí)時(shí)更新。

free

然而有時(shí)候,top 命令可能不能滿足你的需求。你可能只需要查看系統(tǒng)的可用和已用內(nèi)存。對此,Linux 還有 free 命令。free 命令顯示:

  • 可用和已使用的物理內(nèi)存總量

  • 系統(tǒng)中交換內(nèi)存的總量

  • 內(nèi)核使用的緩沖區(qū)和緩存

在終端窗口中,輸入 free 命令。它的輸出不是實(shí)時(shí)的,相反,你將獲得的是當(dāng)前空閑和已用內(nèi)存的即時(shí)快照(圖 3)。

Linux如何檢查內(nèi)存使用情況

圖 3 :free 命令的輸出簡單明了。

當(dāng)然,你可以通過添加 -m 選項(xiàng)來讓 free 顯示得更友好一點(diǎn),就像這樣:free -m。這將顯示內(nèi)存的使用情況,以 MB 為單位(圖 4)。

Linux如何檢查內(nèi)存使用情況

圖 4:free 命令以一種更易于閱讀的形式輸出。

當(dāng)然,如果你的系統(tǒng)是很新的,你將希望使用 -g 選項(xiàng)(以 GB 為單位),比如 free -g。

如果你需要知道內(nèi)存總量,你可以添加 -t 選項(xiàng),比如:free -mt。這將簡單地計(jì)算每列中的內(nèi)存總量(圖 5)。

Linux如何檢查內(nèi)存使用情況

圖 5:為你提供空閑的內(nèi)存列。

vmstat

另一個(gè)非常方便的工具是 vmstat。這個(gè)特殊的命令是一個(gè)報(bào)告虛擬內(nèi)存統(tǒng)計(jì)信息的小技巧。vmstat 命令將報(bào)告關(guān)于:

  • 進(jìn)程

  • 內(nèi)存

  • 分頁

  • 阻塞 IO

  • 中斷

  • 磁盤

  • CPU

使用 vmstat 的最佳方法是使用 -s 選項(xiàng),如 vmstat -s。這將在單列中報(bào)告統(tǒng)計(jì)信息(這比默認(rèn)報(bào)告更容易閱讀)。vmstat 命令將提供比你需要的更多的信息(圖 6),但更多的總是更好的(在這種情況下)。

Linux如何檢查內(nèi)存使用情況

圖 6:使用 vmstat 命令來檢查內(nèi)存使用情況。

dmidecode

如果你想找到關(guān)于已安裝的系統(tǒng)內(nèi)存的詳細(xì)信息,該怎么辦?為此,你可以使用 dmidecode 命令。這個(gè)特殊的工具是 DMI 表解碼器,它將系統(tǒng)的 DMI 表內(nèi)容轉(zhuǎn)儲成人類可讀的格式。如果你不清楚 DMI 表是什么,那么可以這樣說,它可以用來描述系統(tǒng)的構(gòu)成(以及系統(tǒng)的演變)。

要運(yùn)行 dmidecode 命令,你需要 sudo 權(quán)限。因此輸入命令 sudo dmidecode -t 17。該命令的輸出(圖 7)可能很長,因?yàn)樗@示所有內(nèi)存類型設(shè)備的信息。因此,如果你無法上下滾動(dòng),則可能需要將該命令的輸出發(fā)送到一個(gè)文件中,比如:sudo dmidecode -t 17> dmi_infoI,或?qū)⑵鋫鬟f給 less 命令,如 sudo dmidecode | less。

Linux如何檢查內(nèi)存使用情況

圖 7:dmidecode 命令的輸出。

/proc/meminfo

你可能會問自己:“這些命令從哪里獲取這些信息?”在某些情況下,它們從 /proc/meminfo 文件中獲取。猜到了嗎?你可以使用命令 less /proc/meminfo 直接讀取該文件。通過使用 less 命令,你可以在長長的輸出中向上和向下滾動(dòng),以準(zhǔn)確找到你需要的內(nèi)容(圖 8)。

Linux如何檢查內(nèi)存使用情況

圖 8:less /proc/meminfo 命令的輸出。

關(guān)于 /proc/meminfo 你應(yīng)該知道:這不是一個(gè)真實(shí)的文件。相反 /proc/meminfo 是一個(gè)虛擬文件,包含有關(guān)系統(tǒng)的實(shí)時(shí)動(dòng)態(tài)信息。特別是,你需要檢查以下值:

  • 全部內(nèi)存(MemTotal

  • 空閑內(nèi)存(MemFree

  • 可用內(nèi)存(MemAvailable

  • 緩沖區(qū)(Buffers

  • 文件緩存(Cached

  • 交換緩存(SwapCached

  • 全部交換區(qū)(SwapTotal

  • 空閑交換區(qū)(SwapFree

如果你想使用 /proc/meminfo,你可以連接 egrep 命令使用它:egrep --color'Mem | Cache | Swap'/proc/meminfo。這將生成一個(gè)易于閱讀的列表,其中包含 MemCacheSwap 等內(nèi)容的條目將是彩色的(圖 9)。

Linux如何檢查內(nèi)存使用情況

以上是“Linux如何檢查內(nèi)存使用情況”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI