命令:cat /proc/net/sockstat 查看socket当前连接状态统计信息命令
sockets: used 301
TCP: inuse 184 orphan 1 tw 8 alloc 184 mem 308
UDP: inuse 3 mem 1
UDPLITE: inuse 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:代表了消耗的内存,单位是PAGE SIZE,一般为4KB。308 * 4KB即为,内核处缓存用户没有及时收取到用户空间的tcp数据所消耗的内存大小
- UDP:inuse:正在使用的UDP套接字数量
- RAW:
- FRAG:使用的IP段数量
命令:cat /proc/sys/net/ipv4/tcp_rmem 查看读缓冲区配置信息命令
最小值 默认值 最大值
4096 87380 6291456
命令:cat /proc/sys/net/ipv4/tcp_wmem 查看写缓冲区配置信息命令
最小值 默认值 最大值
4096 16384 4194304
命令:修改句柄数命令
echo "* - nofile 1048576" >> /etc/security/limits.conf
命令:修改最大句柄数
echo "fs.file-max = 1048576" >> /etc/sysctl.conf
命令:修改端口区间
echo "net.ipv4.ip_local_port_range = 9000 65535" >> /etc/sysctl.conf
命令:修改缓冲区大小
echo "net.ipv4.tcp_mem = 786432 2097152 3145728">> /etc/sysctl.conf
命令:修改读缓冲区大小
echo "net.ipv4.tcp_rmem = 4096 32768 16777216">> /etc/sysctl.conf
命令:修改写缓冲区大小
echo "net.ipv4.tcp_wmem = 4096 32768 16777216">> /etc/sysctl.conf