微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java进程使用更多的RAM比分配?

基本上我在Centos 6.2 16GB系统上运行一个minecraft服务器

我通过启动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。 比我分配的方式。 这随后导致使用这么多内存的进程只会使系统崩溃。

用户空间内存编辑程序

Perl“内存不足”与大文本文件

写入大于系统内存的内存映射区域?

打开一个Windows文件目录在c中读/写

如何在Windows中为进程分配超过2GB的内存?

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

非常感谢。

跟踪生产Linux服务器上的内存损坏

内存中应该如何保留“密钥”?

free()后的内存会怎么样?

双socketsvs单sockets内存模型?

服务启动的进程不能分配内存

JVM中很少有内存使用者:

在64位操作系统上, 每个线程至少需要一个MiB的内存 。 5千线程(不太可能,但如果这是一个服务器)可以填补指定的堆12吉比特和17吉比特使用的内存之间的差距

本机代码有自己的堆

在第二个命令行中没有提到PermGen设置

您正在设置最大堆大小,这往往是最大的但不是所有的内存使用量。

你有线程本地堆栈(这可以添加到GB是你有很多),共享库代码和C库使用的任何内存。

BTW 16 GB是17,179,000,000字节。

一个可能的解释是(除了线程堆栈,permgen和本地堆栈之外),minecraft服务器可能使用大型内存映射文件,或类似的东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐