evi*_*uin 3 java garbage-collection jvm
我在运行应用程序的JVM上遇到了麻烦,它的堆内存看起来像梳子.它不断从1.5 GB跳到3 GB,并逐渐恶化到更高的值.我正在使用G1 GC算法,但不知道如何配置它.
我无法访问我正在运行的应用程序的代码,不用说,它是一个相当大的应用程序.
那么,最重要的是,有没有人知道在Java中配置GC的好指南?
小智 6
调整JVM是一种艺术和科学的结合,每个人都没有一个答案.您所看到的情况听起来像默认的GC正在进行"现在标记,稍后扫描",这可能导致扫描期间暂停.您可以尝试一组选项:
JAVA_OPTS="-server -XX:-UseParallelGC -XX:-UseConcMarkSweepGC"
Run Code Online (Sandbox Code Playgroud)
这些选项的组合基本上在后台运行另一个线程(井2),它不断标记和扫描GC.你付出的代价是CPU的使用量有点多,但在现代的CPU中,对大多数人来说几乎都不会引起注意.
以下是所有选项:http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
您真的需要通过Google阅读尽可能多的关于"Java性能调优"的文章,您需要对您的应用程序(详细GC)进行分析,以了解它正在做什么来获得Java的params的正确组合.像其他任何事情一样,只是盲目地抛弃选项而不知道他们做什么会导致更糟糕的表现,而不是更好.
| 归档时间: |
|
| 查看次数: |
2995 次 |
| 最近记录: |