Mr-Luer 2018-08-18 08:54 采纳率: 33.3%
浏览 1587
已采纳

cup利用率为什么上不去

linux中为什么cpu的利用率上不去呢。,cpu有8个核心,比如我启动了一个进程P。
通过top命令查看,当前cpu的平均利用率不到10%,但p进程的cpu利用率高达95%,
我的理解是p进程只占用了其中一个核心,明显的p进程需要更多的cpu资源,那么为
什么操作系统不分配给它更多的cpu资源呢

  • 写回答

2条回答 默认 最新

  • threenewbee 2018-08-18 09:47
    关注

    因为你的程序没有使用多线程,也就是它是顺序执行的,操作系统不能自动把串行的代码转变成并行的代码分配给cpu,做不到。
    这个需要你作为程序员去实现。
    而且并非所有的算法都能并行计算,比如说从数学的角度看,人类还没有找到一个10进制算圆周率的并行算法。或者简单来说,如果你不算出圆周率开头的位,你不能先算后面的位。
    不过16进制的圆周率并行算法是已经找到了的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮