Mr-Luer
2018-08-18 08:54
采纳率: 48.6%
浏览 1.6k

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进制的圆周率并行算法是已经找到了的。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 疯癫行者 2018-08-18 14:15

    赞同楼上回答。需要把工作并行起来,才能利用多个核心一起工作。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题