10.1 使用w查看系统负载
w命令显示的信息中,我们应当重点关注第1行中的load average:后面的3个数值。
第1个数值表示1分钟内系统的平均负载值,第2个数值表示5分钟内系统的平均负载值,第3个数值表示15分钟内系统的平均负载值。我们着重关注第1个值,它表示单位时间段内使用CPU的活动进程数,值越大,说明服务器的压力就越大。一般情况下,这个值只要不超过服务器的CPU数量就没有关系。
查看服务器有几个CPU的方法如下:
信息太多,我们用grep过滤下:
这个是虚拟机的CPU,如果要看物理机的CPU,示例如下:
10.2 vmstat命令
vmstat命令打印的结果共分为6个部分:procs、memory、swap、io、system和cpu。重点要关注r、b、si、so、bi、bo这几列信息。
r(run):表示运行或等待CPU时间片的进程数。
b(block):表示等待资源的进程数,如果该数值长时间大于1,则需要关注下。
swpd:表示切换到交换分区中的内在数量,单位为KB。
free:当前空闲的内在数量,单位为KB。
buff:表示(即将写入磁盘的)缓冲大小,单位为KB。
cache:表示(从磁盘中读取的)缓存大小,单位为KB。
si:由交换分区写入内存的数据量,单位为KB。
so:由内存写入交换分区的数据量,单位为KB。
bi:从块设备读取数据的量(读磁盘),单位为KB。
bo:从块设备写入数据的量(写磁盘),单位为KB。
in:在某一时间间隔内观测到的每秒设备的中断次数。
cs:每秒产生的上下文切换次数。
us:显示用户所花费CPU的时间百分比。
sy:显示系统花费CPU的时间百分比。
id:表示CPU牌空闲状态的时间百分比。
wa:表示I/O等待所占用CPU的时间百分比。
st:表示被偷走的CPU所占百分比(一般为0,不用关注)。
使用vmstat查看系统状态一般使用如下格式:
表示每隔1秒输出一次状态,共输出5次。
还可以用如下格式:
表示每隔1秒输出一次状态且一直输出,除非按Ctrl + C结束。
10.3 top命令
top命令用于动态监控进程所占的系统资源,每隔3秒变一次。
此外,一般用命令top -bn1来一次性输出所有信息,非动态显示。
10.4 sar命令
sar的安装命令为 yum install -y sysstat。
查看网卡流量历史:
实时查看网卡流量:
使用-f选项查看某一天的网卡流量历史,在CentOS中,sar的库文件在/var/log/sa/目录下:
查看历史负载 sar -q
10.5 nload命令
nload的安装命令为:yum install -y epel-release; yum install -y nload
nload命令可以更直观的查看网卡流量。
10.6 监控io性能
10.7 free命令
free命令可以查看当前系统的总内存大小以及使用内存的情况。
total:内存总大小。
used:真正使用的实际内存大小。
free:剩余物理内存大小。
shared:共享内存大小。
buff/cache:分配给buffer和cache的内存总共有多大。
available:系统可使用内存有多大,包含了free。
free命令还可以加-m和-g选项(分别以MB和GB为单位),也支持-h:
![3b41951b1733b064dced9be742c8eb91ad5.jpg](https://oscimg.oschina.net/oscnet/3b41951b1733b064dced9be742c8eb91ad5.jpg)
10.8 ps命令
ps命令用于查看系统进程,相当于windows下的任务管理器。
10.9 查看网络状态
netstat命令用来查看网络状况:
10.10 linux下抓包
当初步判定服务器上有流量攻击时,使用抓包工具来抓取数据包就可以知道有哪些IP在攻击了。
tcpdump工具
安装命令:yum install -y tcpdump
具体用法:
几个常用的tcpdump命令示例:
#tcpdump -nn -i ens33 port 22 #指定只抓22端口的包
#tcpdump -nn -i ens33 tcp and not port 22 #指定抓tcp的包,但不要22端口的
#tcpdump -nn -i ens33 port 22 and port 53 #只抓22和53端口的包
wireshark工具
10.11 Linux网络相关
ifconfig命令查看网卡IP:
网卡的配置文件为:/etc/sysconfig/network-scripts/ifcfg-网卡名字
如果系统没有ifconfig命令,可以通过yum install -y net-tools来安装。
重启网卡,最好使用命令systemctl restart network来执行,如果使用ifdown ens33; ifupens33来重启网卡的话,如果是远程登录服务器,当使用ifdown ens33这个命令时,很有可能后面的ifup ens33命令不会运行。
给一个网卡设定多个IP:
首先进入如下路径,并复制一份文件名为ifcfg-ens33\:1的文件。
然后更改文件的NAME、DEVICE、IPADDR的内容,更改完后重启网卡:
再查看网卡IP:
查看网卡连接状态:
还有一个命令也可以查看网卡的状态:
更改主机名:
临时更改:
永久更改:
修改配置文件/etc/hostname
设置DNS
DNS是用来解析域名的,当访问网站时,我们都是直接输入一个网址,而DNS把这个网址解析到一个IP。
设置DNS,只需把DNS地址写到配置文件/etc/resolv.conf中即可。