Linux CPU占用率不低的原因检查
现象
应用程序 占用CPU 率不太正常,于是查看了一下线程。结果发现有个线程占用率极高
分析
对此任务中各个工作进行耗时测试,结果发现以下代码导致的。
QProcess process;
process.start(“cat /sys/class/gpio/gpio5/value”);
process.waitForFinished();
bytes = process.readAllStandardOutput();
虽说调用shell速度很快,但很占用CPU时间。
效果检测
对应线程,占用CPU率从原来的11%降至0.7%
总结
通过QProcess process方法操作IO确实很方便。但太耗CPU.所以今后对IO的操作,还是采用驱动的方式来操作。