Java:针对大型缓冲区优化GC

时间:2018-04-11 10:44:16

标签: java memory garbage-collection

我正在处理的应用程序同时使用堆内存仅为 BufferedReader 缓冲区(对于多个文件约为8Gb)过滤大文件。有足够的内存可以完成单个过滤操作,然后丢弃缓冲区:

try (BufferedReader br1 = new BufferedReader(new InputStreamReader(
      new FileInputStream(file1), encoding), 1_000_000_000);

    BufferedReader br2 = new BufferedReader(new InputStreamReader(
      new FileInputStream(file2), encoding), 1_000_000_000);

    ...

    BufferedReader br8 = new BufferedReader(new InputStreamReader(
      new FileInputStream(file8), encoding), 1_000_000_000);

){

  // ... filtering

}

此内存使用配置的最佳GC设置应该是什么?

当前的JVM选项非常标准:

-Xms31g
-Xmx31g
-XX:+UseCompressedOops
-XX:NewSize=12g

Java版本是9。

0 个答案:

没有答案