1.top命令
- 多核cpu监控: 在top基本视图中,按键盘数字"1",可监控每个逻辑cpu的状况
- 内存状态
内存状态 |
属性说明 |
---|
used |
使用中的内存总量 |
---|
free |
空闲交换区总量 |
---|
shrd |
共享内存总量 |
---|
buff |
缓存内存总量 |
---|
cache |
page cache占用的内存量 |
---|
cpu状态信息 |
属性说明 |
---|
usr |
用户空间占用CPU的百分比 |
---|
sys |
内核空间占用CPU的百分比 |
---|
nic |
改变过优先级的进程占用cpu的百分比 |
---|
idle |
空闲CPU百分比 |
---|
io |
IO等待占用CPU的百分比 |
---|
irq |
硬中断占用CPU的百分比 |
---|
sirq |
软中断占用cpu的百分比 |
---|
名称 |
说明 |
PID |
进程ID |
PPID |
ppid是程序的父进程号 |
USER |
进程所有者 |
STAT |
当前进程的状态 |
VSZ |
进程的虚拟大小 |
%VSZ |
进程的站虚拟内存百分比 |
cpu |
运行的cpu号 |
%cpu |
占cpu的百分比 |
COMMD |
进程的名称 |
二. cat /proc/$PID/status进程状态
# cat status
Name: fcw_app
Umask: 0022
State: S (sleeping)
Tgid: 3475
Ngid: 0
Pid: 3475
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 64
Groups:
NStgid: 3475
NSpid: 3475
NSpgid: 261
NSsid: 261
VmPeak: 2392176 kB
VmSize: 2392176 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 50672 kB
VmRSS: 50672 kB
RssAnon: 41436 kB
RssFile: 9236 kB
RssShmem: 0 kB
VmData: 428832 kB
VmStk: 132 kB
VmExe: 32 kB
VmLib: 15192 kB
VmPTE: 1116 kB
VmPMD: 24 kB
VmSwap: 0 kB
HugetlbPages: 0 kB
Threads: 34
SigQ: 0/754
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000180004006
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
NoNewPrivs: 0
Speculation_Store_Bypass: unknown
Cpus_allowed: f
Cpus_allowed_list: 0-3
voluntary_ctxt_switches: 5747
nonvoluntary_ctxt_switches: 173
解释
名称 |
解释 |
VmPeak |
当前进程运行过程中占用内存的峰值 |
VmSize |
进程现在正在占用的内存 |
VmLck |
进程已经锁住的物理内存的大小,锁住的物理内存不能交换到硬盘 |
VmHWM |
程序得到分配到物理内存的峰值 |
VmRSS |
程序现在使用的物理内存 |
VmData |
进程数据段的大小 |
VmStk |
进程堆栈段的大小 |
VmExe |
进程代码的大小 |
VmLib |
进程所使用LIB库的大小 |
VmPTE |
占用的页表的大小 |
VmSwap |
占用swap的大小 |
Threads |
进程组的线程数量 |
SigPnd |
屏蔽位,存储了该线程的待处理信号,等同于线程的PENDING信号 |
ShnPnd |
屏蔽位,存储了该线程组的待处理信号,等同于进程组的PENDING信号 |
SigBlk |
存放被祖塞的信号,等同于BLOCKED信号 |
SigIgn |
存放被忽略的信号,等同于IGNORED信号 |
SigCgt |
存放捕获的信号,等同于CAUGHT信号 |
CapEff |
当一个进程要进行某个特权操作时,操作系统会检查cap_effective的对应位是否有效,而不在检查进程的有效UID是否为0 |
CapPrm |
表示进程能够使用的能力,在cap_permitted中可以包含cap_effective中没有的能力,这些能力是被进程自己临时放弃的,也可以说cap_effective是cap_permitted的一个子集 |
CapInh |
表示能够被当前进程执行的程序继承的能力 |
CapBnd |
系统的边界能力,我们无法改变它 |
Cpus_allowed |
指出该进程可以使用cpu的亲和行掩码,因为我们指定为4块cpu,就是F(1111) |
Cpus_allowd_list |
0-3该进程可以使用的CPU的列表 |
voluntary_ctxt_switches |
进程主动切换的次数 |
nonvoluntary_ctxt_swithes |
进程被动切换的次数 |