监视Linux内核空间处理

我正在运行两个在linux内核空间中服务的“服务”:

  • Linux Netfilter防火墙(“iptables”)
  • Linux虚拟服务器负载均衡器(“IPVS”,“LVS”)

现在我想(性能)监视我的“应用程序”就像我正在运行的任何其他软件。 那基本上会是什么? CPU时间和内存。

我如何从内核中获取这些内容? iptables的内存消耗可以通过连接跟踪表的大小来估计,与ipvs相同。 对我来说没关系,但任何提示都是值得欢迎的。

但是 – CPU处理路由,防火墙和负载均衡的时间呢?

“系统”时间是否包括数据包转发和过滤处理? 那么ipvs处理呢?

在内核中花费的任何CPU时间都会计入“系统”。 这包括所有的netfilter和IPVS处理,因为这是所有的内核空间代码。

就内存而言,所有的数据都是内核数据结构,因此不会在任何地方显示为单独的可信组。 正如你所build议的那样,通过检查conntrack和IPVS状态表的大小,了解使用多less内存的唯一方法就是通过检查。