Linux性能分析工具top命令详解

在Linux中,最常用的性能分析工具就是top,能够实时显示系统中各个进程的资源占用状况,同Windows系统中的资源管理器。

语法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数说明

参数 说明
b 批次档模式,与"n"参数一起使用,将top的结果输出到文档
c 切换显示模式:只显示执行档的名称、显示完整的路径与名称
d 调整更新速度,同交互式指令列(interactive command)按s
i 不显示任何闲置(idle)或无用(zombie)的进程
n 指定更新次数,然后自动退出top
q 实时显示,若用户具备superuser权限,则top将以最高优先级执行
S 累积模式,会将己完成或消失的子行程的CPU time累积起来
s 安全模式,取消交谈式指令

命令说明

命令 说明
Ctrl+L 擦除并且重写屏幕
c 切换显示命令名称和完整命令行
f, F 从当前显示中添加或者删除项目
i 忽略闲置和僵死进程
K 终止一个进程,在安全模式中此命令被屏蔽。系统将提示用户输入需要终止的进程PID和信号,默认使用15信号,可以指定9信号强制结束该进程
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
M 根据驻留内存大小进行排序
o, O 改变显示项目的顺序
P 根据CPU使用率进行排序
q 退出程序
r 重新安排一个进程的优先级别。系统提示用户输入需要调整的进程PID和优先级值,默认值是10,值大于表示降低优先级
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s,如果有小数,就换算成ms,输入0值则系统将不断刷新,默认值是5s
S 切换到累计模式
t 切换显示进程和CPU状态信息
T 根据时间/累计时间进行排序
W 将当前设置写入~/.toprc文件

头部说明

第一行,任务队列信息,即uptime命令结果

  • 系统当前时间
  • up:运行时间
  • user:当前登录用户
  • load average:分别是1分钟、5分钟、15分钟的平均系统总负载,每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的
  • 数值,负载值除以逻辑CPU的数量,当结果高于5的时候意味着系统正超负荷运行

第二行,进程统计信息

  • total:总进程
  • running:运行
  • sleeping:休眠
  • stopped:停止
  • zombie:僵尸进程

第三行,CPU状态信息

  • us:user space,用户空间占用CPU的百分比。
  • sy:sysctl,内核空间占用CPU的百分比。
  • ni:改变过优先级的进程占用CPU的百分比
  • id:idolt,空闲CPU百分比
  • wa:wait,IO等待占用CPU的百分比
  • hi:Hardware IRQ,硬中断占用CPU的百分比
  • si:Software Interrupts,软中断占用CPU的百分比

第四行,内存状态信息

  • total:总内存
  • used:已用,系统内核当前控制的内存数
  • free:空闲,系统内核尚未纳入其管控范围的内存数
  • buffers:缓存

第五行,交换分区信息

  • total:总内存
  • used:已用
  • free:空闲
  • cached:缓冲的交换区总量

附加知识

可用内存 = free + buffer + cached

交换分区的used值,当该值不断变化时,意味着内核在不断地进行内存和swap的数据交换,证明内存不够用了。

纳入内核管理的内存不一定都在使用中,因为它还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此linux中的free内存会越来越少。

原创文章禁止转载:技术学堂 » Linux性能分析工具top命令详解

精彩评论

2+8=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏