linux 系统状态查看
环境信息
- Centos 7 kernel 5.4.221
查看内存信息
内存相关概念说明:
- VSS ,Virtual Set Size , VERT - 虚拟耗用内存(包含共享库占用的内存)
- RSS , Resident Set Size , RES- 实际使用物理内存(包含共享库占用的内存)
- PSS , Proportional Set Size - 实际使用的物理内存(比例分配共享库占用的内存)
- USS , Unique Set Size - 进程独自占用的物理内存(不包含共享库占用的内存)
查看某个进程使用的内存量
比如检查 docker 使用的内存量,首先通过 ps
命令查询到 docker
的 pid 信息
ps -elf | grep docker |
例如此处的 docker
进程的 pid 为 1243
使用
top
命令动态查看docker
使用的内存信息top -p 1243
top - 11:47:40 up 14 days, 2:09, 3 users, load average: 0.65, 1.42, 1.70
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.0 us, 0.6 sy, 0.0 ni, 98.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 32068748 total, 2494500 free, 18536188 used, 11038060 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 9586340 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1243 root 20 0 4270108 1.4g 53956 S 1.0 4.6 914:55.80 dockerd使用
ps aux
命令查看内存使用量ps aux | grep 1243
root 1243 4.5 4.6 4270108 1486460 ? Ssl Jan03 914:57 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock输出结果中
- 第 3、4 列 (
4.5 4.6
) 分别表示cpu 使用率
、内存使用率
。 - 第 5、6 列 (
4270108 1486460
) 分别表示虚拟内存使用量
、物理内存使用量
,单位为k
。
- 第 3、4 列 (
通过进程的
status
文件查看内存使用cat /proc/1243/status
Name: dockerd
Umask: 0022
State: S (sleeping)
Pid: 1243
PPid: 1
VmPeak: 4270364 kB
VmSize: 4270108 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 1562204 kB
VmRSS: 1492340 kB
...其中,
VmRSS
为进程使用的物理内存使用
pmap
命令查看进程使用的内存信息pmap -x 1243
pmap -p 1243
内存使用量统计
查看使用内存排名前十的进程:
ps aux | sort -k4,4nr | head -n 10 |