JAVA获取系统相关的信息
?
1獲取JVM輸入?yún)?shù)
List<String> list=ManagementFactory.getRuntimeMXBean().getInputArguments();
2.獲取當(dāng)前JVM進(jìn)程的PID
String name = ManagementFactory.getRuntimeMXBean().getName(); ?
String pid = name.split("@")[0]; ?
3.獲取當(dāng)前系統(tǒng)的負(fù)載
ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage()
4.獲取內(nèi)存相關(guān)的
ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();//堆內(nèi)存
ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage()//堆外內(nèi)存
5.獲取堆棧信息相當(dāng)于jstack
ManagementFactory.getThreadMXBean().dumpAllThreads(false, false)
ThreadInfo 里有線程的信息
?
進(jìn)行垃圾回收監(jiān)控
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 次數(shù)
?List<GarbageCollectorMXBean> list=ManagementFactory.getGarbageCollectorMXBeans();
for(GarbageCollectorMXBean e:list){
logger.info("name={},count={},time={}",e.getName(),e.getCollectionCount(),e.getCollectionTime());
}
---------------------
作者:流子
來(lái)源:CSDN
原文:https://blog.csdn.net/jiangguilong2000/article/details/44544539
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
轉(zhuǎn)載于:https://www.cnblogs.com/stone2967/p/10369658.html
總結(jié)
以上是生活随笔為你收集整理的JAVA获取系统相关的信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java多线程和并发(三),Thread
- 下一篇: DirectX11 With Windo