[英]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.