在對系統,應用程序速度減慢或行為異常進行故障排除時,首先要檢查的問題之一是系統內存使用率。
本教程介紹如何使用free,top,ps_mem命令來檢查Linux中的RAM使用情況。
free命令是用于檢查Linux系統內存使用的最常用命令。它顯示總內存,已用內存和可用內存的信息。
free命令最經常使用的選項-h
選項,free命令將以友好的閱讀格式打印輸出。
free -h
total used free shared buff/cache available
Mem: 3936 1087 252 130 2596 2427
Swap: 0 0 0
**total **內存總量。**used **已使用的內存。,計算公式是used = total - free - buffers - cache
。
free可用/未使用的內存。**shared **可以忽略此列,**buff/cache **內核緩沖區以及頁面緩存和slab使用的組合內存。如果應用程序需要,可以隨時回收此內存。
**available **在不使用交換空間的情況 , 啟動應用程序可用內存的估計數。free命令顯示物理內存和交換空間的信息。
top命令
top
是一個命令行程序,用于顯示正在運行的進程的實時信息。它還顯示了系統摘要,包括內存使用情況。
要查看內存的使用率,只需要在終端運行top
命令。輸出包含系統的總內存,可用和已用物理內存和交換空間的信息。
%MEM
列提供每個進程的使用物理內存使用率的信息。
top
/proc/meminfo
檢查內存使用率的最簡單方法是查看虛擬文件/proc/meminfo
的內容。free
,top
,ps
和其他系統信息命令都讀取此文件。
你也可以通過運行less
,cat
命令查看/proc/meminfo
文件的內容。該文件包含系統內存和交換空間使用量信息。
直接查看此文件可能對閱讀不太友好,但你運行ps_mem
命令可以解析/proc/meminfo
文件中的信息。
cat /proc/meminfo
MemTotal: 4030592 kB
MemFree: 401804 kB
MemAvailable: 2507504 kB
...
ps_mem 腳本
ps_mem命令是一個Python腳本,用于報告每個程序的內存使用率。它可以與Python 2和3一起使用,并且可以通過pip安裝。
運行ps_mem
命令需要sudo權限,輸出將按升序包括每個正在運行的程序的內存使用率。當您想找出哪個正在運行的程序占用了系統大部分內存時,此腳本很有用。
除了打印全部進程內存使用率之外,你還可以使用ps_mem的-p
選項,后跟進程PID,查看指定進程內存使用率。
sudo pip3 install ps_mem
sudo ps_mem
sudo ps_mem -p pid_number
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
=================================
結論
我們向您展示了一些可用于查看內存使用量的命令。
-
RAM
+關注
關注
8文章
1368瀏覽量
114643 -
Linux
+關注
關注
87文章
11292瀏覽量
209331 -
內存
+關注
關注
8文章
3019瀏覽量
74005 -
命令
+關注
關注
5文章
683瀏覽量
22011
發布評論請先 登錄
相關推薦
評論