热度: |
因为做实验的需要,最近把实验室的Web数据抽取程序修改为多线程版本并在服务器上做大量的数据抽取工作,服务器是Ubuntu Server 10.01版本,通过Putty连接监控程序的运行情况非常不直观,需要使用一个Java资源监控程序实现对目标程序的实时监控。Jdk1.5版本提供的监控工具是Jconsole,相信很多早期的Java开发人员都使用过这个程序,但Jconsole的界面实在是有点对不起观众,所以在jdk1.6中Oracle提供了一个新的可视化的JVM监控工具Java VisualVM(官方介绍链接:http://download.oracle.com/javase/6/docs/technotes/guides/visualvm/applications_remote.html),在Windows系统下的Java VisualVM启动路径是$java_home$/jdk1.6.0/bin/jvisualvm.exe。
双击启动Java VisualVM后可以看到窗口左侧“应用程序”栏中有“本地”、“远程”、“快照”三个项目。其中“本地”下显示的是在localhost运行的Java程序的资源占用情况,如果本地有Java程序在运行的话启动Java VisualVM即可看到相应的程序名,点击程序名打开相应的资源监控菜单,以图形的形式列出程序所占用的CPU、Heap、PermGen、类、线程的统计信息。“远程”项下列出的远程主机上的Java程序的资源占用情况,但需要在远程主机上运行jstatd守护程序,下面就以实现对远程Ubuntu Server中运行的Java程序资源监控为例说明如何使用Java VisualVM监控远程Java程序。
(1)在服务器上安装jstatd组件。由于安装JDK时配置选项的原因,有的服务器中没有默认安装jstatd组件。jstatd是openjdk中的一个package,使用apt-get命令安装openjdk即可。关于jstatd组件的详细介绍可参考:http://download.oracle.com/javase/6/docs/technotes/tools/share/jstatd.html
sudo apt-get install openjdk-6-jdk
(2)在服务器上配置jstatd的security policy文件。jstatd是一个监控JVM从创建到销毁过程中资源占用情况并提供远程监控接口的RMI(Remote Method Invocation,远程方法调用)服务器程序,它是一个Daemon程序,要保证远程监控软件连接到本地的话需要jstatd始终保持运行。jstatd运行需要通过-J-Djava.security.policy=***指定安全策略,因此我们需要在服务器上建立一个指定安全策略的文件jstatd.all.policy,文件内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
(3)修改服务器hosts文件中的IP地址。要使Java VisualVM成功连接到远程服务器上,服务器端应该在/etc/hosts文件中把本机地址设为本机的IP地址。使用hostname -i命令查看,如果显示的是127.0.0.1或者与本机实际IP不一致的话,需要把/etc/hosts文件中相应的地址改为本机实际IP。
(4)运行jstatd守护程序。由于jstatd需要保持一直运行,所以建议使用screen命令执行jstatd程序,命令如下:
screen jstatd -J-Djava.security.policy=jstatd.all.policy
如果需要RMI日志功能的话,还可以在启动参数中加入-J-Djava.rmi.server.logCalls=true。jstatd开始运行后,使用CTRL+A+D断开screen界面,回到shell界面。如果想切换回jstatd运行界面的话,使用screen -r -d命令即可。
(5)通过Java VisualVM连接到服务器监控Java程序。在Java VisualVM程序窗口左侧“远程”项目右键选择“添加远程主机”,在弹出的对话框中输入远程主机的IP地址,确认提交后即可看到相应的远程主机和在上面运行的Java程序,连接成功后应该会显示Jstatd及其PID。
另外一种方式:
tomcat catalina中配置
JAVA_OPTS=' -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'
http://www.chenweionline.cn/archives/56.htm
相关推荐
5. **Java性能分析工具**(jconsole、jvisualvm等):这些工具帮助开发者监控和管理Java应用程序的性能,包括内存使用、线程状态、CPU消耗等。 6. **Java调试器**(jdb):用于查找和修复代码中的错误。`jdb`提供了...
标题中的“jdk1.6集成jjwt的问题”指的是在Java Development Kit (JDK) 版本1.6的环境下,尝试整合JSON Web Token (JWT) 库jjwt时遇到的挑战。JWT是一种开放标准(RFC 7519),用于在各方之间安全地传输信息作为 ...
1.okhttp3.8源码使用jdk1.6重新编译,已集成了okio,在javaweb项目中使用,未在安卓项目中使用 2.okhttp3.8源码使用jdk1.6重新编译_okhttp3.8.0-jdk1.6.jar
mac for jdk1.6 jdk6 安装版 里面有两个jdk1.6的安装包,都可以用 如果电脑上安装有1.7,1.8等高版本jdk就不要再下安装包了,安装包安装会报错 命令是这个:brew install java6或 brew install homebrew/cask-...
除了JDK1.6的下载链接之外,提供的部分还提到了一些与Java相关的电子书资源。这些书籍涵盖了Java编程的基础知识、高级特性以及实战应用等方面的内容,对于Java学习者来说是非常宝贵的资源。需要注意的是,对于这些...
JDK1.6是Java历史上的一个重要版本,提供了丰富的API(应用程序接口)供开发者使用。API文档是Java开发者的重要参考资料,它详细阐述了每个类、接口、方法和常量的功能、用法及参数说明,极大地方便了开发过程。 **...
JDK1.6是Oracle公司发布的较早版本,适用于开发和调试Java应用程序。这个压缩包提供的JDK1.6版本无需安装,用户可以直接解压后使用,这对于开发者来说是一个便捷的选择,特别是在某些旧项目或者特定环境下仍需使用这...
本资源是JDK 1.6的32位免安装纯绿色版本,非常适合那些希望快速启动Java开发而无需进行复杂安装过程的用户。 JDK 1.6,也被称为Java SE 6,是Sun Microsystems(后被Oracle公司收购)发布的Java平台标准版的一个...
在压缩包中的"jre6"文件夹,就是JRE 1.6的组件,它包括Java虚拟机(JVM)、Java核心类库以及其他支持Java应用程序运行的组件。 "jdk1.6.0_45"是JDK 1.6的特定更新版本,其中“_45”代表的是更新编号。这个版本包含...
然而,在JDK 1.6及更早版本中,Java标准库(rt.jar)并未内置对Base64编码的支持,这给开发者带来了一些不便。本篇将详细介绍如何在JDK 1.6环境下解决Base64编码问题,并提供一种替代方案。 首先,让我们理解为什么...
JDK(Java Development Kit)是Oracle公司提供的用于开发和运行Java应用程序的工具包,其中1.6版本是Java历史上的一个重要里程碑,广泛应用于各种软件开发。本文将详细介绍在Windows 32位操作系统上安装JDK1.6的过程...
- **编译Java程序**:在命令行中使用`javac HelloWorld.java`来编译源文件。 - **运行Java程序**:使用`java HelloWorld`来执行编译后的字节码文件。 - **调试Java程序**:通过`jdb`命令行工具或集成在IDE中的调试...
Java JDK 1.6是Java开发工具包的一个早期版本,主要针对Windows x64操作系统。JDK(Java Development Kit)是开发和运行Java应用程序所需的核心组件,包含了编译器、调试器、Java运行环境(JRE)以及其他工具,是...
aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-15.8.0-jdk1.6aspose-words-...
10. **JMX (Java Management Extensions)**:增强了对Java应用程序的管理和监控能力,可以远程监控和管理Java应用。 **JDK 1.6.0_39更新内容** 这个特定的更新主要集中在错误修复和安全补丁上,确保开发者在使用...
描述中提到的“jdk1.6版本windows(32位&64位)安装包,环境变量配置提示”意味着在安装完成后,用户需要进行环境变量的配置以确保Java能正常工作。环境变量配置是Java开发和运行过程中的关键步骤,主要包括设置`JAVA_...
6. **性能监控和管理工具**:如jconsole或IBM自己的VisualVM工具,可以帮助开发者监控应用程序的性能、内存使用情况、线程状态等。 在Linux 64位环境下,IBM JDK 1.6能够充分利用操作系统的优势,提供更好的内存...
在给定的"jdk1.6解压版(免安装版)"中,用户无需经历传统意义上的安装过程,只需将压缩包解压到指定位置,然后配置系统环境变量,就可以开始使用这个版本的JDK进行Java程序的开发和运行。 1. **JDK1.6**:这是Java的...
在资源文件中的`解决JDK1.6下的Base64.jar`可能是包含了一个兼容JDK 1.6的Base64实现的第三方库,你可以直接将这个jar包添加到你的项目类路径中,这样就可以使用其中提供的Base64类而无需修改代码。添加方法通常包括...
使用免安装版JDK1.6时,你需要将解压后的目录添加到系统的PATH环境变量中,以便命令行可以识别`javac`、`java`等命令。配置完成后,你就可以开始编写和运行Java程序了。 需要注意的是,尽管JDK1.6对于某些遗留项目...