CPU进程的含义是什么意思? 如何衡量呢? 有什么方法可以减少它? 我一直对这个概念感到困惑.我试图在Linux中使用’top’命令来测量使用的CPU.但是,我注意到的是,当没有其他用户进程
如何衡量呢?
有什么方法可以减少它?
我一直对这个概念感到困惑.我试图在Linux中使用’top’命令来测量使用的CPU.但是,我注意到的是,当没有其他用户进程在运行时,我的进程似乎会在I / O中没有阻塞时占用99%的CPU.但是,如果还有其他进程在运行,则会达到45%或50%.当没有其他进程在运行时,进程占用99%的CPU是否可以接受?
方向上的任何链接或指针也会有所帮助.
此上下文中的CPU利用率是每个进程消耗的总可用处理器周期的比例.如果它只是计算一些冗长的计算,那么你所看到的是正常的:操作系统在要求它的进程之间公平地划分可用的100%的计算资源.
相反,如果您的程序应该等待某个事件,比如等待用户按键或输入来自网络,这听起来就像您的程序处于无限循环中:它从不等待任何东西,只需要搅拌一直走开.如果是这种情况,你应该考虑重写它,这样,当它没有工作要做时,它会等待一些东西.这可能正在等待用户按键,使数据包到达网络连接或其他任何内容.如果是这种情况,你应该寻找代码“有什么工作要做吗?不!有任何工作要做吗?不!有任何工作要做吗?不!”疯狂.如果是这种情况,您应该找到一种方法,使其使用适当的操作系统调用或库函数等待工作.