1
10
我看不出你的代码有什么问题。 但是,不幸的是,您不能在Java中指定处理器关联。所以,这实际上由操作系统决定,而不是由JVM决定。这都是关于你的操作系统如何处理线程。 您可以将Java线程分割成不同的进程,并用本机代码将它们包装起来,从而为每个核心放置一个进程。当然,这会使通信复杂化,因为它是进程间的而不是线程间的。无论如何,像boink这样的流行网格计算应用程序就是这样工作的。
|
2
4
我猜这是JVM/OS固有的,不一定是你的代码。检查Sun的各种JVM性能优化文档,例如。
http://ch.sun.com/sunnews/events/2009/apr/adworkshop/pdf/5-1-Java-Performance.pdf
建议使用
祝你好运! |
3
2
显然,您的VM是在所谓的“客户机”模式下运行的,在这种模式下,所有Java线程都映射到一个本机OS线程,因此由一个CPU内核运行。尝试调用JVM
|
4
1
找到对应内核版本 2.6.18-194.11.4.el5#1 SMP Tue 9月21日05:04:09美国东部时间2010 x86 x86 x86 x86 GNU/Linux 英特尔(R)至强(R)CPU E5530@2.40GHz http://browse.geekbench.ca/geekbench2/view/182101 Java 1.6.0_20-b02版
有趣的是,我之所以来看这篇文章,是因为我怀疑我的应用程序没有利用所有的内核,因为cpu利用率从未增加,但响应时间开始恶化 |
5
0
我注意到,即使在C语言中,一个紧循环也经常会出现这样的问题。根据操作系统的不同,您也会看到相当大的差异。 根据您使用的报告工具,它可能不会报告某些核心服务使用的CPU。
如果你的jvm没有使用绿色线程,在应用程序中设置线程优先级可能也会有点帮助。 很多变数。 |
PellePetimeter · 内容被裁剪,然后缩放窗口 6 年前 |
Miguel · 绘制逻辑回归非标度值 7 年前 |
manidos · 具有多个定时器的NodeJS应用程序如何扩展? 8 年前 |
user2290362 · Numpy scale 3D阵列 9 年前 |
Christo S. Christov · 均匀缩放特定点 10 年前 |
VirtualProdigy · 使用surfaceview和画布缩放动画 10 年前 |