我们正在Ubuntu 12.04.3上对node.js应用程序(Node v.0.10.22)进行概要分析。它显示了libc-2.15.so占用的巨大CPU。如何确定正在发生的事情以及如何减少libc的影响?
[Bottom up (heavy) profile]:
Note: percentage shows a share of a particular caller in the total
amount of its parent calls.
Callers occupying less than 2.0% are not shown.
ticks parent name
77875 79.4% /lib/x86_64-linux-gnu/libc-2.15.so
2276 2.9% LazyCompile: *clearBuffer _stream_writable.js:289
2276 100.0% LazyCompile: *onwrite _stream_writable.js:243
2276 100.0% LazyCompile: *WritableState.onwrite _stream_writable.js:96
2276 100.0% LazyCompile: ~<anonymous> fs.js:1675
2276 100.0% LazyCompile: ~wrapper fs.js:508
答案 0 :(得分:3)
你可能看到Node.js正在系统调用中休眠。
这可能是在epoll_wait()系统调用中睡眠的node.js。 node.js的未来版本将过滤掉这样的滴答,但是现在 这是不可能的,你必须保持你的应用程序繁忙 剖析。
您还可以在node.js google群组上阅读this relevant thread。