我有一个具有 1GB RAM 的虚拟服务器。当我启动 glassfish 时,asadmin start-domain
它会立即分配所有可用内存,尽管我-Xmx128m
在 domain.xml 中定义了内存。我这里缺少选项吗?如何防止 glassfish 使用所有可用内存?
答案1
Glassfish 所需的最低 RAM 为 1GB。您可以在此处查看此文档:GlassFish Enterprise Server v3 硬件和软件要求。因此,将 -Xmx 定义为小于 512M 将不起作用。
编辑:我刚刚意识到你 7 个月前就问过这个问题。希望我的回答能帮到你
答案2
我有一些经验。首先,在运行 Glassfish 之前检查内存使用情况。我从 Centos 5 开始,关闭一些服务后,它消耗了大约 256M RAM。当我启动域时,又消耗了 240M。当我登录 Glassfish 的管理控制台时,又消耗了 150M。我使用“free”命令检查 RAM。另外注意到,start-domain、stop-domain 序列会导致更多的内存泄漏,因为使用的 RAM 比运行 Glassfish 之前要多。我已经将管理服务器的 Xmx 更改为 192M,但它运行时消耗的内存超过了该限制。
Centos 5.9 86_64 Glassfish 3.1.2.2 JVM Oracle 1.7u21