如何设置java堆大小并手动检查?
答案 0 :(得分:3)
看到这个 http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp 如果你想通过你的程序观察消耗多少内存,请使用jvisualvm.exe(这将在%JAVA_HOME%/ bin文件夹下可用)
答案 1 :(得分:1)
您可以使用-ms
和-mx
选项设置最小和最大堆大小。您还可以使用较旧的-Xms
和-Xmx
选项。
手动检查是什么意思?您可以使用jconsole
查看堆大小。
答案 2 :(得分:0)
只需添加以下开关
-Xms -Xmx
-Xmx
表示最大堆大小,-Xms
表示初始堆大小。
获取堆大小
Runtime.getRuntime().totalMemory();
答案 3 :(得分:0)
java -X
显示了可用于微调JVM的参数列表。最值得注意的是,当涉及到堆-Xms
和-Xmx
时,它允许您设置初始堆大小和最大堆大小。
您可以随时使用Runtime.getRuntime().freeMemory()
进行检查 - 但是值得注意的是,如果您启动JVM,说100MB(堆启动)和1GB堆最大值,则可用内存最初可能为100MB(如果堆上没有任何内容)并且然后随着堆扩展到1Gb而增长。但是,如果您将初始大小和最大大小设置为相同,则freeMemory()将始终反映堆中剩余的确切空闲内存,因为堆永远不会扩展。