最大化 AIX 上的 Java 性能,第 3 部分: 更多就是更好
2008-11-10 08:26:39 来源:WEB开发网vmstat
vmstat 已在本系列的第 2 部分进行了介绍。要从 vmstat 输出中最需要了解的信息是是否发生了分页,以及分页是否是由于堆大小大于可用的物理内存而导致的。在大多数情况下,由于更大的堆而获得的任何可伸缩性好处,都抵不过由于堆分页而导致的严重性能降低,因此应该避免使用较大的堆。
svmon
svmon 是监视 Java 进程(尤其是本机堆)时最有用的工具。文章“When segments collide”(http://www.ibm.com/developerworks/eserver/library/es-segcollide.html)提供了如何使用 svmon -P <pid> -m 来监视 AIX 上的 Java 进程本机堆的示例。但是还存在另一种形式 svmon -P <pid> -m -r,此命令对于确定本机堆碎片非常有效。 -r 开关打印正在使用的地址范围,因此它提供了每个段的当前使用情况的更准确视图。例如,请考虑下面经过部分编辑的输出: Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd LPage
10556 java 681613 2316 2461 501080 N Y N
Vsid Esid Type Description LPage Inuse Pin Pgsp Virtual
22ac4 9 mmap mapped to sid b1475 - 0 0 - -
21047 8 mmap mapped to sid 30fe5 - 0 0 - -
126a2 a mmap mapped to sid 91072 - 0 0 - -
7908c 7 mmap mapped to sid 6bced - 0 0 - -
b2ad6 b mmap mapped to sid b1035 - 0 0 - -
b1475 - work - 65536 0 282 65536
30fe5 - work - 65536 0 285 65536
91072 - work - 65536 0 54 65536
6bced - work - 65536 0 261 65536
b1035 - work - 45054 0 0 45054
Addr Range: 0..45055
e0f9f 5 work shmat/mmap - 48284 0 3 48284
19100 3 work shmat/mmap - 46997 0 463 47210
c965a 4 work shmat/mmap - 46835 0 281 46953
7910c 6 work shmat/mmap - 37070 0 0 37070
Addr Range: 0..50453
e801d d work shared library text - 9172 0 0 9220
Addr Range: 0..30861
a0fb7 f work shared library data - 105 0 1 106
Addr Range: 0..2521
21127 2 work process private - 50 2 1 51
Addr Range: 65300..65535
a8535 1 pers code,/dev/q109waslv:81938 - 11 0 - -
Addr Range: 0..11
更多精彩
赞助商链接