记录1 Linux使用中的一些问题及解决过程( 二 )


dnf install virtio-win 
完成后,按照普通虚拟机安装步骤进行,第一次启动前,对配置进行如下修改
a). 磁盘类型按照实际的磁盘选择(如使用STATA)
b). 网卡选择e1000e
c). 增加显示器(如图所示)

记录1 Linux使用中的一些问题及解决过程

文章插图
 
8. 文件句柄相关的Linux命令查看允许最大文件开启数目(ulimit –a)
记录1 Linux使用中的一些问题及解决过程

文章插图
 
查看最大系统句柄最大数量限制
[root@centos8 ~]# cat /proc/sys/fs/file-max382320查看当前打开句柄总数
[root@centos8 ~]# lsof|awk '{print $2}'|wc -l35978查看句柄打开数量最大的进程名称
[root@centos8 ~]# lsof|awk '{print $2}'|sort|uniq -c|sort -nr|more  11826 2446   9490 2448   9490 2447…# 倒叙排列(第一列为句柄数量,第二列为进程ID)
[root@centos8 ~]# ps aux | grep 2446Apache    2446  0.0  0.3 1933748 13412 ?       Sl   May10   0:16 /usr/sbin/httpd –DFOREGROUND#查看进程 
修改文件句柄限制
[root@centos8 ~]# cat /etc/security/limits.conf
记录1 Linux使用中的一些问题及解决过程

文章插图
 
 9. 查看TCP Socket相关的统计信息统计tcp连接状态(IPv4, IPv6))
[root@node19216820131 ~]# netstat -n | awk '/^tcp*/ {++S[$NF]} END {for(a in S) print a, S[a]}'   SYN_RECV 5CLOSE_WAIT 8ESTABLISHED 1540FIN_WAIT1 1FIN_WAIT2 1TIME_WAIT 220 
TCP连接状态详解
  • LISTEN: 侦听来自远方的TCP端口的连接请求
  • SYN-SENT: 在发送连接请求后等待匹配的连接请求(ACK),即应用开始启动一个TCP连接
  • SYN-RECEIVED:收到和发送一个连接请求后等待对方对连接请求的确认,即一个连接请求已到达,等待确认
  • ESTABLISHED: 代表一个打开的连接,数据正常交互
  • FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认:我已完成传输,等你哦
  • FIN-WAIT-2: 从远程TCP等待连接中断请求,对方已同意释放连接
  • CLOSE-WAIT: 等待从本地用户发来的连接中断请求
  • CLOSING: 等待远程TCP对连接中断的确认:两边同时尝试关闭连接
  • LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认:等所有的报文到达或死掉
  • TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认
客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT, 主动关闭的一方在发送最后一个 ack 后就会进入 TIME_WAIT 状态 停留2MSL(max segment lifetime)时间,这个是TCP/IP必不可少的 。
  • CLOSED: 没有任何连接状态
 
若有大量的TIME_WAIT状态的连接,通过调整内核参数解决(vim /etc/sysctl.conf)
加入以下内容:
net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_fin_timeout = 30然后执行 /sbin/sysctl -p 让参数生效 。
  • net.ipv4.tcp_syncookies = 1 表示开启SYN cookies 。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
  • net.ipv4.tcp_tw_reuse = 1 表示开启重用 。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
  • net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭 。
  • net.ipv4.tcp_fin_timeout 修改系統默认的 TIMEOUT 时间
 
10. 查看服务那个端口建立的连接最多netstat -na | grep ESTABLISHED | awk '{ print $5 }'| sort | uniq -c | sort -r -n 
记录1 Linux使用中的一些问题及解决过程

文章插图
 
查看那个IP建立的连接数目最多
netstat -na | grep ESTABLISHED | awk '{ print $5 }' | awk -F: '{ print $1 }' | sort | uniq -c | sort -r –n
记录1 Linux使用中的一些问题及解决过程

文章插图
 
附注:awk