Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 08DFB11834 for ; Sat, 21 Jun 2014 16:04:25 +0000 (UTC) Received: (qmail 23323 invoked by uid 500); 21 Jun 2014 16:04:24 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 23274 invoked by uid 500); 21 Jun 2014 16:04:24 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 23258 invoked by uid 99); 21 Jun 2014 16:04:24 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 21 Jun 2014 16:04:24 +0000 Date: Sat, 21 Jun 2014 16:04:24 +0000 (UTC) From: "graham sanderson (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 graham sanderson created CASSANDRA-7432: ------------------------------------------- Summary: Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60 Key: CASSANDRA-7432 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432 Project: Cassandra Issue Type: Improvement Components: Packaging Reporter: graham sanderson The new flags in question are as follows: {code} -XX:+CMSParallelInitialMarkEnabled -XX:+CMSEdenChunksRecordAlways {code} Given we already have {code} JVM_OPTS="$JVM_OPTS -XX:+UseParNewGC" JVM_OPTS="$JVM_OPTS -XX:+UseConcMarkSweepGC" JVM_OPTS="$JVM_OPTS -XX:+CMSParallelRemarkEnabled" JVM_OPTS="$JVM_OPTS -XX:+UseTLAB" if [ "$JVM_ARCH" = "64-Bit" ] ; then JVM_OPTS="$JVM_OPTS -XX:+UseCondCardMark" fi {code} The assumption would be that people are at least running on large number CPU cores/threads I would therefore recommend defaulting these flags if available - the only two possible downsides for {{+CMSEdenChunksRecordAlways}}: 1) There is a new very short (probably un-contended) lock in the "slow" (non TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't detected this timing wise - this is the "slow" path after all 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the default) *and* you call {{System.gc()}} then {{+CMSEdenChunksRecordAlways}} will expose you to a possible seg fault [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809] -- This message was sent by Atlassian JIRA (v6.2#6252)