2010-06-16 96 views
0

几个 “Java的版本” 时,这仅仅是出于好奇理解高CPU使用并行运行

我有一个小外壳脚本

为((I = 0;我< 50;我+ + ))

Java的版本&

当我运行由特区这是我的CPU使用情况报告如下
下午7时51分25秒CPU%用户%不错%SYSTEM%IOWAIT%盗取%闲置
下午7时51分三十〇秒全部6.98 0.00 1.75 1.00 0.00 90.27
下午7时51分31秒全部43.00 0.00 12.00 0.00 0.00 45.00
7时51分32秒PM全部86.28 0.00 13.72 0.00 0.00 0.00
下午7点51分33秒全部5.25 0.00 1.75 0.50 0.00 92.50

正如你所看到的,在第三行的CPU是100%
我的Java版本是1.5。 0_22-B03。

回答

3

这几乎是你所期望的。同时加载50个Java虚拟机实例,每个实例都执行所有基本的初始化代码(保留堆内存,加载核心类库并初始化它们,启动垃圾回收器等)。考虑到2秒,它的性能也相当不错。

类型此命令在你的shell:

java -verbose -version 

输出是很有趣....

+1

这真的很有趣。所以,当出现在“Java的版本”也不是那么轻。:) 其实这种好奇心开始与它运行一些shell脚本的一些监控脚本(在Linux中)的性能问题得到一些进程的状态(使用“ PS“)。 对于我们正在监视的每个产品,此shell脚本每分钟被调用多次。在此期间,CPU处于100%。 – Prateesh 2010-06-16 19:24:38