Linux性能分析工具使用
Dool
| 1 | Dool 是一个命令行工具,用于监控系统的许多方面:CPU、内存、网络、平均负载等。它还包括一个强大的插件架构,可以监控其他系统指标。 | 
安装
| 1 | 1. 下载最新版本的存档文件或克隆 Git 存储库:https://github.com/scottchiefbaker/dool/releases | 
参数
1. total-cpu-usage:
| usr | sys | idl | wai | hiq | siq | 
|---|---|---|---|---|---|
| 用户时间占比 | 系统时间占比 | 空闲时间占比 | 等待时间占比 | 硬中断 | 软中断 | 
2. dsk/total:
| read | writ | 
|---|---|
| 磁盘的读总数(KB或者MB) | 磁盘的写总数(KB或者MB) | 
3. net/total:
| recv | send | 
|---|---|
| 网络设备接收的数据总数(KB或者MB) | 网络设备发送的数据总数(KB或者MB) | 
4. paging(系统的分页活动):
| in | out | 
|---|---|
| 换入次数 | 换出次数 | 
5. system(系统统计):
| int | csw | 
|---|---|
| 终端次数 | 上下文切换次数 | 
用法
| 1 | 1. 最常见的用法: --more预设并每 15 秒输出一次数据。可用预设为--defaults、--more、 或--all。如果没有指定延迟,Dool将默认每秒输出一次 | 
示例
1. CPU性能分析
| 1 | 实时输出各个进程的CPU占用情况,并以一个实时的“top”列表形式展示,可以快速发现CPU占用率最高的进程,以便进行后续的优化和改进。 | 
2. 磁盘IO性能分析
| 1 | 实时输出各个分区的磁盘IO数据,并以一个实时的“top”列表形式展示,可以快速发现磁盘I/O占用率最高的分区,以便进行后续的优化和改进。 | 
3. 网络性能分析
| 1 | 实时输出TCP和UDP连接情况、网络流量数据等,以帮助我们分析系统中的网络性能问题,并采取相应的措施。 | 
4. 查看时间、CPU、磁盘读写、IO、负载、内存、网络、最高的CPU占用和最高的内存占用
| 1 | dool -tcdrlmn --top-cpu --top-mem | 
5. 查看8颗核心,每颗核心的使用情况和CPU使用情况
| 1 | dool -cl -C 0,1,2,3,4,5,6,7 --top-cpu | 
iostat
1. 安装方式
| 1 | yum install sysstat | 
2. 常用命令格式
| 1 | Iostat [参数] [时间] [次数] | 
3. cpu说明
| 1 | iostat -c | 
4. Device说明
| 1 | iostat -d | 
5. Device详细说明
| 1 | iostat -x | 
6. 主要分析说明
| 1 | iowait过高的话,则表示硬盘存在I/O瓶颈。 | 
vmstat
| 1 | 获得有关进程、虚存、页面交换空间及CPU活动信息 | 
vmstat 说明
| r | b | swpd | free | buff | cache | si | so | bi | bo | in | cs | us | sy | id | wa | st | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 运行队列(多少个进程真的分配到CPU) | 阻塞的进程数量 | 虚拟机已使用的大小 | 空闲的物理内存的大小 | 已用buff大小,对块设备的读写进行缓存 | 已用的cache大小,文件系统的cache | 每秒从磁盘读入虚拟内存的大小 | 每秒虚拟内存写入磁盘的大小 | (读磁盘)系统从块设备那里每秒接收的块数量 | (写磁盘)每秒发送给块设备的块数量 | 每秒上下文切换数 | 每秒CPU的中断次数,包括时间中断 | 用户CPU时间(用户态使用的cpu时间比) | 系统CPU时间(系统态使用的cpu时间比) | 空闲CPU时间(空闲CPU时间占比) | 等待IO的CPU时间(cpu等待磁盘写入完成时间) | 虚拟机偷取时间 | 
2. 主要分析说明
| 1 | id + us + sy = 100,id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率 | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 悩姜!



