Linux中查看socket状态:
# cat /proc/net/sockstat
sockets: used 542
TCP: inuse 7 orphan 0 tw 8 alloc 65 mem 3
UDP: inuse 6 mem 0
RAW: inuse 0
FRAG: inuse 0 memory 0
说明:
sockets: used:已使用的所有协议套接字总量
TCP: inuse:正在使用(正在侦听)的TCP套接字数量。其值≤ netstat –lnt | grep ^tcp | wc –l
TCP: orphan:无主(不属于任何进程)的TCP连接数(无用、待销毁的TCP socket数)
TCP: tw:等待关闭的TCP连接数。其值等于netstat –ant | grep TIME_WAIT | wc –l
TCP:alloc(allocated):已分配(已建立、已申请到sk_buff)的TCP套接字数量。其值等于netstat –ant | grep ^tcp | wc –l
TCP:mem:套接字缓冲区使用量(单位不详。用scp实测,速度在4803.9kB/s时:其值=11,netstat –ant 中相应的22端口的Recv-Q=0,Send-Q≈400)
UDP:inuse:正在使用的UDP套接字数量
RAW:
FRAG:使用的IP段数量
IPv6请看:cat /proc/net/sockstat6

修改打开文件限制的最简单的办法就是使用ulimit命令:
# ulimit -n
对当前系统的网络连接状态分类汇总:
# netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

awk:
/^tcp/          滤出tcp开头的记录,屏蔽udp, socket等无关记录。
state[]           相当于定义了一个名叫state的数组
NF               表示记录的字段数,如上所示的记录,NF等于6
$NF             表示某个字段的值,如上所示的记录,$NF也就是$6,表示第6个字段的值,也就是TIME_WAIT
state[$NF]      表示数组元素的值,如上所示的记录,就是state[TIME_WAIT]状态的连接数
++state[$NF]  表示把某个数加一,如上所示的记录,就是把state[TIME_WAIT]状态的连接数加一
END               表示在最后阶段要执行的命令
for(key in state)    遍历数组
print key,"\t",state[key]   打印数组的键和值,中间用\t制表符分割,美化一下。

查看CPU信息(型号)
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c