auditctl缓冲区设置 – 这个有多大?

在CentOS 5,6和7的默认audit.rules文件中,设置了以下内容:

 # Increase the buffers to survive stress events. # Make this bigger for busy systems -b 320 

但是,没有提及提供的号码是什么单位。

auditctl的手册页不清楚:

 OPTIONS -b backlog Set max number of outstanding audit buffers allowed (Kernel Default=64) If all buffers are full, the failure flag is consulted by the kernel for action. 

我已经看到了这个值的build议,涵盖了大量可能的数字(320,8192,一直到32768甚至更远)。

我想确保我设置的价值是理智的,我不仅仅是覆盖低效的audit.rules文件的轨道。

是否有某种内核/审计缓冲区的隐含大小? 这个build议是什么?

积压选项限制了可以排队等待写入日志的消息数量。 所以backlog选项的单位不是字节或连接,而是“审计消息的数目”。

为这个设置select一个合理的价值完全取决于你的系统。 我build议从默认开始,并根据需要增加它。 如果超出积压限制,则会在日志中看到audit: backlog limit exceeded消息audit: backlog limit exceeded

积压队列存储在内存中,所以增加积压限制会随着队列的增长而增加内存消耗。 每条消息通常只有9000字节。 你不希望积压限制太低,但你也不想设置一个疯狂的高价值,可能会吃掉你的系统内存的重要部分。