[ 
https://issues.apache.org/jira/browse/CASSANDRA-1969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13001868#comment-13001868
 ] 

Chris Goffinet commented on CASSANDRA-1969:
-------------------------------------------

Maybe I am missing something...

// A user-settable upper limit on the maximum amount of allocatable direct
// buffer memory.  This value may be changed during VM initialization if
// "java" is launched with "-XX:MaxDirectMemorySize=<size>".
//
// The initial value of this field is arbitrary; during JRE initialization
// it will be reset to the value specified on the command line, if any,
// otherwise to Runtime.getRuntime.maxDirectMemory().
//
private static long directMemory = 64 * 1024 * 1024;

// If this method is invoked during VM initialization, it initializes the
// maximum amount of allocatable direct buffer memory (in bytes) from the
// system property sun.nio.MaxDirectMemorySize.  The system property will
// be removed when it is accessed.
//
// If this method is invoked after the VM is booted, it returns the
// maximum amount of allocatable direct buffer memory.

 public static long maxDirectMemory() {
       if (booted)
           return directMemory;

       Properties p = System.getProperties();
       String s = (String)p.remove("sun.nio.MaxDirectMemorySize");
       System.setProperties(p);

       if (s != null) {
           if (s.equals("-1")) {
               // -XX:MaxDirectMemorySize not given, take default
               directMemory = Runtime.getRuntime().maxMemory();
           } else {
               long l = Long.parseLong(s);
               if (l > -1)
                   directMemory = l;
           }
       }

       return directMemory;
   }

> Use BB for row cache - To Improve GC performance.
> -------------------------------------------------
>
>                 Key: CASSANDRA-1969
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1969
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>         Environment: Linux and Mac
>            Reporter: Vijay
>            Assignee: Vijay
>            Priority: Minor
>         Attachments: 0001-Config-1969.txt, 
> 0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt, 
> 0002-Update_existing-1965.txt, 0002-implement-SerializingCache.txt, 
> 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 
> 0003-add-ICache.isCopying-method.txt, 0004-Null-Check-and-duplicate-bb.txt, 
> 0004-TestCase-1969.txt, 1969-rollup-and-config.txt, BB_Cache-1945.png, 
> JMX-Cache-1945.png, Old_Cahce-1945.png, POC-0001-Config-1945.txt, 
> POC-0002-Update_existing-1945.txt, POC-0003-New_Cache_Providers-1945.txt
>
>
> Java BB.allocateDirect() will allocate native memory out of the JVM and will 
> help reducing the GC pressure in the JVM with a large Cache.
> From some of the basic tests it shows around 50% improvement than doing a 
> normal Object cache.
> In addition this patch provide the users an option to choose 
> BB.allocateDirect or store everything in the heap.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to