缘由
日志量大的时时候filebeat会占用非常高的CPU,为了防止影响业务稳定,决定对filebeat的CPU进行限制核数
方法
限制使用的cpu核数
filebeat.yml文件中可以指定”max_procs”参数
max_procs: 限制filebeat的进程数量,其实就是内核数
max_procs: 1 filebeat.prospectors: - input_type: log #include_lines: ["^\\[[0-9]{4}"] tail_files: true paths: - /var/log/*.log fields: device: pudding1s fields_under_root: true document_type: log
|
降低filebeat进程优先级
启动时指定进程优先级
使用nice命令
使用方法: nice -n 命令
优先级由 -20~19这个范围来表示优先级大小,数值越小,优先级越高(默认0)
$ cat /etc/init.d/filebeat ··· start() { [ -x $filebeat ] || exit 5 [ -f $FILEBEAT_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " #daemon $filebeat -c $FILEBEAT_CONF_FILE nice -n 10 nohup $filebeat -c $FILEBEAT_CONF_FILE >/dev/null 2>&1 & retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } ···
|
启动后手动调整进程优先级
使用renice 命令
使用方法: renice 优先级 进程PID
FilebeatPid=`ps -ef |grep filebeat |grep -v grep |awk '{print $2}'` renice 10 $FilebeatPid
|