Linux性能分析命令
来源:互联网 发布:天道总司 知乎 编辑:程序博客网 时间:2024/06/05 00:12
top
作用:能够实时显示系统中各个进程的资源占用情况。类似于windows的任务管理器
命令参数:
- d:指定每两次屏幕信息刷新之间的时间间隔
- p:通过指定监控进程ID来仅仅监控某个进程的状态
- q:使top没有任何演示的进行刷新
- S:指定累计模式
- s:使top命令在安全模式中运行
- i:使top不显示任何闲置或者僵死进程
- c:显示整个命令行而不只是显示命令名
终端输入top,显示如下
- 第一行:表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载(最近1,5,15分钟)
- 第二行:显示的所有启动的进程、目前运行的、挂起的(sleeping)和无用(zombie)的进程
- 第三行:显示的是目前CPU的情况,包括系统占用的比例、用户占用的比例、闲置的比例
- 第四行:显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存
- 第五行:显示交换区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。
- 第六行:显示的项目如下:
输入top之后,还可以根据需要进行排序,查看对应信息
shift+M:按照内存使用进行排序
shift+P:按照cpu时间排序
shift+T:按照cpou累计使用时间
vmstat
作用:
虚拟内存的统计。vmstat可以实时监控cpu运行队列和系统关键的性能指标,如磁盘,上下文交换,cpu使用率等
命令参数:
- -a:显示活跃和非活跃内存
- -f:显示从系统启动至今的fork数量
- -m:只显示slabinfo
- -n:只在开始时显示一次个字段名称
- -s:显示内存相关统计信息及多种系统活动数量
- delay:属性时间间隔。如果不指定,只显示一条结果
- count:刷新次数。如果不指定刷新次数,但制定了刷新时间间隔,这是刷新次数为无穷
- -d:显示磁盘相关统计信息
- -p:显示制定磁盘分区统计信息
- -S:使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K
- -V:显示vmstat版本信息
例子:
输入vmstat可以看到
procs
r列表示等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。
b列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
memory
swpd 切换到内存交换区的内存数量,或者说是现在可用的交换内存(k)。如果swpd不为0,或者比较大,比如100m,只要si、so的值长期为0,系统性能还是正常
free当前的空闲页面列中内存数量(k),空闲内存
buff作为buffer cache的内存数量,一般对块设备的读写才需要缓冲
cache做为page cache的内存数量,一般做为内存系统的cache,如果cache较大,说明用到cahce的文件较多,如果此时IO中bi较小,说明文件系统效率较好
swap
si有内存进入交换区数量
so有内存交换区进入内存数量
IO
bi从块设备读入数据的总量(读磁盘)(每秒KB)
bo块设置吸入数据的总量(写磁盘)(每秒KB)
这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析。如果bi,bo长期不等于0,表示物理内存容量太小
system
显示采集间隔内发生的中断数
in列表示在某一段时间间隔中观测到的每秒设备中断数
cs列表示每秒产生的上下文交换次数,如当cs比磁盘I/O和网络信息包速率高得多,都应该进一步调查
cpu
表示cpu的使用状态
us 列显示了用户方式下所花费cpu时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序
sy 列显示了内核进程花费的cpu时间的百分比。这里us+sy的参考值为80%,如果us+sy大于80%说明可能存在cpu不足
wa 列显示了IO等待所占有的cpu时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘或者磁盘访问控制器的带宽瓶颈造成的(块操作)
id 列显示了cpu处在空闲状态的时间百分比,如果id经常小于40,表示中央处理器的符合很重
最好使用vmstat t [n]命令,例如vmstat 5 5,表示在T(5)秒时间内进行N(5)次采样。如果只使用vmstat,无法反映真正的系统情况。
iostat
iostat主要用于监控系统设备的IO负载情况
- -d:显示设备(磁盘)使用状态
- -k:某些使用block为单位的列强制使用Kb
- -x:显示更多的统计信息
- -c:获取cpu部分状态值
例:每个1s刷新一次,共刷新10次
tps:该设备每秒的传输次数。一次传输即一次I/O
kB_read/s:每秒从设备读取的数量
kB_wrtn/s:每秒向设备写入的数量
kB_read:读取的总数据量(Kb)
kB_wrtn:写入的总数据量(Kb)
常见用法
实例分析
上面看到磁盘每秒传输次数平均约为400;每秒读取约5M,写入约1M
sar
命令行输入sar:
- %user:用户模式下消耗的cpu时间的比例
- %nice:通过nice该表了进程调度优先级的进程,在用户模式下消耗的cpu时间的比例
- %system:系统模式下消耗的cpu时间的比例
- %iowait:cpu等待磁盘I/O而导致空闲状态消耗时间的比例。如果过高,表示存在I/O瓶颈
- %steal:利用Xen等操作系统虚拟化技术时,等待其他虚拟cpu计算占用的时间比例
- %idle:cpu没有等待磁盘I/O等待空闲状态消耗的时间比例
如果%idle的值高但系统响应慢时,有可能是cpu等待分配内存,此时应加大内存容量
如果%idle的值持续低于10,则系统的cpu处理能力相对较低,表明系统中最需要解决的资源是CPU
阅读全文
0 0
- linux性能分析命令
- Linux性能分析命令
- linux下性能分析命令
- Linux系统性能分析命令
- 常用LINUX性能分析命令
- linux下性能分析命令
- linux下性能分析命令
- linux性能分析命令vmstat
- Linux网络性能分析命令
- Linux性能分析-top命令
- Linux常用性能分析命令
- Linux 常用性能分析命令
- Linux 常用性能分析命令
- Linux 性能分析 工具命令
- Linux性能分析与调整命令汇总
- Linux性能分析与调整命令汇总
- Linux性能分析与调整命令汇总
- Linux性能分析与调整命令汇总
- web-cookie和session
- html5_ionic路由+侧滑栏
- Ubuntu16.04 离线安装 Cloudera CDH 5.12.1
- Android App启动时白屏或黑屏问题修复
- android系统源码目录system/framework下各个jar包的用途以及部分jar包编译源码的位置
- Linux性能分析命令
- EditPlus 远程修改服务器的文本文件
- Java 中 创建文件夹操作
- 数论小集(2)
- Android 系统全套源代码分享 下载地址
- bzoj1084 最大子矩阵【轮廓线dp】
- eclipse调试so
- 判素数
- pdf 编辑器怎么给PDF文档进行文档的加密