Linux操作系统查看应⽤进程占⽤的内存top -p 进程ID
PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越⼩越优先被执⾏
  NInice:值
  VIRT:进程占⽤的虚拟内存
  RES:进程占⽤的物理内存
  SHR:进程使⽤的共享内存
  S:进程的状态。S表⽰休眠,R表⽰正在运⾏,Z表⽰僵死状态,N表⽰该进程优先值为负数
  %CPU:进程占⽤CPU的使⽤率
  %MEM:进程使⽤的物理内存和总内存的百分⽐
  TIME+:该进程启动后占⽤的总的CPU时间,即占⽤CPU使⽤时间的累加值。
  COMMAND:进程启动命令名称
常⽤的命令:
1. P:按%CPU使⽤率排⾏
2. T:按MITE+排⾏
3. M:按%MEM排⾏
cat  /proc/进程ID/status
VmRSS 对应的值就是物理内存占⽤;
more status
Name:  rsyslogd
State:  S (sleeping)
Tgid:  987
Pid:    987grep命令查看进程
PPid:  1
TracerPid:      0
Uid:    0      0      0      0
Gid:    0      0      0      0
Utrace: 0
FDSize: 32
Groups:
VmPeak:    36528 kB
VmSize:    36528 kB
VmLck:        0 kB
VmHWM:      1432 kB
VmRSS:      1420 kB
VmData:    33980 kB
VmStk:        88 kB
VmExe:      320 kB
VmLib:      2044 kB
VmPTE:        56 kB
VmSwap:        0 kB
Threads:        3
SigQ:  1/7954
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000001001206
SigCgt: 0000000180014c21
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: ffffffffffffffff
CapBnd: ffffffffffffffff
Cpus_allowed:  3
Cpus_allowed_list:      0-1
Mems_allowed:  1
Mems_allowed_list:      0
voluntary_ctxt_switches:        1
nonvoluntary_ctxt_switches:    0
解释说明:
Tgid: 987
解释:Tgid是线程组的ID,⼀个线程⼀定属于⼀个线程组(进程组).
PPid: 1
解释:当前进程的⽗进程
TracerPid: 0
解释:跟踪当前进程的进程ID,如果是0,表⽰没有跟踪.
例如:
⽤strace跟踪top程序
strace top
FDSize是当前分配的⽂件描述符,这个值不是当前进程使⽤⽂件描述符的上限.
我们看到这⾥是32,但实际并没有分配32个⽂件
Groups: 0
解释:
这⾥的groups表⽰启动这个进程的⽤户所在的组.
VmPeak: 36528 kB
解释:这⾥的VmPeak代表当前进程运⾏过程中占⽤内存的峰值.
VmSize: 36528 kB
解释:VmSize代表进程现在正在占⽤的内存
VmLck: 0 kB
解释:VmLck代表进程已经锁住的物理内存的⼤⼩.锁住的物理内存不能交换到硬盘.
VmHWM: 1432 kB
VmRSS: 1420 kB
解释:
VmHWM是程序得到分配到物理内存的峰值.
VmRSS是程序现在使⽤的物理内存.
VmData: 33980 kB
VmStk: 88 kB
VmExe: 320 kB
VmLib: 2044 kB
解释:
VmData:表⽰进程数据段的⼤⼩.
VmStk:表⽰进程堆栈段的⼤⼩.
VmExe:表⽰进程代码的⼤⼩.
VmLib:表⽰进程所使⽤LIB库的⼤⼩.
VmPTE: 56 kB
VmSwap: 0 kB
VmPTE: 56 kB
解释:
占⽤的页表的⼤⼩.
VmSwap: 0 kB
解释:
进程占⽤Swap的⼤⼩.
Threads: 3
解释:
表⽰当前进程组有3个线程.
SigQ: 1/7954
解释:
表⽰当前待处理信号的个数,我们⽤下⾯和程序进⾏测试
Cpus_allowed: 3
Cpus_allowed_list: 0-1
解释:
Cpus_allowed:3指出该进程可以使⽤CPU的亲和性掩码,因为我们指定为两块CPU,所以这⾥就是3,如果该进程指定为4个CPU(如果有话),这⾥就是F(1111).
Cpus_allowed_list:0-1指出该进程可以使⽤CPU的列表,这⾥是0-1.
Mems_allowed: 1
Mems_allowed_list: 0
内存同CPU⼀样,进程rsyslogd只是使⽤了结点0的内存资源.
ps aux|grep 进程名
或者查看内存占⽤排名前⼗的:ps aux | sort -k4,4nr | head -n 10
解释说明:
USER              ⽤户
PID                  进程号
%CPU              执⾏命令时候进程占⽤的CPU %MEM            执⾏命令时候进程占⽤的CPU VSZ                  虚拟内存集
RSS                  常住内存集
TTY                  终端号

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。