top命令的输出可以分为两部分,前半部分是系统统计信息,后半部分是进程信息。
在统计信息中,第一行是任务队列信息 ,它的结果等同于uptime命令。从左到右依次表示:系统当前时间、系统运行时间、当前登录用户数。最后的load adverage表示系统的平均负载,即任务队列的平均长度,这三个值分别表示1分支、5分钟、15分钟到现在的平均值。第二行是进程统计信息,分别有总进程数、正在运行的进程数、睡眠进程数、停止的进程数、僵尸进程数。第三行是CPU统计信息,us表示用户空间cpu占用率、sy表示内核空间cpu占用率、ni表示用户进程空间改变过优先级的进程cpu的占用率、id表示空闲cpu占用率、wa表示等待输入输出的cpu时间百分比、hi表示硬件中断请求、si表示软件中断请求。第四行,从左到右,依次表示物理内存总量、空闲物理内存、已使用的物理内存、内核缓冲使用量。第五行表示交换区,不知道,有空再补充
后半部分进程信息,PID:进程Id、 USER:进程启动者用户名、 PR:优先级、 NI:nice值,负值表示高优先级,正值表示低优先级、 VIRT:进程使用的虚拟内存总量、 RES:进程使用的,未被换出的物理内存大小、 SHR:共享内存大小、 S:进程状态,D表示不可中断的睡眠状态,R表示运行,S表示睡眠,T表示跟踪停止,Z表示僵尸进程、 %CPU:上次更新到现在的cpu时间占用百分比、 %MEM:进程使用的物理内存百分比、 TIME+:进程使用的cpu时间总计,从右到左单位,百分之一秒,十分之一秒,秒,十秒,分钟,图中样例12分钟,30秒,2秒,十分之3秒,百分之1秒、 COMMON:命令名
top命令交互指令:
h:显示帮助信息、 k:终止一个进程、 q:退出程序、 c:切换显示命令名称和完整命令行、 M:根据进程内存大小进行排序、 P:根据cpu使用百分比大小进行排序、 T:根据累计时间进行排序
摘抄于 书籍: JAVA程序性能优化(葛一鸣)