12 我正在监视服务器上的TCP堆栈,以希望一般性地推断出盒子上的应用程序有问题。 我的第一个倾向是测量所有报告状态(LISTEN,ESTABLISHED,FIN_WAIT2,TIME_WAIT等)中的套接字数量,并检测一些异常。 一个队友建议,“ lsof”将是查看TCP堆栈处于哪种状态的更好工具。 服务器故障人群有任何偏好或经验提示吗? linux unix tcp netstat lsof — 埃里斯劳 source 3 请添加* nix标签以吓跑我们的Windows怪胎 — KevinH,2009年
2 我的第一个含义是使用netstat -ptan它将为您提供所有您正在寻找的信息。可能通过管道进行排序和唯一化。以下内容将为您提供大量的套接字状态信息。 netstat -ptan | awk '{print $6 " " $7 }' | sort | uniq -c — 苏鲁特 source
1 签出dstat并运行: % sudo dstat --tcp 更好的是,如果您要分析输出,则可以使用--output将其写入CSV。 — 提姆 source 有趣的工具,仅可惜linux(尽管可以理解)。很高兴看到包含网络信息的类似SAR的东西(尽管linux sar版本似乎也显示了这一点)。 — ericslaw
1 我认为这实际上更像是个人喜好,因为只要稍作调整(以及正确的命令选项),您就可以从其中任何一个获得几乎相同的信息。 但是,如果您想监视各种状态下的连接数,则不会使用单次命令行工具来执行此操作。我会利用一些趋势,以便您可以随时进行回顾。诸如munin之类的东西将非常有用,因为它会随着时间绘制图形(以及向您显示其他可能有用的系统统计信息)。 如果您对包装盒本身以及包装盒的运行情况有很好的了解(在问题发生期间和不存在问题时),对应用程序进行故障排除总是比较容易的。 — 克里斯托弗·卡贝 source 命令行工具仅用于收集。您收集基准数据的目的确实是正确的方法。 — ericslaw