【发布时间】:2016-04-14 13:46:08
【问题描述】:
假设我有一个专门用于运行一个程序的 JVM,我如何才能获得分配给 JVM 的 RAM 量?
假设我的计算机有 4GB,我通过 JVM 参数指定它应该使用的最大值是 2GB,那么 2GB 是我应该得到的输出。
相反,如果我不给JVM指定任何参数,输出应该是默认值,不管它是什么。
【问题讨论】:
假设我有一个专门用于运行一个程序的 JVM,我如何才能获得分配给 JVM 的 RAM 量?
假设我的计算机有 4GB,我通过 JVM 参数指定它应该使用的最大值是 2GB,那么 2GB 是我应该得到的输出。
相反,如果我不给JVM指定任何参数,输出应该是默认值,不管它是什么。
【问题讨论】:
long maxMemory = Runtime.getRuntime().maxMemory();
这是 JVM 可以分配的最大内存量,以字节为单位。
有关该方法的详细信息,请参见以下链接: https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#maxMemory()
【讨论】:
maxMemory(),但由于通过 javacpp 使用 C++ 代码,Windows 中的进程峰值约为 11GB。