我知道 taskset 可用于强制进程在特定 cpu 上运行。
如何强制 tomcat 在特定 CPU 上运行?
然后我想在单独的 CPU 上运行 apache bench。
更新
我很欣赏你关于不要这样做的建议,但我真的在寻找如何去做:)
这篇文章展示了如何:http : //mailinator.blogspot.com/2010/02/how-i-sped-up-my-server-by-factor-of-6.html
只是有点困惑你怎么知道哪个 CPU 是基于十六进制的?
今天我注意到一件非常奇怪的事情。1 个 CPU 内核始终处于 0 使用状态。
这是一个错误吗?
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi,100.0%si, 0.0%st
Cpu1 : 37.7%us, 44.4%sy, 0.0%ni, 13.9%id, 2.6%wa, 0.0%hi, 1.3%si, 0.0%st
Cpu2 : 56.0%us, 17.9%sy, 0.0%ni, 13.6%id, 12.3%wa, 0.0%hi, 0.3%si, 0.0%st
Cpu3 : 43.0%us, 40.4%sy, 0.0%ni, 13.2%id, 3.0%wa, 0.0%hi, 0.3%si, 0.0%st
Cpu4 : 45.4%us, 13.9%sy, 0.0%ni, 29.8%id, 10.9%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu5 : 32.3%us, 47.5%sy, 0.0%ni, 16.8%id, 3.0%wa, 0.0%hi, 0.3%si, 0.0%st
Cpu6 : 69.0%us, 12.5%sy, 0.0%ni, 15.8%id, 2.3%wa, 0.0%hi, 0.3%si, 0.0%st
Cpu7 : 38.1%us, 42.4%sy, …Run Code Online (Sandbox Code Playgroud) 许可证限制将我们限制为 2 台双核服务器或一台 1 台四核服务器。
运行 2 个双核服务器还是 1 个四核服务器时,我们应该看到更好的性能吗?
双核处理器现在更难找到了。哪个会提供最佳性能?
编辑感谢您的答复。该应用程序运行 Tomcat Java 并执行 XSL/XML 转换。Tomcat 上是否会有核心到核心的通信,还是每个请求都在单个线程/核心中处理?我们目前拥有的服务器都是双核至强 E3113 3GHz
编辑该应用程序处理大量的 XML 吞吐量,这是一项内存、CPU 和网络密集型任务。在幕后,它使用了 DOM、XPath 和 Xerces 的组合。
我正在获取戴尔服务器的规格,一个 cpu 是具有 6 个内核的 Intel Xeon,另一个是 4 个内核。我得到了什么?我需要六个核心吗?那给我什么?我不知道多核 CPU 能给我带来什么,但这就是我所能得到的。
谢谢你的帮助。