Changeset: d30146b4d610 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d30146b4d610
Modified Files:
gdk/gdk_utils.mx
Branch: Dec2011
Log Message:
GDKinit: limit GDK_mmap_minsize & GDK_mem_bigsize to 1/6 or RAM
Assuming an operator with 2 arguments and 1 results, each with
8-byte (e.g., oid, lng, dbl) head & tail, i.e., (2+1)*2 = 6
active BUN heaps at a time,
we limit GDK_mmap_minsize & GDK_mem_bigsize to not exceed
1/6 of the physical memory (i.e., GDK_mem_maxsize_max).
diffs (23 lines):
diff --git a/gdk/gdk_utils.mx b/gdk/gdk_utils.mx
--- a/gdk/gdk_utils.mx
+++ b/gdk/gdk_utils.mx
@@ -1678,7 +1678,8 @@ GDKinit(opt *set, int setlen)
#ifdef NATIVE_WIN32
GDK_mmap_minsize = GDK_mem_maxsize_max;
#else
- GDK_mmap_minsize = GDK_mem_bigsize = MIN( 1<<30 , GDK_mem_maxsize_max );
+ GDK_mmap_minsize = GDK_mem_bigsize = MIN( 1<<30 , GDK_mem_maxsize_max/6
);
+ /* per op: 2 args + 1 res, each with head & tail => (2+1)*2 = 6 ^
*/
#endif
GDKmemchk(TRUE, TRUE);
GDKremovedir(DELDIR);
@@ -1754,7 +1755,8 @@ GDKinit(opt *set, int setlen)
#else
/* WARNING: This unconditionally overwrites above settings, */
/* incl. setting via MonetDB env. var. "gdk_mmap_minsize" ! */
- GDK_mmap_minsize = GDK_mem_bigsize = MIN( 1<<30 , GDK_mem_maxsize_max );
+ GDK_mmap_minsize = GDK_mem_bigsize = MIN( 1<<30 ,
(GDK_mem_maxsize_max/6) );
+ /* per op: 2 args + 1 res, each with head & tail => (2+1)*2 = 6
^ */
#endif
#ifdef HAVE_POSIX_FADVISE
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list