[英]How can i check servers' “JVM / CPU / Memory” at runtime?
创建作业后,我想将其分配给密度较小的服务器。 如何在运行时检查服务器的“ JVM / CPU /内存”? (我有4个服务器)(必须向我返回一个值)
您可以通过利用系统属性和Java Management API来实现,而无需外部依赖。
这些属性足以确定VM。
java.vm.specification.version Java Virtual Machine specification version java.vm.specification.vendor Java Virtual Machine specification vendor java.vm.specification.name Java Virtual Machine specification name java.vm.version Java Virtual Machine implementation version java.vm.vendor Java Virtual Machine implementation vendor java.vm.name Java Virtual Machine implementation name java.specification.version Java Runtime Environment specification version java.specification.vendor Java Runtime Environment specification vendor java.specification.name Java Runtime Environment specification name
而且,您可以使用以下管理Bean来确定CPU和内存:
ManagementFactory.getMemoryMXBean();
ManagementFactory.getOperatingSystemMXBean();
嗯,您提供的信息不多。 您是否要以编程方式检查这些信息? 使用哪些服务器? 服务器计算机上安装了什么操作系统?
如果您使用任何种类的Sun Application Server(Glassfish / Oracle AppServ),则可以使用jconsole 。 这是一个JMX工具,可让您远程控制AppServer。
它与您的jdk一起提供,可以在%JAVA_HOME%/bin/jconsole.exe
。
启动后,您可以通过IP,端口(对于Glassfish 8686)和用户凭据连接到远程计算机。
谷歌快速搜索显示,它还可以通过添加一些配置来监视tomcat,jboss和websphere服务器。
例如Tomcat:
%TOMCAT_HOME%/bin/catalina.bat
SET JAVA_OPTS=-Dcom.sun.management.jmxremote
(在第一个注释的块之后) 希望这有所帮助,玩得开心!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.