十二、关于CPU性能优化过程遇到的问题总结

问题1 : 性能工具版本太低,导致指标不全

某些版本的pidstat没有%wait,这是因为%wait时sysstat 11.5.5版本才引入的新指标,这时候如果无法安装新版本等情况下,可以查看/proc目录下文件中的指标,这是性能工具上能看到的各项性能指标的原始数据来源

问题2 : 使用 stress 命令,无法模拟 iowait 高的场景

使用 stress 无法模拟 iowait 升高,但是却看到了 sys 升高。这是因为案例中 的 stress -i 参数,它表示通过系统调用 sync() 来模拟 I/O 的问题,但是sync() 的本意是刷新内存缓冲区的数据到磁盘中,以确保同步。如果缓冲区内本来就没多少数据,那读写到磁盘中的数据也就不多,也就没法产生 I/O 压力。这种情况可以考虑使用 stress-ng来代替 stress

问题 3:无法模拟出 RES 中断的问题

重调度中断是调度器用来分散任务到不同 CPU 的机制,也就是可以唤醒空闲状态的 CPU ,来调度新任务运行,而这通常借助处理器间中断(Inter-Processor Interrupts,IPI)来实现.所以单核CPU是无法模拟这种情况的

问题 4:无法模拟出 I/O 性能瓶颈,以及 I/O 压力过大的问题

这个问题,其实还是因为每个人的机器配置不同,既包括了 CPU 和内存配置的不同,更是因为磁盘的巨大差异。比如,机械磁盘(HDD)、低端固态磁盘(SSD)与高端固态磁盘相比,性能差异可能达到数倍到数十倍。

问题 5:性能工具(如 vmstat)输出中,第一行数据跟其他行差别巨大

运行 man vmstat 命令,你可以在手册中发现下面这句话:

The first report produced gives averages since the last reboot.  Additional reports give information on a sam‐ 
pling period of length delay.  The process and memory reports are instantaneous in either case. 

第一行数据是系统启动以来的平均值,其他行才是你在运行 vmstat 命令时,设置的间隔时间的平均值。另外,进程和内存的报告内容都是即时数值

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值