应用程序运行在具有16gb RAM和100gb硬盘的高端Linux服务器上。我们有下面的命令来运行这个程序。
nohup java -server - xmx512m -Xms1024m -Xmx1024m -Xss256k -verbose:gc-Xloggc:/logs/gc_log.txt MyClass>>/output.txt
这是别人写的。我试图理解为什么要使用-verbose:gc -Xloggc:。当我检查这个命令,它收集gc日志,但这会导致性能问题的应用程序?我还想重新看看我的内存参数,应用程序使用了完整的16 GB RAM, CPU利用率低于5%。我们正在分析内存占用的原因。但是我们是否可以增加内存参数值以获得更好的性能或现有的就足够了?
问题的第一部分的答案是-verbose:gc意味着更多的gc日志将被追加到-Xloggc中提供的文件中。如果CPU使用率为<5%,那么将gc日志设置为verbose是没有问题的。
对于第二部分,如果分配1024m的堆,应用程序仍然占用16GB RAM,这是不可能的。