我可以跟踪 IPTABLES 防火墙造成的 CPU 负载吗?

我可以跟踪 IPTABLES 防火墙造成的 CPU 负载吗?

由于 IPTABLES 是一种基于软件的防火墙,我想知道是否可以记录它造成的确切负载、CPU 周期等。

在小型系统上,我相信这很简单。但如果有数千条规则怎么办?

查看 TOP 和 PS,这似乎让我困惑,所以它一定是内核级组件?

它可以被隔离和监控/记录吗?

预计抵达时间: 为了清楚起见,在现代 Linux 上,iptables 不是一个可见的进程或守护进程,因此无法看到它,ps aux我不知道如何将它与内核隔离开来

答案1

iptables 规则的实际处理是在 softirq 上下文中完成的,因此si%top(或%softmpstat)的值的变化应该会提示它会导致多少负载。如果您想要更多详细信息,可以使用ftrace函数 tracer(请参阅https://www.kernel.org/doc/Documentation/trace/ftrace.txt更多信息)记录对相应内核函数的调用并测量延迟。但是,这需要内核支持,即特定的内核配置选项。

相关内容