1

我执行以下命令:

java -Xms1024M -Xmx1024M mypackage.MyClass

我希望 JVM 立即捕获资源,但实际上我的资源管理器显示 JVM 捕获了 7.2M。

有人知道是什么原因吗?

PS:文档(man java)说明了以下选项:

-Xmsn

指定内存分配池的初始大小(以字节为单位)。此值必须是大于 1MB 的 1024 的倍数。附加字母 k 或 K 表示千字节,或附加 m 或 M 表示兆字节。默认值是在运行时根据系统配置选择的。有关详细信息,请参阅 HotSpot 人体工程学示例:

-Xms6291456

-Xms6144k

-Xms6m

编辑:

java -version

返回:

java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.1) (6b18-1.8.1-0ubuntu1~9.10.1)
OpenJDK Server VM (build 16.0-b13, mixed mode)

操作系统:9.10 - 业力考拉

4

2 回答 2

2

请注意,文档并没有说“G”是允许的后缀。尝试使用 1024M 而不是 1G。

于 2010-10-06T19:46:00.127 回答
0

堆大小不控制使用了多少内存,只控制了多少可用资源以及需要完成多少垃圾收集。VM 可以使用小于或大于最大和最小堆大小。有关如何找出所需堆的更多信息,请查看此线程

如何选择jvm堆大小?

于 2011-04-07T16:01:19.090 回答