检查Linux中内存使用情况的8条命令
原创
引言
Linux操作系统中,内存使用情况是系统管理员和开发者需要密切关注的重要指标之一。了解系统的内存使用情况,有助于及时发现内存泄漏、优化内存分配,减成本时间系统性能。本文将介绍8条常用的Linux命令,帮助您检查内存使用情况。
1. free
free命令用于显示Linux系统中的空闲、已用、交换内存等信息。
free
输出导致示例:
total used free shared buff/cache available
16387176 3727072 12660604 0 7460040 12953728
其中,total描述总内存,used描述已用内存,free描述空闲内存,shared描述共享内存,buff/cache描述缓存内存,available描述可用的内存。
2. top
top命令可以实时显示系统的进程信息,包括进程的内存使用情况。
top
在top命令的输出中,可以通过按“M”键来按照内存使用量排序进程列表。
输出导致示例:
top - 18:25:45 up 1:00, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 168 total, 1 running, 167 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16387M 3727M 12660M 0 0 7460M
-/+ buffers/cache: 3727M 12660M
Swap: 0 0 0
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 285408 47032 4528 S 0.0 0.3 0:00.00 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd]
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [ksoftirqd/0]
...
其中,Mem行显示了内存的总数、已用数、空闲数、缓冲/缓存数以及-/+ buffers/cache的内存数。
3. vmstat
vmstat命令可以显示Linux虚拟内存统计信息。
vmstat
输出导致示例:
procs memory swap io system
r b swpd free in_use buffer cache si so bi bo in cs us sy id wa st
0 0 0 16387 0 0 7460 0 0 0 0 0 0 0 0 0 100 0 0
其中,r描述运行队列长度,b描述等待IO的进程数,swpd描述交换空间使用量,free描述空闲内存量,in_use描述已用内存量,buffer描述缓冲内存量,cache描述缓存内存量,si描述从交换空间读取的数据量,so描述写入交换空间的数据量,bi描述从块设备读取的数据量,bo描述写入块设备的数据量,in描述系统调用次数,cs描述CPU中断次数,us描述用户空间CPU时间百分比,sy描述系统空间CPU时间百分比,id描述空闲CPU时间百分比,wa描述