gpt4 book ai didi

Java 进程使用的 RAM 多于分配的 RAM?

转载 作者:太空狗 更新时间:2023-10-29 11:10:18 27 4
gpt4 key购买 nike

基本上我在 Centos 6.2 16GB 系统上运行我的世界服务器

我通过 rtoolkit 引导来启动我的服务器,现在我分配它使用 12GB,但它使用的 muc 比这多,我不知道为什么。我运行此命令来运行 jar 文件:

java -Xmx30M -Xms30M -XX:MaxPermSize=40M -jar Minecraft_RKit.jar USER:PASS

然后使用以下命令运行进程:

java -Xms12288M -Xmx12288M -Djline.terminal=jline.UnsupportedTerminal -jar /home/craftbukkit.jar nogui

现在,如果我查看我的 Webmin 模块,我可以看到它正好使用了 18025792 kB 的 RAM。比我分配的多得多。这随后导致进程使用过多内存,以至于系统崩溃。

我可能在这里犯了一个愚蠢的错误,但如果有人能阐明这种情况,我将不胜感激。

非常感谢。

最佳答案

JVM 中很少有其他内存使用者:

  • 在 64 位操作系统上 each thread needs at least a MiB of memory . 5000 个线程(不太可能,但如果这是服务器)可以填补 12 GiB 分配堆和 17 GiB 已用内存之间的差距

  • native 代码有自己的堆

  • PermGen 设置未在您的第二个命令行中提及

关于Java 进程使用的 RAM 多于分配的 RAM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11599764/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com