ubuntu 14.04和nodejs的CPU使用率较低

时间:2015-04-17 21:05:19

标签: node.js ubuntu-14.04 intel

我有两台运行完全相同的nodejs应用程序的服务器。我正在进行负载测试,我无法弄清楚为什么我的一台服务器不会使用更多的CPU和RAM。

负载测试时速度要慢得多,但它甚至不能充分利用所有空闲的CPU和内存。

如果我在负载测试期间运行顶部,这些是我得到的数字

 PID  User      PR   NI VIRT    RES     SHR  S   %CPU %MEM  TIME    COMMAND
 1308 ubuntu    20   0 1002524  87508   9788 S   5.3  4.3   0:03.06 nodejs                                                                                                                             
 1307 ubuntu    20   0  925540  75288   9436 S   5.0  3.7   0:02.17 nodejs                                                                                                                             
 1308 ubuntu    20   0  992076  77068   9788 S  14.0  3.8   0:03.48 nodejs                                                                                                                             
 1307 ubuntu    20   0  937140  86904   9436 S   2.7  4.3   0:02.25 nodejs                                                                                                                             
 1308 ubuntu    20   0 1012936  98000   9788 S  14.3  4.8   0:03.91 nodejs                                                                                                                             
 1307 ubuntu    20   0  942940  92644   9436 S   1.0  4.5   0:02.28 nodejs                                                                                                                             
 1307 ubuntu    20   0  943204  92976   9436 S   6.0  4.6   0:02.46 nodejs                                                                                                                             
 1308 ubuntu    20   0 1011764  96804   9788 S   6.0  4.7   0:04.09 nodejs                                                                                                                             
 1307 ubuntu    20   0  933644  83388   9436 S   8.6  4.1   0:02.72 nodejs                                                                                                                             
 1308 ubuntu    20   0 1008720  93556   9788 S   5.3  4.6   0:04.25 nodejs                                                                                                                             
 1308 ubuntu    20   0 1000184  85256   9788 S   8.6  4.2   0:04.51 nodejs                                                                                                                             
 1307 ubuntu    20   0  944092  93988   9436 S   7.6  4.6   0:02.95 nodejs                                                                                                                             
 1307 ubuntu    20   0  941748  91816   9436 S  15.0  4.5   0:03.40 nodejs                                                                                                                             
 1308 ubuntu    20   0 1004832  90008   9788 S   1.3  4.4   0:04.55 nodejs                                                                                                                             
 1307 ubuntu    20   0  933460  82632   9436 S   9.0  4.1   0:03.67 nodejs 

运行两个进程我看不到内存超过4.7%而CPU却没有达到14%。

服务与具有一个内核和一半内存的计算机完全相同的资源需要两倍的时间。

我的其他服务器正在使用%52的CPU。当然,它有一个核心,上面有两个核心,但似乎不会产生差异。

我下载了cpufrequtils并将GOVERNOR设置为性能,但我认为它不起作用。这是我运行cpufreq-info

时得到的结果
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.
analyzing CPU 1:
  no or unknown cpufreq driver is active on this CPU
  maximum transition latency: 4294.55 ms.

这是CPU

Intel(R) Core(TM)2 CPU          6300  @ 1.86GHz

任何想法或提示都将不胜感激

1 个答案:

答案 0 :(得分:0)

如果两台服务器都运行相同的node.js应用程序,那么您可能需要 比较机器上的其他设置,它们是否相同? ulimit -a

对于双/多核核心机器,node.js是单线程的,除非你使用集群来使用它,否则它不会受益于双/多核。