我有一个新的VPS来运行我和一些好友制作的一些java程序.我用这样的一行开始这个过程:
java -Xmx512M -jar program.jar
Run Code Online (Sandbox Code Playgroud)
在我们的旧VPS上,您可以使用'top'命令查看正在使用的虚拟和驻留内存量.它会使用600-700mb的虚拟内存.现在在我们的新VPS上,使用相同的命令,虚拟内存似乎总是比-Xmx值多出约2GB.因此,虚拟内存大约在600-700mb左右,而不是2700-3000mb.
旧的VPS运行CentOS 5.7,新的运行CentOS 6.2.两者都运行JRE 1.7u3 64bit.
为什么这样,我该如何解决?
编辑:顶部
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27645 pyro 20 0 3003m 270m 10m S 5.0 1.7 1:19.18 java -Xmx512M -jar cserver.jar
Run Code Online (Sandbox Code Playgroud)
另一个编辑:我不怀疑为什么虚拟内存使用的内存比java命令行中指定的多.我在质疑为什么它比以前使用了更多.