kafka home bin目录下面有个kafka-run-class.sh脚本,其中有定义会打印详细的kafka gc日志
while [ # -gt 0 ]; do
COMMAND=1
case
COMMANDin−name)DAEMONNAME=
2
CONSOLE_OUTPUT_FILE=
LOGDIR/
DAEMON_NAME.out
shift 2
;;
-loggc)
if [ -z “$KAFKA_GC_LOG_OPTS” ]; then
GC_LOG_ENABLED=”true”
fi
shift
;;
-daemon)
DAEMON_MODE=”true”
shift
;;
*)
break
;;
esac
done
GC options
GC_FILE_SUFFIX=’-gc.log’
GC_LOG_FILE_NAME=”
if [ “x
GCLOGENABLED”=“xtrue”];thenGCLOGFILENAME=
DAEMON_NAME
GCFILESUFFIXKAFKAGCLOGOPTS=”−Xloggc:
LOG_DIR/$GC_LOG_FILE_NAME -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps ”
fi
通过查看这个脚本,其实只要覆盖掉KAFKA_GC_LOG_OPTS这个环境变量(且不能为空字符串)就行了,于是就在cm管理后台上的kafka broker配置项下面配置一个
KAFKA_GC_LOG_OPTS=” “