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

Ashwanth Fernando edited comment on KAFKA-718 at 7/9/13 12:24 AM:
------------------------------------------------------------------

Eitherways, I have a patch that cleanly applies on trunk.

Basically the kafka-run-class.sh has a lot of .sh clients which use it. A 
majority of these clients are non-daemon and a couple (zk and kafkaServer) are 
daemons. For the non daemons, we don't need gc logs so I have the following 
settings:

-XX:+AggressiveOpts -XX:+UseCompressedOops -XX:+UseParNewGC 
-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled 
-XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC

For the daemon processes (zk and kafkaServer) I have the above options set + 
the options to emit GC Logs.

-Xloggc:$base_dir/$GC_LOG_FILE_NAME -verbose:gc -XX:+PrintGCDetails 
-XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps

Where GC_LOG_FILE_NAME is either zookeeper_gc.log or kafkaServer_gc.log 
depending on which is the daemon that is run. This is done, so that when 
developers run both zk and kafkaServer on the same filesystem, the two 
processes don't clobber the same file.
                
      was (Author: ashwanthferna...@gmail.com):
    Eitherways, I have a patch that cleanly applies on trunk.

Basically the kafka-run-class.sh has a lot of .sh clients which use it. A 
majority of these clients are non-daemon and a couple (zk and kafkaServer) are 
daemons. For the non daemons, we don't need gc logs so I have the following 
settings:

-XX:+AggressiveOpts -XX:+UseCompressedOops -XX:+UseParNewGC 
-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled 
-XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC

For the daemon processes (zk and kafkaServer) I have the above options set + 
the options to emit GC Logs.

-Xloggc:$base_dir/$GC_LOG_FILE_NAME -verbose:gc -XX:+PrintGCDetails 
-XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps

Where GC_LOG_FILE_NAME is either zookeeper_gc.log or kafkaServer_gc.log 
depending on which is the daemon that is run. I do this, so that when 
developers run both zk and kafkaServer, the two processes don't clobber the 
same file.
                  
> kafka-run-class.sh should use reasonable gc settings
> ----------------------------------------------------
>
>                 Key: KAFKA-718
>                 URL: https://issues.apache.org/jira/browse/KAFKA-718
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Jay Kreps
>            Assignee: Neha Narkhede
>         Attachments: 718-v1.patch
>
>
> Our start script seems to use the default "stop the world" collector. It 
> would be good to default to well tuned gc settings including gc logging, CMS, 
> etc. Whatever we are using in prod and perf lab...
> Many people who want to use kafka basically don't know java well so they 
> won't succeed in figuring this stuff out on their own and just think it is 
> broken and timing out if we don't have good defaults.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to