堆内存分配和性能

时间:2012-12-27 13:59:30

标签: java performance memory-management server-administration

应用程序在具有16 GB RAM和100 GB硬盘的高端Linux服务器中运行。我们有以下命令来运行程序。

  

nohup java -server -Xmn512m -Xms1024m -Xmx1024m -Xss256k -verbose:gc   -Xloggc:/logs/gc_log.txt MyClass>> /output.txt

这是由其他人写的,我试图理解为什么使用 -verbose:gc -Xloggc:。 当我检查此命令时,它会收集gc日志,但会导致应用程序出现性能问题吗? 此外,我想重新审视我的内存参数,应用程序使用完整的16 GB RAM,CPU利用率低于5%。我们正在分析内存使用的原因。 但我们是否可以增加内存参数值以获得更好的性能或现有的就足够了?

1 个答案:

答案 0 :(得分:1)

问题的第一部分的答案是-verbose:gc意味着更多的GC日志将附加到-Xloggc中提供的文件中。如果CPU使用率<5%,那么将gc日志保持为详细信息就没有问题。

对于第二部分,如果分配1024m的堆并且仍然应用程序需要16GB RAM,则不可能。