top命令绝对是linux用的最多的监控系统命令之一
解释下其中一些重要参数的意思
第一行 最右边load 分别指的是1分钟 5分钟 15分钟的平均负载
第二行 右边的zombie指的是僵尸进程的意思。僵尸进程指的是子进程退出后父进程并没有处理子进程的退出信号,导致子进程变为僵尸进程。
第三行比较重要
给出当前cpu的工作情况,%us(user)指的是cpu用在用户态程序上的时间比;%sy(sys)指的是cpu用在内核态程序上的时间比;%ni(nice)指的是用在nice优先级调整过的用户态程序上的时间比;%id(idle)指的是cpu空闲时间比;%wa(iowait)指的是cpu等待系统io的时间比;%hi指的是cpu处理硬件中断的时间比;%si指的是cpu处理软中断的时间比;%st(steal)用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间。通常%id(idle)值可以反映一个系统cpu的空闲程度。
第四行和第五行给出真实内存的使用情况,包括内存总量,使用量,空闲量,以及交换分区的总量,使用量和空闲量。此外关于buffers和cached的区别需要说明一下,buffers指的是块设备的读写缓冲区,cached指的是文件系统本身的页面缓存。它们都是linux操作系统底层的机制,目的就是为了加速对磁盘的访问。
第六行往后是进程列表,常见的这几列的意义分别为:pid(进程号), user(运行用户),pr(优先级),ni(任务nice值),virt(虚拟内存用量),res(物理内存用量),shr(共享内存用量),s(进程状态),%cpu(cpu占用比),%mem(内存占用比),time (累计cpu占用时间)。
除了这些信息之外,top还提供了很多命令能帮我更好的解读这些信息,例如按”m”键可以按内存用量进行排序;按”p”可以按cpu使用量进行排序;按“1”显示多核cpu的各cpu状态,这样一来对于分析系统瓶颈很有帮助;此外,按“f”可以进入交互页面,选择指定的列显示,例如可以按“b”选择显示ppid,再按一次“b”即可取消显示。”r”可以改变一个进程的nice值;”k”可以向一个进程发信号;”z”可以使用彩色显示。