0 iowait在io密集型应用程序上。我的cpu花了多少时间?

时间:2017-11-01 09:35:23

标签: mysql linux cpu

我在我的VM上进行了测试。 它是一个简单的while-true循环,用于将数据插入安装在同一台机器上的MySQL中。

当代码运行时,我注意到它在我们中占50%CPU,50%id,0 wa。

我认为瓶颈是磁盘IO。期待在var deasync = require('deasync'); function syncFunc() { var ret = null; asyncFunc(function(err, result){ ret = {err : err, result : result} }); while((ret == null)) { deasync.runLoopOnce(); } return (ret.err || ret.result); } 中获得较高wa。但事实上,我在top和50 wa得到0 我想这可能是因为磁盘缓存,但我不知道如何证明我的想法。

我不知道为什么有50%的人闲置,以及如何改善表现。
有没有我错过或可以做的事情?

idle的输出:

enter image description here

top的输出:

enter image description here

1 个答案:

答案 0 :(得分:0)

虽然True循环可能耗尽大量CPU。如果这不会完全破坏代码的功能,您可以在循环中插入一个暂停,这样循环就不会耗尽所有CPU