十三、JVM 性能信息

13. 文件操作工具类

13.1 使用类

org.voovan.tools.TPerformance

  • 内存类型枚举
  1. /**
  2. * 内存信息类型枚举
  3. */
  4. public enum MEMTYPE{
  5. NOHEAP_INIT,
  6. HEAP_INIT,
  7. NOHEAP_MAX,
  8. HEAP_MAX,
  9. NOHEAP_USAGE,
  10. HEAP_USAGE,
  11. NOHEAP_COMMIT,
  12. HEAP_COMMIT
  13. }

13.2 方法说明

13.2.1 获取当前系统的负载情况
  1. public static double getSystemLoadAverage()
  • 返回值: 系统的负载情况。

13.2.2 获取当前系统 CPU 数
  1. public static double getProcessorCount()
  • 返回值: 系统 CPU 数。

13.2.3 获取系统单 CPU 核心的平均负载
  1. public static double cpuPerCoreLoadAvg()
  • 返回值: 单 CPU 核心的平均负载。

13.2.4 JVM 虚拟机的内存使用情况
  1. public static double getJVMMemoryUsage()
  • 返回值: 内存使用情况。

13.2.5 获取部分内存信息(栈,非栈)
  1. public static long getHeapMemoryInfo(MEMTYPE memType)
  • memType: 获取的信息类型。
  • 返回值: 当前内存数值。

13.2.6 获取当前内存信息
  1. public static MemoryInfo getMemoryInfo()
  • 返回值: 内存信息描述对象。

13.2.7 获取虚拟机中的对象信息
  1. public static Map<String,ObjectInfo> getJVMObjectInfo(long pid, String regex, Integer headCount) throws IOException
  2. public static Map<String,TPerformance.ObjectInfo> getJVMObjectInfo(String regex, int headCount)
  • pid: 进程 Id。
  • regex: 对象匹配字符串。
  • headCount: 返回的对象数。
  • 返回值: 虚拟机中的对象信息。

13.2.8 获取当前 JVM 线程信息描述
  1. public static List<Map<String,Object>> getThreadDetail(String state, boolean withStack)
  • state: 线程状态, nul,返回所有状态的线程。
  • boolean: 是否包含堆栈信息。
  • 返回值: 线程信息集合。

13.2.9 获取JVM信息
  1. public static Map<String,Object> getJVMInfo()
  • 返回值: JVM 信息的 Map。

13.2.10 获取指定进程的 GC 信息
  1. public static Map<String, String> getJVMGCInfo(long pid)
  • pid: 进程 Id。
  • 返回值: GC信息。