繁体   English   中英

如何在运行时检查服务器的“ JVM / CPU /内存”?

[英]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 (在第一个注释的块之后)
  • 重新启动服务器
  • 使用jconsole

希望这有所帮助,玩得开心!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM