新聞中心
一、Linux如何查看內(nèi)存使用情況1. free命令free命令可以顯示系統(tǒng)的內(nèi)存使用情況,free表示未被占用的物理內(nèi)存大?。籹hared表示多個進程共享的部分物理內(nèi)存大??;
一、Linux如何查看內(nèi)存使用情況
1. free命令

free命令可以顯示系統(tǒng)的內(nèi)存使用情況,包括物理內(nèi)存和交換空間。
語法:free [選項]
常用選項:
- -b:以字節(jié)為單位顯示
- -k:以KB為單位顯示
- -m:以MB為單位顯示
- -g:以GB為單位顯示
示例:
```
$ free -h
total used free shared buff/cache available
Mem: 7.8G 2.3G 4.5G 16M 1.0G 5.2G
Swap: 2.0G 0B 2.0G
```
解釋:
total表示總共的物理內(nèi)存大??;used表示已經(jīng)被占用的物理內(nèi)存大??;free表示未被占用的物理內(nèi)存大小;shared表示多個進程共享的部分物理內(nèi)存大小;buff/cache表示緩沖區(qū)和高速緩存所占用的部分物理內(nèi)存大小;available表示還可以被應(yīng)用程序使用的可用物理內(nèi)存大小。Swap是交換空間,如果沒有開啟交換分區(qū),則只會輸出total和used兩列。
2.top命令
top命令可以實時監(jiān)控系統(tǒng)資源使用情況,包括CPU、內(nèi)存等。
語法:top [選項]
常見選項:
- M或者Shift+m按照進程占據(jù)虛擬地址排序;
- P或者Shift+p按照進程占據(jù)CPU使用率排序;
- T或者Shift+t按照進程占據(jù)的時間累計值排序。
示例:
```
$ top
top - 10:50:01 up 1 day, 22:23, 2 users, load average: 0.00, 0.00, 0.00
Tasks: ... total, ... running, ... sleeping, ... stopped,
Cpu(s): ... us, ... sy,... ni,... id,... wa,... hi,... si,...
Mem: .... total,… used,… free,… buff/cache,...
Swap: ....total,… used,… free,…
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
...
```
解釋:
VIRT表示虛擬內(nèi)存大小,RES表示實際物理內(nèi)存大小,SHR表示共享內(nèi)存大小。%MEM是該進程所占用的物理內(nèi)存百分比。
3.ps命令
ps命令可以查看系統(tǒng)中正在運行的進程信息,包括每個進程所占用的資源情況。
語法:ps [選項]
常見選項:
- aux:顯示所有用戶的所有進程。
- u:以用戶為主要關(guān)鍵字來顯示各個進程狀態(tài)。
- x:顯示沒有控制終端的進程。
示例:
```
$ ps aux | grep java
root xxxx xx.x xxxxx xxxxxxxx /usr/bin/java -jar /opt/xxx.jar --spring.profiles.active=prod --server.port=8088
user xxxx xx.x xxxxx xxxxxxxx /usr/bin/java -jar /opt/xxx.jar --spring.profiles.active=prod --server.port=8088
```
解釋:
第一列是進程的所有者,第二列是進程ID,第三列是CPU占用率,第四列是內(nèi)存占用率。
4. vmstat命令
vmstat命令可以顯示系統(tǒng)的虛擬內(nèi)存使用情況和CPU使用情況。
語法:vmstat [選項] [時間間隔] [次數(shù)]
常見選項:
- -a:顯示活動和非活動內(nèi)存區(qū)域。
- -f:顯示fork操作數(shù)量。
- -s:按照大小排序并且以KB為單位輸出結(jié)果。
示例:
```
$ vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 ... ... ... 0 0 x y z w v u t s
...
```
解釋:
swpd表示交換空間已經(jīng)被使用的大??;free、buff、cache分別表示未被占用的物理內(nèi)存、緩沖區(qū)和高速緩存所占用的部分物理內(nèi)存大小;si和so表示每秒鐘從磁盤讀取到交換空間或者寫入到磁盤中去了多少數(shù)據(jù)。us、sy、id等字段與top命令類似。
二、Linux如何查看內(nèi)存使用情況記錄
1. sar命令
sar命令可以記錄系統(tǒng)的CPU、內(nèi)存等資源使用情況,并且可以生成報告。
語法:sar [選項] [時間間隔] [次數(shù)]
常見選項:
- -r:顯示內(nèi)存使用情況。
- -u:顯示CPU使用情況。
示例:
```
$ sar -r 1 5
Linux ... 4.15.0-101-generic (xxxx) xx/xx/xx _x86_64_ (8 CPU)
12:00:01 AM kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit
12:00:02 AM xxxxxx xxxxxx xxxx x.xx xxxxxx xxxxxx xxxx x.xx
...
Average: ... ... ... ...
```
解釋:
kbmemfree表示未被占用的物理內(nèi)存大小;kbavail表示還可以被應(yīng)用程序使用的可用物理內(nèi)存大??;kbbuffers和kbcached分別表示緩沖區(qū)和高速緩存所占用的部分物理內(nèi)存大小。%commit是已經(jīng)提交到磁盤中但是尚未寫入交換空間中去的數(shù)據(jù)量百分比。
2. top命令
top命令也可以記錄系統(tǒng)資源使用情況,包括CPU、內(nèi)存等,并且支持將結(jié)果輸出到文件中。
語法:top [選項] > 文件名
示例:
```
$ top -b -n 1 > top.log
```
解釋:
-b參數(shù)表示以批處理模式運行,不需要交互;-n參數(shù)表示運行的次數(shù)。
3. pidstat命令
pidstat命令可以記錄每個進程的資源使用情況,包括CPU、內(nèi)存等,并且支持將結(jié)果輸出到文件中。
語法:pidstat [選項] [時間間隔] [次數(shù)]
常見選項:
- -r:顯示內(nèi)存使用情況。
- -u:顯示CPU使用情況。
示例:
```
$ pidstat -r 1 5 > pid.log
```
解釋:
-r參數(shù)表示只記錄內(nèi)存使用情況。
以上就是關(guān)于linux如何查看內(nèi)存使用情況的相關(guān)知識,如果對你產(chǎn)生了幫助就關(guān)注網(wǎng)址吧。
名稱欄目:linux如何查看內(nèi)存使用情況
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/dhpodcd.html


咨詢
建站咨詢
