【发布时间】:2015-01-22 21:28:41
【问题描述】:
我在使用 Ubuntu 的强大多核服务器上运行 c++ 代码时遇到问题。问题是我的应用程序使用的 CPU 不到 10%。但是在我使用不同版本的 Ubuntu 的 i3 笔记本中,同一个应用程序使用了大约 100% 的一个 cpu。
我的操作系统:
Linux version 3.11.0-23-generic (buildd@batsu) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #40~precise1-Ubuntu SMP Wed Jun 4 22:06:36 UTC 2014
服务器的操作系统:
Linux version 3.11.0-12-generic (buildd@allspice) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu7) ) #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013
至少现在,我不需要并行化代码,也不需要让我的代码更有效率。我只想知道如何才能实现 100% 使用此服务器的核心。
谁能帮帮我?
【问题讨论】:
-
你用什么工具来显示CPU使用率?该工具可能会将使用情况显示为 所有 CPU 的一小部分,因此如果您的代码是单线程的,那么它似乎只使用了多处理器的一小部分。
-
我正在使用顶部。但是在服务器上运行的时间比我的笔记本要长。
-
我认为你的方法是错误的。你应该考虑“我如何让这个应用程序计算/完成它需要最有效地做的事情”,而不是“我怎样才能让它成为一个 CPU 受限的程序,以尽可能多地使用 CPU 时间”.. .