升级到 JDK 6 Update 12 (1.6.0_12) 之后,Performance Monitor 在“应用程序”窗口中不显示任何应用程序。当系统上的任何应用程序正在运行 JDK 6 Update 12 时,将出现此问题,即使 Performance Monitor 运行的是 JDK 6 Update 11 或更低版本也是如此。
解决方法:卸载 JDK 6 Update 12,恢复到 JDK 6 Update 11 (1.6.0_11)。
当 Performance Monitor 丢失与受监视项目的连接时,不会关闭该项目已打开的任意视图。以后,如果连接恢复,则尝试打开该项目的视图将失败。Performance Monitor 会将该项目的现有非活动视图显示在前面。
解决方法:关闭现有的非活动视图,然后打开一个新视图。
可以使用“窗口”菜单上的“关闭非活动视图”命令来关闭所有非活动视图,而不必逐一查找并选择每个非活动视图。
添加 JMX 连接,在树窗格中将其展开之后,有时连接下的项目可能要花 1 分钟以上才能显示。
解决方法:无。添加 JMX 连接之后,Performance Monitor 会向连接发送几条 JMX 消息以建立该连接可监视项目的列表。这些消息所经过的响应时间取决于多种因素,包括:托管域或实例的系统上的负载、托管连接的域或实例上的负载,以及网络带宽。
即使群集上有 Web 应用程序可用并已启用,也只有群集的域管理服务器实例显示 JDBC 连接池。其他实例不显示 JDBC 连接池。
解决方法:在 GlassFish 管理控制台中,选择与 Web 应用程序关联的 JDBC 资源。然后,使用“管理目标”命令使资源在群集上可用并启用。
当在 GlassFish 管理控制台中使用 asadmin start-cluster 命令或“启动群集”命令启动群集时,GlassFish 会同时启动所有群集实例。某些情况下,同时启动所有群集实例会导致某些实例的监视功能在启动时不可用。在 Performance Monitor 中,这些实例会在群集视图上的“内存”和“正常运行时间”字段中显示“不可用”。
在通过 SSL 使用 JMX 的 8 个实例(这些实例分布在统一硬件上)的群集上也发生过此问题。在没有 SSL 的较大群集上也可能发生此问题。
解决方法:以错列的时间间隔逐个启动实例。例如,使用以 10 至 20 秒钟的时间间隔启动实例的脚本可防止发生此问题。(确切的延迟时间依硬件而定。)
使用配置程序(在本地 GlassFish 域和 JVM 上可用)对已配置的应用程序的性能产生不良影响。启动文件配置时,已配置的应用程序将暂停,同时启用文件配置仪器;停止文件配置时,将再一次暂停已配置的应用程序,并禁用文件配置仪器。进行文件配置时,已配置的应用程序的性能会下降。
解决方法:无。建议不要在生产服务器上使用配置程序。对于生产前系统和开发系统,请参见以下提示:
如果要对 Web 应用程序(不是整个服务器)进行文件配置,请使用 NetBeans 配置程序及其 GlassFish 集成,而不是 Performance Monitor 中的配置程序。NetBeans 配置程序自动将文件配置仪器限定为该应用程序,因此整体服务器性能不会受到很大影响。
如果您需要对服务器进行文件配置,请尝试定义小的根集 (rootset)(方法入口点),以便只有服务器的若干部分针对文件配置而进行程序校验。此外,请向已配置的服务器和 Performance Monitor 提供尽可能多的内存和 CPU 时间。
在没有 Internet 连接的系统上运行 Performance Monitor 时,联机帮助(网址为 http://wikis.sun.com/display/PerfMonitorOLH)不可访问。
解决方法:无。
在 Windows Vista 上,下载 Performance Monitor 并用 cygwin 命令 shell 解压缩后,Performance Monitor 无法运行。Windows Vista 会显示以下消息:
Windows 无法访问指定的设备、路径或文件。您可能没有访问该项目的适当权限。
解决方法:请勿使用 cygwin 命令 shell 解压缩 Performance Monitor。
在 Windows XP 上,如果 Performance Monitor 和 Cisco VPN 正在运行,则尝试启动本地 GlassFish 域可能会失败,同时产生一系列异常。
解决方法:执行以下步骤:
退出 Performance Monitor。
停止所有与服务器启动失败相关的 Java VM。
启动 GlassFish 域。
等待服务器启动完成。
启动 Performance Monitor。