前言
linux系统查看进程内存情况的方法多种多样,下面介绍三种常用方法:
第一种方法,top命令
通过指令 top -p 进程PID查看,进程Pid可通过指令:ps -ef | grep <进程名称> 获取
举例:查看进程ChargingPile内存使用情况,分两步
1、输入ps -ef | grep ChargingPile
2、输入top -p 3295
如下图
其中RES为真实的物理地址,单位是KB,VIRT为虚拟地址大小
第二种方法,ps指令
输入指令 ps -aux | grep 应用名称
举例:查看进程ChargingPile内存使用情况
root@SCT230A:/# ps -aux | grep ChargingPile
root 3295 3.0 0.0 41112 1396 pts/0 Sl+ 15:11 3:14 /usr/local/extapps/ChargingPile/bin/ChargingPile
root 5416 0.0 0.0 2060 536 pts/1 S+ 16:57 0:00 grep --color=auto ChargingPile
root@SCT230A:/#
第一个红圈3.0和0.0表示是CPU和内存的使用率,第二个红圈表示虚拟地址和真实物理地址大小,单位是KB
第三种方法,cat /proc/pid/status 指令
分两步:
第一步:获取进程ID号
ps -ef | grep <进程名称>
第二步:获取内存使用情况
cat /proc/pid/status
举例:查看进程ChargingPile内存使用情况
第一步:获取PID
root@SCT230A:/# ps -ef | grep ChargingPile
root 3295 2756 3 15:11 pts/0 00:03:40 /usr/local/extapps/ChargingPile/bin/ChargingPile
root 9563 17703 0 17:12 pts/1 00:00:00 grep --color=auto ChargingPile
root@SCT230A:/#
第二步:查询内存使用情况
root@SCT230A:/# cat /proc/3295/status
Name: ChargingPile
State: S (sleeping)
Tgid: 3295
Pid: 3295
PPid: 2756
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 32
Groups: 0 1 2 3 4 6 10 11 20 26 27
VmPeak: 42136 kB
VmSize: 41112 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 1396 kB
VmRSS: 1396 kB
VmData: 37864 kB
VmStk: 132 kB
VmExe: 104 kB
VmLib: 2348 kB
VmPTE: 18 kB
VmSwap: 0 kB
Threads: 5
SigQ: 2/14381
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000180000002
CapInh: 00000000a80425fb
CapPrm: 00000000a80425fb
CapEff: 00000000a80425fb
CapBnd: 00000000a80425fb
Seccomp: 2
Cpus_allowed: f
Cpus_allowed_list: 0-3
Mems_allowed: 1
Mems_allowed_list: 0
voluntary_ctxt_switches: 3
nonvoluntary_ctxt_switches: 10
root@SCT230A:/#
其中VMRSS为真实物理地址