JAVA获取系统相关的信息
?
1獲取JVM輸入參數
List<String> list=ManagementFactory.getRuntimeMXBean().getInputArguments();
2.獲取當前JVM進程的PID
String name = ManagementFactory.getRuntimeMXBean().getName(); ?
String pid = name.split("@")[0]; ?
3.獲取當前系統的負載
ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage()
4.獲取內存相關的
ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();//堆內存
ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage()//堆外內存
5.獲取堆棧信息相當于jstack
ManagementFactory.getThreadMXBean().dumpAllThreads(false, false)
ThreadInfo 里有線程的信息
?
進行垃圾回收監控
Jstat.main(new String[]{"-gcutil", "-h5",pid,"1s"});
?
如何獲取HotSpotDiagnosticMXBean ? ?
MBeanServer server = ManagementFactory.getPlatformMBeanServer(); ?
HotSpotDiagnosticMXBean ? hotspotDiagnosticMXBean =?newPlatformMXBeanProxy(server, "com.sun.management:type=HotSpotDiagnostic",?HotSpotDiagnosticMXBean.class);
?
//獲取young GC 和full GC 次數
?List<GarbageCollectorMXBean> list=ManagementFactory.getGarbageCollectorMXBeans();
for(GarbageCollectorMXBean e:list){
logger.info("name={},count={},time={}",e.getName(),e.getCollectionCount(),e.getCollectionTime());
}
---------------------
作者:流子
來源:CSDN
原文:https://blog.csdn.net/jiangguilong2000/article/details/44544539
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
轉載于:https://www.cnblogs.com/stone2967/p/10369658.html
總結
以上是生活随笔為你收集整理的JAVA获取系统相关的信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java多线程和并发(三),Thread
- 下一篇: DirectX11 With Windo