Linux 下如何檢查內(nèi)存使用率
在排查系統(tǒng)問題,或者應(yīng)用變慢,或者不明原因問題時,第一件事就是要檢查系統(tǒng)的內(nèi)存使用率。
本文講解如何在 Linux 中使用不同的幾個命令來檢查 RAM 內(nèi)存使用率。
一、free 命令
free
命令是檢查一個 Linux 系統(tǒng)中內(nèi)存使用率最常用的命令。它顯示關(guān)于內(nèi)存總量,已經(jīng)使用的內(nèi)存以及空閑內(nèi)存的相關(guān)信息。
通常, free
運(yùn)行時加上-h
選項,意味著以人類可讀的格式打印輸出:
free -h
total used free shared buff/cache available Mem: 3936 1087 252 130 2596 2427 Swap: 0 0 0
這里是每一列的意義:
- total - 應(yīng)用可以使用的內(nèi)存總數(shù)
- used - 已經(jīng)被使用的內(nèi)存。 它是這樣計算的:
used = total - free - buffers - cache
- free - 空閑的/未被使用的內(nèi)存。
- shared - 這一列可以被忽略。 它僅僅用于向后兼容。
- buff/cache - 內(nèi)核緩存,頁面緩存和slab
- avaiable - 可用來啟動新應(yīng)用的估計可用內(nèi)存,不包括交換內(nèi)存。
這個free命令打印關(guān)于物理內(nèi)存和交換內(nèi)存的信息。
二、top 命令
top
是一個命令工具,它展示正在運(yùn)行的進(jìn)程的實時信息。它同時顯示系統(tǒng)概要,包括內(nèi)存使用率。
想要運(yùn)行命令,簡單輸入top
:
top
輸出將會看起來像下面這樣:
輸出頭部包括以下信息:系統(tǒng)中內(nèi)存,空閑內(nèi)存,被使用內(nèi)存,以及交換內(nèi)存。
這個%MEM一列,提供信息包括每一個運(yùn)行進(jìn)程中被使用的共享內(nèi)存占可用物理內(nèi)存的比例。
三、 /proc/meminfo
最簡單的檢查 RAM 內(nèi)存的方式就是去顯示/proc/meminfo
虛擬文件。這個文件被free
,top
,ps
以及其他系統(tǒng)信息命令所使用。
使用less
或者cat
來查看/proc/meminfo
文件的內(nèi)容。
cat /proc/meminfo
文件包含了一系列信息,關(guān)于系統(tǒng)內(nèi)存和交換內(nèi)存使用率:
MemTotal: 4030592 kB
MemFree: 401804 kB
MemAvailable: 2507504 kB
...
這個來自/proc/meminfo
文件的信息可以被解析,并且在 shell 腳本中使用。
四、 ps_mem 腳本
ps_mem 是一個 Python 腳本,他可以報告每個程序的 RAM 使用率。它在 Python 2 和 3 中都可以使用,并且可以使用pip
進(jìn)行安裝。
sudo pip3 install ps_mem
運(yùn)行ps_mem
需要管理員權(quán)限:
sudo ps_mem
輸出將會以升序顯示包括每一個運(yùn)行程序的內(nèi)存使用率:
Private + Shared = RAM used Program ... 11.9 MiB + 20.2 MiB = 32.1 MiB nginx (4) 8.2 MiB + 42.4 MiB = 50.6 MiB systemd-journald 55.8 MiB + 307.2 MiB = 363.0 MiB php-fpm7.4 (6) 233.9 MiB + 234.0 MiB = 467.9 MiB redis-server 578.2 MiB + 578.6 MiB = 1.1 GiB mysqld --------------------------------- 2.2 GiB =================================
五、總結(jié)
我們已經(jīng)向你展示一些命令,你可以使用它們來檢查系統(tǒng)內(nèi)存使用率。
原文 :https://linuxize.com/post/check-memory-linux/
以上就是Linux 下如何檢查內(nèi)存使用率的詳細(xì)內(nèi)容,更多關(guān)于Linux 檢查內(nèi)存使用率的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
centos7系統(tǒng)下搭建docker本地鏡像倉庫的方法
本篇文章主要介紹了CentOS 7 : Docker私有倉庫搭建和使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02Linux下通過sed命令對kv方式的配置文件進(jìn)行修改
sed是unix下的面向字符流的編輯器,即stream editor, 它是面向行的,以行為單位進(jìn)行處理,同時,sed是非交互式的,一旦執(zhí)行便要處理完整個文件。這篇文章主要介紹了Linux下通過sed命令對kv方式的配置文件進(jìn)行修改,需要的朋友可以參考下2018-11-11Windows7下Linux雙操作系統(tǒng)安裝圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows7下Linux雙操作系統(tǒng)安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07Linux上創(chuàng)建、列出、刪除Docker容器方法總結(jié)
在本篇文章中小編給大家整理了一篇關(guān)于Linux上創(chuàng)建、列出、刪除Docker容器方法和技巧,需要的朋友們學(xué)習(xí)參考下。2019-03-03Linux修改文件句柄數(shù)方式及vm.max_map_count、stack size的大小
修改/etc/security/limits.conf文件可以調(diào)整Linux系統(tǒng)的文件句柄數(shù)、進(jìn)程數(shù)等資源限制,需注意的是,對該文件的更改需要重新登錄系統(tǒng)才能生效,如需臨時修改,可以使用命令直接設(shè)置;永久修改則需編輯配置文件,設(shè)置nofile的最大值不應(yīng)超過10485762024-10-10Linux 創(chuàng)建子進(jìn)程執(zhí)行任務(wù)的實現(xiàn)方法
下面小編就為大家分享一篇Linux 創(chuàng)建子進(jìn)程執(zhí)行任務(wù)的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧2018-01-01在Linux服務(wù)器上安裝 memcached的基本操作
本文分步驟給大家詳細(xì)介紹了linux服務(wù)器上安裝memcached的操作方法,非常不錯,需要的朋友參考下吧2016-12-12