如何以编程方式确定JVM中可用的资源限制?

时间:2019-03-14 10:51:49

标签: java jvm resources

是否可以以编程方式确定JVM的资源限制?我正在尝试确定特定进程消耗了多少可用资源。 我知道有很多工具,例如jconsole可以做到这一点,但是我需要在代码中做到这一点,而且我还没有碰到任何东西可以做到这一点。从其他方面来看,可用线程的数量将由硬件决定,应用程序不会使用固定线程池。 然后,我将使用ThreadMXBean来确定特定进程正在使用多少线程,并以此为基础计算百分比。

1 个答案:

答案 0 :(得分:0)

 Runtime runtime = Runtime.getRuntime();
long maxMemory = runtime.maxMemory();
long mTotalMemory = runtime.totalMemory();
long freeMemory = runtime.freeMemory();
int mAvailableProcessors = runtime.availableProcessors();

long mTotalFreeMemory = freeMemory + (maxMemory - mTotalMemory);