服务器CPU没爆、内存够用,应用却卡成PPT——这种"体检正常但人快没了"的故障,运维最头疼。问题往往藏在网络层,但很多人还在用netstat慢慢翻,像在图书馆用手工卡片找书。

ss命令其实2011年就进了Linux内核,比netstat快10倍还不止。它直接从内核拿socket信息,不用像netstat那样遍历/proc,大流量场景下差距肉眼可见。Red Hat 7之后默认不装netstat了,但「很多开发者还在用」这个考古工具

查连接状态是ss的基本功。`ss -tuln`一眼看清谁在监听哪个端口,`ss -s`给整个TCP栈做体检。端口被占用的报错出现时,用`ss -p`能直接定位到进程,不用再配合lsof玩拼图。

更隐蔽的是性能排查。应用响应慢可能是TIME_WAIT堆积,ss的统计视图比netstat的滚动输出更适合抓趋势。有人做过测试,万级连接场景下ss耗时不到netstat的十分之一,内存占用也更克制。

工具迭代这事,Linux社区一向悄无声息。ss已经当了八年默认工具,文档和教程的更新却慢半拍,结果新运维入职学的还是老一套。有个细节:Ubuntu 22.04里敲netstat会提示"command not found",但多数发行版保留了兼容包,让人误以为它还在主流梯队。