版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/bugzeroman/article/details/89878225
1.查看/proc/meminfo文件
查看RAM使用情況最簡單的方法是通過/proc/meminfo。
這個動態更新的虛擬文件列出了詳細的內存使用情況。
cat /proc/meminfo
命令輸出結果如下:
MemTotal: 131792736 kB
MemFree: 110845344 kB
MemAvailable: 120877616 kB
Buffers: 2132 kB
Cached: 10666068 kB
SwapCached: 0 kB
Active: 15042280 kB
Inactive: 4246612 kB
Active(anon): 8874744 kB
Inactive(anon): 240216 kB
Active(file): 6167536 kB
Inactive(file): 4006396 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 4194300 kB
SwapFree: 4194300 kB
Dirty: 16 kB
Writeback: 0 kB
AnonPages: 8620816 kB
Mapped: 202296 kB
Shmem: 494268 kB
Slab: 668612 kB
SReclaimable: 484456 kB
SUnreclaim: 184156 kB
KernelStack: 12272 kB
PageTables: 29540 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 70090668 kB
Committed_AS: 31416932 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 491540 kB
VmallocChunk: 34290823164 kB
HardwareCorrupted: 0 kB
AnonHugePages: 8333312 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 223468 kB
DirectMap2M: 7047168 kB
DirectMap1G: 126877696 kB
2.free命令
free命令是一個快速查看內存使用情況的方法,
使用-h參數可以輸出方便查看的結果。
free -h
命令輸出結果如下:
total used free shared buff/cache available
Mem: 125G 9.2G 105G 482M 10G 115G
Swap: 4.0G 0B 4.0G
可以看到總的物理內存爲125G,
已經被使用的內存爲9.2G,
另外被系統緩存使用的內存爲10G,
還剩餘105G的空閒內存,
由於系統使用的10G緩存可以在需要時被回收,
實際可用內存爲115G。
3.ps命令
ps命令可以實時的顯示各個進程的內存使用情況。
查看內存使用信息,重要的參數說明如下:
參數 | 英文說明 | 中文說明 |
---|---|---|
%MEM | percent of physical memory used | 物理內存使用率 |
VSZ | total amount of virtual memory used | 總的虛擬內存使用量 |
RSS | total amount of physical memory used | 總的物理內存使用量 |
可以使用"–sort"選項對進程進行排序,例如按RSS進行排序:
ps aux --sort -rss
命令輸出結果如下:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 22633 0.1 4.8 23799212 6425856 ? Sl Apr18 15:39 java -Dproc_rangeradmin
mysql 32134 0.1 1.0 17463044 1364236 ? Sl Apr17 18:17 /home/mysql/mysql-5.7.25-linux-glibc2.12-x86_64/bin/mysqld --basedir=/home/mysql/m
solr 10360 0.0 0.4 7340152 530224 ? Sl Apr16 13:35 /usr/java/jdk1.8.0_151/bin/java -server -Xms2g -Xmx2g -XX:NewRatio=3 -XX:SurvivorR
root 8323 0.0 0.1 698056 231796 ? Ssl Mar25 6:03 /usr/sbin/rsyslogd -n
root 1278 0.0 0.1 262704 156520 ? Ss Mar25 3:12 /usr/lib/systemd/systemd-journald
gdm 2601 0.0 0.1 2157664 145200 ? Sl Mar25 9:58 /usr/bin/gnome-shell
root 2494 0.0 0.0 417756 24700 tty1 Ssl+ Mar25 0:13 /usr/bin/X :0 -background none
......
4.top命令
top命令提供了實時的運行中的程序的資源使用統計。
你可以根據內存的使用和大小來進行排序。
查看內存使用信息,重要的參數說明如下:
參數 | 中文說明 |
---|---|
VIRT | 進程佔用的虛擬內存 |
RES | 進程佔用的物理內存 |
SHR | 進程使用的共享內存 |
%CPU | 進程佔用CPU的使用率 |
%MEM | 進程使用的物理內存和總內存的百分比 |
top命令輸出結果如下:
top - 14:24:46 up 33 days, 21:22, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 370 total, 1 running, 369 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.5 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st, 99.4 id_exact, 0.0 hi_exact, 0.0 irq_exact
KiB Mem : 13179273+total, 11080779+free, 9615360 used, 11369584 buff/cache
KiB Swap: 4194300 total, 4194300 free, 0 used. 12084785+avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18185 root 20 0 157984 2452 1496 R 5.6 0.0 0:00.03 top
1 root 20 0 195988 9168 4084 S 0.0 0.0 9:13.49 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.94 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:01.21 ksoftirqd/0
5 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
8 root rt 0 0 0 0 S 0.0 0.0 0:00.55 migration/0
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
10 root 20 0 0 0 0 S 0.0 0.0 6:44.59 rcu_sched
11 root rt 0 0 0 0 S 0.0 0.0 0:12.11 watchdog/0
12 root rt 0 0 0 0 S 0.0 0.0 0:10.40 watchdog/1
退出top命令使用Ctrl+C組合鍵。
5.vmstat命令
vmstat命令顯示實時的和平均的統計,覆蓋CPU、內存、I/O等內容。
例如內存情況,不僅顯示物理內存,也統計虛擬內存。
vmstat -s
命令輸出結果如下:
131792736 K total memory
9615604 K used memory
15133592 K active memory
4193128 K inactive memory
110806776 K free memory
2132 K buffer memory
11368224 K swap cache
4194300 K total swap
0 K used swap
4194300 K free swap
7590401 non-nice user cpu ticks
16543 nice user cpu ticks
1001961 system cpu ticks
9362676485 idle cpu ticks
15230 IO-wait cpu ticks
0 IRQ cpu ticks
17625 softirq cpu ticks
0 stolen cpu ticks
2396149 pages paged in
39214328 pages paged out
0 pages swapped in
0 pages swapped out
758920765 interrupts
609731270 CPU context switches
1553504530 boot time
3710939 forks