Linux下查询内存使⽤情况的常⽤命令
1、free命令
free 命令会显⽰系统内存的使⽤情况,包括物理内存、交换内存(swap)和内核缓冲区内存等。
$ free
total used free shared buff/cache available
Mem: 3294632424893921142265616228721903427628352888
Swap: 000
释义:
Mem:内存使⽤情况。
Swap:交换空间(虚拟内存)使⽤情况。
total:系统总共可⽤物理内存、交换空间⼤⼩。
used:已经被使⽤的物理内存、交换空间⼤⼩。
free:剩余可⽤物理内存、交换空间⼤⼩。
shared:被共享使⽤的物理内存⼤⼩。
buff/cache:被 buffer 和 cache 使⽤的物理内存⼤⼩。
available:还可以被应⽤程序使⽤的物理内存⼤⼩。
常见⽤法:
free -h //以更友好的⽅式显⽰,会以K、M、G为单位来显⽰
free -h -s 3 //以⼀定时间间隔重复的输出,这个命令是每3秒输出⼀次
free 命令中的信息都来⾃于 /proc/meminfo ⽂件。
2、vmstat命令
vmstat 是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进⾏监控,是对系统的整体情况进⾏的统计。
$ vmstat
procs -----------memory----------- --swap-- --io-- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 14376368 161976 1130836 0 0 0 3
2 2 0 0 100 0 0
与内存使⽤情况相关的是memory列和swap列,我们只看这两列。
memory列
swpd:使⽤的虚拟内存⼤⼩。
free:空闲物理内存⼤⼩。
buff:buffer cache内存⼤⼩。
cache:page cache的内存⼤⼩。
swap列
si:每秒从交换区读⼊到内存的⼤⼩,由磁盘调⼊内存(单位:kb/s)
so:每秒从内存写出到交换区的⼤⼩,由内存调⼊磁盘(单位:kb/s)
常见⽤法:
vmstat 1 //每隔1s打印⼀次
vmstat 15 //每隔1秒打印⼀次,打印五次
vmstat -s //显⽰内存相关统计信息及多种系统活动数量
3、top命令
使⽤top命令,可以查看正在运⾏的进程和系统负载信息,包括cpu负载、内存使⽤、各个进程所占系统资源等,top命令以⼀定频率动态更新这些统计信息。
top - 10:45:21 up 211 days, 17:14, 2 users, load average: 0.08, 0.09, 0.03
Tasks: 228 total, 1 running, 227 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.4%us, 0.1%sy, 0.1%ni, 99.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 32880232k total, 22032060k used, 10848172k free, 569680k buffers
Swap: 0k total, 0k used, 0k free, 17771208k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9757 root 20 0 15160 1224 836 R 2.0 0.0 0:00.01 top
1 root 20 0 19364 1644 131
2 S 0.0 0.0 2:06.0
3 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.30 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:02.75 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 2:04.41 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:39.92 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:01.44 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/1
9 root 20 0 0 0 0 S 0.0 0.0 1:23.26 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 0:31.05 watchdog/1
11 root RT 0 0 0 0 S 0.0 0.0 0:02.06 migration/2
12 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/2
13 root 20 0 0 0 0 S 0.0 0.0 0:45.78 ksoftirqd/2
14 root RT 0 0 0 0 S 0.0 0.0 0:29.91 watchdog/2
15 root RT 0 0 0 0 S 0.0 0.0 0:10.61 migration/3
16 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/3
17 root 20 0 0 0 0 S 0.0 0.0 1:57.03 ksoftirqd/3
18 root RT 0 0 0 0 S 0.0 0.0 0:32.77 watchdog/3
19 root RT 0 0 0 0 S 0.0 0.0 0:01.82 migration/4
20 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/4
21 root 20 0 0 0 0 S 0.0 0.0 1:58.64 ksoftirqd/4
22 root RT 0 0 0 0 S 0.0 0.0 0:32.96 watchdog/4
23 root RT 0 0 0 0 S 0.0 0.0 0:03.28 migration/5
24 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/5
25 root 20 0 0 0 0 S 0.0 0.0 0:50.67 ksoftirqd/5
26 root RT 0 0 0 0 S 0.0 0.0 0:30.28 watchdog/5
27 root RT 0 0 0 0 S 0.0 0.0 0:06.60 migration/6
28 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/6
反映系统内存使⽤状况的是下⾯这两⾏:
Mem: 32880232k total, 22032060k used, 10848172k free, 569680k buffers
Swap: 0k total, 0k used, 0k free, 17771208k cached
Mem⾏是物理内存使⽤情况,分别是:物理内存总量,已使⽤的物理内存总量,空闲物理内存总量,⽤作内核缓存区的内存量。 Swap⾏是交换区使⽤情况,分别是:交换区总量,已使⽤的交换区总量,空闲交换区总量,缓冲的交换区总量。
Top命令的下侧区域显⽰的是各个进程使⽤的系统资源统计信息,内存相关列如下:
VIRT列:进程使⽤的虚拟内存总量,单位kb。
RES列:进程使⽤的、未被换出的物理内存⼤⼩,单位kb。
SHR列:共享内存⼤⼩,单位kb。
%MEM 列:进程使⽤的物理内存百分⽐。
4、cat /proc/meminfo
$ cat /proc/meminfo
MemTotal: 16430636 kB
MemFree: 14376492 kB
MemAvailable: 15298732 kB
Buffers: 161976 kB
Cached: 1022440 kB
SwapCached: 0 kB
Active: 1369780 kB
Inactive: 438696 kB
Active(anon): 624376 kB
Inactive(anon): 49444 kB
Active(file): 745404 kB
Inactive(file): 389252 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 60 kB
Writeback: 0 kB
AnonPages: 624068 kB
Mapped: 88140 kB
Shmem: 49752 kB
Slab: 108076 kB
SReclaimable: 82864 kB
SUnreclaim: 25212 kB
KernelStack: 4464 kB
PageTables: 10480 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 8215316 kB
Committed_AS: 1811204 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 34780 kB
VmallocChunk: 34359695100 kB
linux在线命令查询平台HardwareCorrupted: 0 kB
AnonHugePages: 182272 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 169832 kB
DirectMap2M: 8218624 kB
DirectMap1G: 10485760 kB
5、 ps aux命令
ps aux 命令可以查看系统中各个进程的运⾏情况,包括了进程占⽤的内存,%MEM 列就是各个进程的内存占⽤百分⽐。
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 12310.92.21368496375824 ? SNl Jun21 346:39 ./bcm-agent
bls 68910.10.92892024159516 ? Sl Jun21 55:29 /opt/bls/lib/jre/bin/java -Duser.language=en_us -Xmx500m -XX:+UseParallelGC -XX:+UseParallelOldGC -root 3890.00.29637646212 ? Ss Jun21 0:14 /usr/lib/systemd/systemd-journald
root 12450.00.2120008040200 ? Sl Jun21 19:48 /opt/hosteye/bin/hosteye --is_child_mode=true --is_console_mode=false --start_mode=0
root 11990.00.128813228188 ? Ssl Jun21 2:06 /usr/sbin/rsyslogd -n
root 8980.00.157384017152 ? Ssl Jun21 5:08 /usr/bin/python -Es /usr/sbin/tuned -l -P
参考:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论