Skip to content

Commit a4d39c9

Browse files
authored
Merge pull request #2919 from T0k1To/lucene_ram_buffer_scale
Scale Lucene RAM buffer with the available heap
2 parents 96b0b5d + 48b6365 commit a4d39c9

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

iped-engine/src/main/java/iped/engine/core/Manager.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,14 @@ private IndexWriterConfig getIndexWriterConfig() {
417417
mergeScheduler.setMaxMergesAndThreads(8, 4);
418418
}
419419
conf.setMergeScheduler(mergeScheduler);
420-
conf.setRAMBufferSizeMB(64);
420+
/*
421+
* Scale the RAM buffer with the heap: fewer flushes and small-segment
422+
* merges on large cases. 64MB (the old fixed value) stays as the floor
423+
* so memory-constrained machines keep the previous behavior; above
424+
* 512MB Lucene gains little.
425+
*/
426+
long heapMB = Runtime.getRuntime().maxMemory() / (1024 * 1024);
427+
conf.setRAMBufferSizeMB(Math.min(Math.max(64, heapMB / 32), 512));
421428
TieredMergePolicy tieredPolicy = new TieredMergePolicy();
422429
/*
423430
* Seta tamanho máximo dos subíndices. Padrão é 5GB. Poucos subíndices grandes

0 commit comments

Comments
 (0)