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