第十章 Linux日常运维管理(上)预习笔记加课堂笔记
10.1 使用w查看系统负载
第一行 当前时间 ,系统运行时间,登录用户数,1分钟,5分钟,15分钟内系统的平均负载
看重第一个值,表示单位时间段内使用CPU的活动进程数,值越大说明服务器压力越大
一般情况下,这个值只有不超过服务器的CPU数量就没有关系。
查看系统的逻辑CPU个数 processor
10.2 vmstat命令
查看系统的瓶颈
r (run)表示多少个进程在run的状态,某一个时刻1个CPU只能有一个进程占用
b (block) 表示等待资源的进程数,数值如果长时间大于一,需要关注一下
swapd 表示切换到交互分区中的内存数量
bi 磁盘读的数据量是多少
bo 磁盘写的数据量是多少
us 用户占用cpu的百分比
sy 系统占用cpu的百分比
id cpu处于空闲状态的百分比
wa 等待cpu的百分比
10.3 top命令
每隔3秒钟显示一次
第二行是进程数 tasks
RES 物理内存大小 单位是KB
默认是按CPU排序的
大写字母M是按内存排序的
大写字母P是按CPU排序的
按数字1可以所有核cpu的使用状态
按q 退出top
top -bn1 静态的显示所有的进程
10.4 sar命令
可以监控系统几乎所有的资源状态,比如平均负载、网卡流量、磁盘状态、内存使用
如果没有安装 yum -y install sysstat
rxpck/s 是接受到数据包 数据量在几千是正常的,上万了可能就是被攻击了
txpck/s 是发送出去的数据包
rxkB/s 是接受到的数据量
txkB/s 是发送出去的数据量
sar -n DEV /var/log/sa/sa30 查看某一天的网卡流量历史,后面跟文件名
sar 的库文件一定在/var/log/sa/目录下
sar -q 查看历史负载 -f 也可以指定历史文件
sar -b 1 5 查看磁盘的读和写
/var/log/sa/sar21 sar21文件直接用cat可以查看
sa 只能用-f 指定查看
10.5 nload命令
默认是没有安装的
yum install -y epel-release
yum install -y nload
按左右查看其它网卡的流量
按q退出
10.6 监控io性能
iostat 查看磁盘io 的状态
关注 %util 列
iotop 是动态查看io的状态
10.7 free命令
关注available的值
10.8 ps命令
用法:ps -aux ps -elf
PID:表示进程的ID,在Linux中,内核管理进程就是靠pid来识别和管理某一个进程。
T :已经停止或者暂停的进程
10.9 查看网络状态
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
另一个版本
-a或--all:显示所有连线中的Socket;
-l或--listening:显示监控中的服务器的Socket;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
netstat -lnp 查看监听端口
netstat -an 查看网络的连接状态
10.10 Linux下抓包
tcpdump -nn -i ens33
选项里面的第一个n是ip以数字形式显示,如果不加会以主机名显示,IP+端口号的形式
查看数据的流向
tcpdump -nn -i ens33 -c 10 -w /tmp/1.cap -c的作用是指定抓包的数量 -w指定抓的包存放的位置
tcpdump -r /tmp/1.cap -r 查看包文件
file /tmp/1.cap 查看文件类型
yum -y install wireshark
10.11 Linux网络相关
ifconfig 查看网卡IP -a 选项 如果没有配置IP,可以查看到
ifdown ens33 && ifup ens33
ifdown 停用网卡,ifup 启动网卡
给一个网卡设定多个IP
设定虚拟网卡
ifdown ens33 && ifup ens33
mii-tool ens33 查看网卡连接状态
ethtool ens33
hostnamectl set-hostname centos01 更改主机名
/etc/hostname 主机名的配置文件
/etc/resolv.conf 设置DNS,只是临时的修改dns,重启以后还是会被网卡的配置文件给覆盖掉
/etc/hosts 作用是临时解析某个域名
一个IP可以对应多个域名
每行只能有一个IP
如果多行中出现相同的域名(对应的IP不一样),会按照最前面出现的记录来解析
课堂笔记
10.1 使用w查看系统负载
10.2 vmstat命令
10.3 top命令
10.4 sar命令
10.5 nload命令
10.6 监控io性能
10.7 free命令
10.8 ps命令
10.9 查看网络状态
10.10 linux下抓包
10.11 Linux网络相关
扩展
tcp三次握手四次挥手(重点) http://www.doc88.com/p-9913773324388.html
tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html
1.使用w查看系统负载
w命令;分别代表系统时间;启动时间;登录的用户;load average代表:1,5,15分钟内系统的负载是多少(和cpu有关)单位时间内使用cpu的活动进程有多少个(平均值)。
[[email protected] ~]# w
09:24:08 up 7:43, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root pts/0 192.168.7.1 09:16 0.00s 0.02s 0.00s w
w /uptime 查看系统负载
[[email protected] ~]# w /uptime
09:22:48 up 7:42, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
cat /proc/cpuinfo查看cpu核数;processor值为0代表单核cpu。
[[email protected] /]# cat /proc/cpuinfo
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Pentium(R) CPU G645 @ 2.90GHz stepping : 7 microcode : 0x29 cpu MHz : 2899.557 cache size : 3072 KB
2.vmstat命令
当系统负载偏高时,使用vmstat命令查看
[[email protected] /]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 1513224 1332 207148 0 0 5 1 26 41 0 0 100 0 0
r列表示有多少进程在run(运行)的状态;
b代表cpu以外的资源被其他进程占用;
swpd当内存不够时数值会发生变化;
si代表有多少kb的数据从swp进入到内存中;
bi代表从磁盘中出来到内存中去,bo代表写入的数据量数值大小代表磁盘数据的读写频率;
us表示用户级别的一些资源占用的cpu百分比;
us +sy +id =100;
wa代表等待cpu的百分比。
3.top命令
top命令查看进程使用资源情况(动态显示)
zombie僵尸进程表示主进程被以外终止,子进程只好自生自灭……
[[email protected] /]# top
主要关注us的值(代表cpu使用率)
RES代表物理内存的大小,单位是k字节。
默认按cpu占用大小排序,但是按M可以按内存占用大小查看排序。
按P切换回cpu占用排序;
按1可以显示所有cpu的使用值
top -c 可以查看具体进程路径
[[email protected] ~]# top -c
top -bn1可以静态显示所有进程
[[email protected] ~]# top -bn1
sar命令
安装sar命令
[[email protected] ~]# sar -n DEV -bash: sar: 未找到命令
[[email protected] ~]# yum provides '/*/sar' .
[[email protected] ~]# yum install -y sysstat
sar -n DEV查看网卡流量;安装后要10分钟之后才能用????加上具体参数就可以使用了
[[email protected] ~]# sar
无法打开 /var/log/sa/sa08: 没有那个文件或目录
[[email protected] ~]# sar -n DEV 1 2
rx代表接收到的数据包,tx是发送出去的数据包。
rxpck数值几千的值大概是正常的,上万的话可能被攻击了
sar -q可以查看系统负载
[[email protected] ~]# sar -q
sar -b可以查看磁盘负载
[[email protected] ~]# sar -b
/var/log/sa目录下sa文件不可以直接cat,sar文件可以直接cat查看
[[email protected] ~]# ls /var/log/sa/ sa08
5.nload命令
nload可以动态显示网卡平均速度
安装noload前要安装epel-release
[[email protected] ~]# yum install epel-release
[[email protected] ~]# yum install nload
按左右方向键可以查看其它网卡的网速,q退出。
6.监控io性能
iostat -x查看磁盘使用
%util
io百分比表示等待执行的进程,wkb数值很大的话说明硬盘可能有故障
iotop命令查看磁盘实时读写速率
iotop可以实时查看磁盘使用情况
7.free命令
free命令查看内存使用情况
第一列是内存的总大小,单位是kb(可以使用free -h);
第二列是使用了多少;
第三列是剩余内存数量;
buff/cache(缓冲和缓存)是预分配内存的量;
avaliable是预分配和没有完的内存
磁盘-->内存(cache缓存)-->cpu;cpu-->内存(buff缓冲)-->磁盘
8.ps命令
ps命令用来查看系统进程
ps -aux 和ps -elf用法类似,查看所有运行的进程
ps -C 进程名 查看系统里是否有这个进程
kill命令加pid可以杀死进程(结束)
D是不能中断的进程;
R run状态下的进程;
S sleep状态下的进程;
T 暂停的进程;
Z 僵尸进程;
< 高优先级的进程;
N 低优先级进程;
s 主进程;
l 多线程进程;
+ 前台进程。
9.查看网络状态
netstat命令查看网络状态
[[email protected] ~]# netstat -lnp
sockets是uninx用户互相通信的文件(同网段)
netstat -an查看 tcp/ip状态
查看tcp状态下的命令
[[email protected] ~]# netstat -an|awk '/^tcp/{++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
ss -an和 netstat -an用法相似但是比netstat更快
10.Linux下抓包
tcpdump命令抓包
tcpdump -nn 命令表示用数字显示ip地址的端口号;用来看数据的流向
tcpdump -nn port * 指定端口
抓取指定数量的数据包并且存到指定文件目录下;不能直接去解析。。
[[email protected] ~]# tcpdump -nn -i ens33 -c 10 -w awk/chen.cap
用tcpdump -r来读取抓来的包
tshark命令可查看指定网卡80端口web的访问情况;类似于web的访问日志
11.Linux网络相关
查看网卡ip
[[email protected] ~]# ifconfig
ifup可以启动网卡,ifdown可以关闭网卡远程操作不可恢复
可以设定虚拟网卡
查看网卡是否连接mii-tool命令;无法使用的话就用ethtool命令
修改主机名
[[email protected] ~]# hostnamectl set-hostname xiaoqi
DNS配置文件
[[email protected] ~]# cat /etc/resolv.conf
host文件,修改host可以让同样的网站访问不同地址,只在本机生效
[[email protected] ~]# cat /etc/hosts
ip命令使用
1. 设置和删除IP
ip addr add 192.168.10.10/24 dev eth0
ip addr show eth0
ip addr del 192.168.10.10/24 dev eth0
2. 路由相关设置
ip route show
ip route add default via 192.168.10.1
ip route add 192.168.5.0/24 dev eth0
ip route del 192.168.10.1
另外用route命令来管理路由:
(a)、网络路由
# route add -net 192.168.1.0/24 gw 172.16.1.106
(b)、主机路由
# route add -host 192.168.1.110 gw 172.16.1.106
(c)、默认路由
# route add default gw 172.16.1.106
或
# route add -net 0.0.0.0 gw 172.16.1.106
(d)、删除路由
# route del -host 192.168.1.110
# route del -net 192.168.1.0/24
3. 显示网络统计数据
ip -s link
ip -s -s link ls eth0
3. 停止开启网卡
ip link set eth0 down
ip linke set eth0 up
更改网卡名字
ip link set ens37 name eth1