You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2011/10/04 17:34:25 UTC

svn commit: r1178833 - in /cassandra/branches/cassandra-1.0.0: CHANGES.txt conf/cassandra-env.sh

Author: brandonwilliams
Date: Tue Oct  4 15:34:24 2011
New Revision: 1178833

URL: http://svn.apache.org/viewvc?rev=1178833&view=rev
Log:
Change default heap thresholds to max(min(1/2 ram, 1G), min(1/4 ram,
8GB)).
Patch by satishbabu, reviewed by brandonwilliams for CASSANDRA-3295

Modified:
    cassandra/branches/cassandra-1.0.0/CHANGES.txt
    cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh

Modified: cassandra/branches/cassandra-1.0.0/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/CHANGES.txt?rev=1178833&r1=1178832&r2=1178833&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0.0/CHANGES.txt Tue Oct  4 15:34:24 2011
@@ -11,6 +11,8 @@
  * (Hadoop) check all interfaces for a match with split location
    before falling back to random replica (CASSANDRA-3211)
  * Fix stress COUNTER_GET option (CASSANDRA-3301)
+ * Change default heap thresholds to max(min(1/2 ram, 1G), min(1/4 ram, 8GB))
+   (CASSANDRA-3295)
 
 
 1.0.0-rc2

Modified: cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh
URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh?rev=1178833&r1=1178832&r2=1178833&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh (original)
+++ cassandra/branches/cassandra-1.0.0/conf/cassandra-env.sh Tue Oct  4 15:34:24 2011
@@ -40,7 +40,28 @@ calculate_heap_sizes()
             system_cpu_cores="2"
         ;;
     esac
-    max_heap_size_in_mb=`expr $system_memory_in_mb / 2`
+
+    # set max heap size based on the following
+    # max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB))
+    # calculate 1/2 ram and cap to 1024MB
+    # calculate 1/4 ram and cap to 8192MB
+    # pick the max
+    half_system_memory_in_mb=`expr $system_memory_in_mb / 2`
+    quarter_system_memory_in_mb=`expr $half_system_memory_in_mb / 2`
+    if [ "$half_system_memory_in_mb" -gt "1024" ]
+    then
+        half_system_memory_in_mb="1024"
+    fi
+    if [ "$quarter_system_memory_in_mb" -gt "8192" ]
+    then
+        quarter_system_memory_in_mb="8192"
+    fi
+    if [ "$half_system_memory_in_mb" -gt "$quarter_system_memory_in_mb" ]
+    then
+        max_heap_size_in_mb="$half_system_memory_in_mb"
+    else
+        max_heap_size_in_mb="$quarter_system_memory_in_mb"
+    fi
     MAX_HEAP_SIZE="${max_heap_size_in_mb}M"
 
     # Young gen: min(max_sensible_per_modern_cpu_core * num_cores, 1/4 * heap size)