ps aux # 看全部进程(看下方对比)
ps aux | grep xxx # ps aux | grep xxx 查看应用程序情况(用户、端口号)
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
---|---|---|---|---|---|---|---|---|---|---|
行程拥有者 | pid | CPU 使用率 | 内存使用率 | 虚拟内存使用量(KB) | 内存使用量(KB) | 终端的次要装置号码 | 行程状态 | 行程开始时间 | CPU执行的时间 | 所执行的指令 |
minor device number of tty | 13种 | 行程开始时间 | 执行的时间 | 所执行的指令 | ||||||
D 不可中断uninterruptible sleep (usually IO) | ||||||||||
R 在队列中运行runnable (on run queue) | ||||||||||
S 休眠中断sleeping | ||||||||||
T 停止 traced or stopped | ||||||||||
Z 僵死 a defunct (”zombie”) process | ||||||||||
W 进入内存交换 (从内核2.6开始无效) | ||||||||||
X 死掉的进程 (基本很少见) | ||||||||||
< 优先级高的进程 | ||||||||||
N 优先级较低的进程 | ||||||||||
L 有些页被锁进内存 | ||||||||||
s 进程的领导者(在它之下有子进程) | ||||||||||
l 多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads) | ||||||||||
+ 位于后台的进程组 |
英文缩写 | 英文 | 中文 | 公式 |
---|---|---|---|
VSZ | Virtual Memory Size | 虚拟内存大小(向电脑申请的内存)(不一定使用了) | 能访问的所有内存+换出的内存+被分配但没被使用的内存+动态库中的内存 |
二进制文件是500K+链接了一个2500K的动态库+堆和栈共使用了200K | |||
500K + 2500K + 200K = 3200K |
|||
RSS | Resident Set Size | 常驻内存大小 | RAM中的物理内存+所链接的动态库并且被加载到物理内存中的内存+栈内存和堆内存 |
二进制文件中的400K内容+加载了动态库中的1000K内容+堆和栈共使用了100K(剩下的被换出或者不再被使用) | |||
400K + 1000K + 100K = 1500K |
|||
PSS | proportional set size | 比例内存大小 | |
400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K |
由于部分内存是共享的,被多个进程使用,所以如果将所有进程的RSS值加起来可能会大于系统的内存总量。
一个进程中的多个线程共享同样的地址空间。所以一个进程中的多个线程的RSS,VSZ,PSS是完全相同的
以前Unix系统中的两种风格,System V风格和BSD 风格
命令 | 风格 | 对比 |
---|---|---|
ps aux | Unix Style | 多一点 |
ps -ef | System V Style | 少一点 |