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 许可协议。转载请注明来自 悩姜!