有没有办法在 Solaris 上获取每个套接字发送和接收队列的利用率,类似于 Linux 的netstat
显示方式?
Linux 上的示例:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:19072 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:19008 0.0.0.0:* LISTEN
答案1
这是每个接口的,我正在寻找每个套接字。
然后只使用 netstat ie
uname -r
5.10
type netstat
netstat is hashed (/usr/bin/netstat)
netstat
TCP: IPv4
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
-------------------- -------------------- ----- ------ ----- ------ -----------
localhost.53206 localhost.64711 49152 0 49191 0 TIME_WAIT
host1.ssh host2.net.16952 32767 0 49640 0 ESTABLISHED
host1.ssh host3.13515 63712 0 49232 0 ESTABLISHED
localhost.53206 localhost.64712 49152 0 49191 0 TIME_WAIT
...
如果您想要将端口与进程 ID 相关联,那么开源 lsof 实用程序也可用于 Solaris。或者,如果 losf 不可用,则使用脚本组合 netstat 和 fusionr 应该可以实现类似的功能。
答案2
# netstat -i
Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue
lo0 8232 loopback localhost 52559 0 52559 0 0 0
hme0 1500 sys11 sys11 18973 0 30292 0 0 0
它有一个带有输入/输出数据包的队列列。这满足您的需求吗?
注意:在 Solaris 10 上运行