WEB开发网
开发学院软件开发Java 驯服 Tiger: 虚拟机更新 阅读

驯服 Tiger: 虚拟机更新

 2009-11-04 00:00:00 来源:WEB开发网   
核心提示:在驯服 Tiger 的这一期中,John Zukowski 介绍了最新的 Java 虚拟机如何改善启动时间、降低内存需求、提高性能,驯服 Tiger: 虚拟机更新,Tiger 提供了共享的数据档案文件、新的线程调度算法以及致命错误处理器(用来处理故障),请在本文附带的 讨论论坛 上与作者和其他读者分享您对本文的想法,如

在驯服 Tiger 的这一期中,John Zukowski 介绍了最新的 Java 虚拟机如何改善启动时间、降低内存需求、提高性能。Tiger 提供了共享的数据档案文件、新的线程调度算法以及致命错误处理器(用来处理故障)。请在本文附带的 讨论论坛 上与作者和其他读者分享您对本文的想法。(也可以单击本文顶部或底部的 讨论 访问讨论论坛。)

致命错误处理器

JVM 包含几个新的命令行选项。其中一个不太标准的选项是“致命错误处理器”。用 -XX:OnError 选项启动 JVM,可以指定在发生错误和 JVM 有故障时要执行的命令。清单 1 显示了几个这样的选项:


清单 1. 一些 OnError 处理选项
 -XX:OnError="gcore %p; dbx - %p" 
 -XX:OnError="gdb %p" 
 -XX:OnError="pmap %p" 

JVM 中发生致命错误时,就会执行引号中的命令。%p 选项用进程 ID 替换。想故意制造些错误并不容易,但是如果偶然发现某种情况确实重复发生,那么通过处理器得到的信息是极有帮助的。

OnError 选项使用 Java 调试接口(Java Debug Interface,JDI) 服务性代理连接器桥(serviceability agent connector bridge)。有了这个桥,就能够连接核心文件或者已经安装的虚拟机,以及其他任务。如下所示,随 JDK 提供了几个诊断工具,它们利用了这个桥,但是最后三个工具在 Microsoft Windows 平台上不能用:

jps —— 得到进程 ID

jstat —— 得到进程 ID 的统计值(jstat -gc pid)

jinfo —— 得到 JVM 的配置信息

jmap —— 打印库的内存映射

1 2 3  下一页

Tags:驯服 Tiger 虚拟

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接