From c759f3ef343bcccde8030f33ff6481ce86d2d0e7 Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Thu, 30 Jul 2009 02:33:21 +0000
Subject: [PATCH] Fix import memory calculation to use maxMemory()
---
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
index a94c543..1c4040c 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
@@ -192,7 +192,9 @@
dbCacheSize = MIN_DB_CACHE_SIZE;
if(bufferSize < MIN_BUFFER_SIZE)
{
- System.out.println("Log size less than default -- give it a try");
+ Message msg =
+ NOTE_JEB_IMPORT_LDIF_BUFF_SIZE_LESS_DEFAULT.get(MIN_BUFFER_SIZE);
+ logError(msg);
bufferSize = MIN_BUFFER_SIZE;
}
else
@@ -244,7 +246,10 @@
Message msg;
Runtime runtime = Runtime.getRuntime();
long freeMemory = runtime.freeMemory();
- long availMemImport = (freeMemory * MEM_PCT_PHASE_1) / 100;
+ long maxMemory = runtime.maxMemory();
+ long totMemory = runtime.totalMemory();
+ long totFreeMemory = (freeMemory + (maxMemory - totMemory));
+ long availMemImport = (totFreeMemory * MEM_PCT_PHASE_1) / 100;
int phaseOneBuffers = 2 * (indexCount * threadCount);
msg = NOTE_JEB_IMPORT_LDIF_TOT_MEM_BUF.get(availMemImport, phaseOneBuffers);
logError(msg);
@@ -463,7 +468,11 @@
private int cacheSizeFromFreeMemory()
{
Runtime runtime = Runtime.getRuntime();
- long availMemory = runtime.freeMemory() * MEM_PCT_PHASE_2 / 100;
+ long freeMemory = runtime.freeMemory();
+ long maxMemory = runtime.maxMemory();
+ long totMemory = runtime.totalMemory();
+ long totFreeMemory = (freeMemory + (maxMemory - totMemory));
+ long availMemory = (totFreeMemory * MEM_PCT_PHASE_2) / 100;
int avgBufSize = (int)(availMemory / bufferCount.get());
int cacheSize = Math.max(MIN_READ_AHEAD_CACHE_SIZE, avgBufSize);
if(cacheSize > bufferSize)
--
Gitblit v1.10.0