习惯使用这个命令查看那些进程或者那类进程占用CPU和内存资源最多,以此迅速定位存在性能问题的进程,以及运行异常的进程。
1.Top命令的输出1
2. Top命令的输出2
3.用top看到的内存说明–actv active 活跃的内存页,正在映射给进程使用。
–in_d inactive_dirty 非活跃的内存页,并且内存数据被修改,需要写回磁盘。
–in_c inactive_clean 非活跃的内存页,干净的数据,可以被重新分配使用。
4.问题in_d和in_c以及 cache, buffer的内存有何不同?
解释:actv, in_d, in_c是 VM 中对内存的管理组织形式,buffer是块设备读写缓冲,cache是文件系统缓存。
5.top(STAT)
–D 不可中断休眠,通常是 IO 操作所处的状态
–R 正在执行的或者处在等待执行的进程队列中
–S 休眠中
–T 暂停刮起的(比如Ctrl+Z),也可能是被 strace 命令调用中的状态
–Z 僵尸进程,进程执行完成,但由于其父进程没有销毁该进程,而被init进程接管进行销毁。
– W 没有使用物理内存,所占用的物理内存被切换到交换内存
–< 高优先级的进程
–N 低优先级
有时候一个进程会有多个状态的标志,比如SWN,SW