linux ps&top命令 - 名词解析
命令 - ps 系统过去信息的一次性快照
命令 - top 系统进程的动态信息,默认10s更新一次
PID:进程id
PPID:父进程id
UID:进程所有者的用户id
USER:进程所有者的用户名
GROUP:进程所有者的组名
TTY:启动进程的终端名
PR:优先级
NI:nice值。负值表示高优先级,正值表示低优先级
P :最后使用的CPU,仅在多CPU环境下有意义
VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
3、VIRT=RES+SWAP
RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、RES=CODE+DATA
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SWAP:swap memory 交换内存
SHR:shared memory 共享内存
CODE:可执行代码占用的物理内存
DATA:数据(数据段+栈)占用的物理内存
%CPU:上次更新到现在的CPU时间占用百分比
VSZ:进程的虚拟内存大小
TTY:进程所属的终端控制台
TIME:进程使用的CPU时间总计,单位秒
TIME+:进程使用的CPU时间总计,单位1/100秒
%MEM:进程使用的物理内存百分比
nFLT:页面错误次数
nDRT:最后一次写入到现在,被修改过的页面数。
S:进程状态。(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
COMMAND:命令名/命令行
WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名
Flags:任务标志
说明:
ps和top都是从/proc目录下读取进程的状态信息,内核把当前系统进程的各种有用信息都放在该目录下统一管理
1) /proc/meminfo 机器的内存使用信息
2) /proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。
3) /proc/pid/statm 进程所占用的内存