在阅读了关于此主题的已经提出的问题以及进行了大量搜索之后,我仍然无法清楚地看到 -Xms 选项的区别。
我的问题是: java -Xms=512m -Xmx=512m
和 java -Xms=64m -Xmx=512m
之间有什么区别?
现在我有以下答案:
唯一的区别在于应用程序运行期间运行的垃圾回收次数和内存分配次数。我是正确的吗?
以下是我这个答案的原因:
将 -Xms
选项设置为 512m
并不会导致我的应用程序在启动后真正使用 512M
物理内存。我猜这与现代操作系统虚拟内存管理和惰性页面分配有关。(我注意到将 -Xms
设置为 512M
或 64M
对于 Linux 上的 top 或 Windows 上的任务管理器报告的初始使用内存没有任何影响)
有人可以帮我理解这个 Xms
选项的影响或指向可以帮助我理解它的链接吗?