10.16 日常运维1

10.16 日常运维1_第1张图片

1.w命令 查看系统负载

10.16 日常运维1_第2张图片

uptime 会显示第一行负载参数
在这里插入图片描述
第一行从左到右依次表示当前时间、系统已运行时间、登录用户数(终端登录显示为tty1,远程登录显示为pts/0)、平均负载(每1分钟、每5分钟、每15分钟)主要是注意第一个负载值,值越大说明服务器压力越大。一般情况下,这个值不要超过服务器的逻辑cpu数量就没有关系

cat /proc/cpuinfo 查看系统逻辑cpu
10.16 日常运维1_第3张图片
实际为显示数加1个逻辑cpu

2.vmstat命令

监控系统状态 cpu 内存 磁盘等
vmstat 1
每秒显示一次
vmstat 1 5
每秒显示一次 共显示五次
10.16 日常运维1_第4张图片
procs 进程相关
r(run) 表示运行或等待cpu时间片的进程数
b(block) 表示等待资源的进程数,这个资源指的是I/O、内存、网速等资源

memory 内存相关
swpd 表示切换到交换分区中的内存数量。
free 当前空闲的内存数量
buff 缓冲大小
cache 缓存大小

swap 内存的交换情况
si 表示由交换分区写去到内存的数据量
so 表示由内存写入到交换分区的数据量

io 磁盘的使用情况
bi 从磁盘读取数据量的多少(读磁盘)
bo 从磁盘写入数据量的多少(写磁盘)

cpu cpu的使用情况
us 用户级别(网站、mysql)占用cpu资源的时间百分比 长时间大于50 说明资源不够
sy 系统本身占用cpu资源的时间百分比
id cpu处于空闲状态的时间百分比
us+sy+id=100
wa I/O等待所占用的cpu的时间百分比
st 被偷走的cpu资源(虚拟化 子机器 会偷走)

3.top 显示进程所占的系统资源

10.16 日常运维1_第5张图片

动态显示进程所占的系统资源 3秒更新一次

默认%cpu排序
shift m 会按内存排序
shift p 会按cpu排序

runing 正在运行的进程数
sleeping 正在处于休眠状态的进程数
stopped 已经停止的进程数
zombie 僵尸进程(主进程被终止,子进程无人管就是僵尸进程)

RES 为进程所占的内存大小
%MEM为使用内存的百分比
COMMAND 进程名称

top -c 查看具体进程路径
10.16 日常运维1_第6张图片

top -bn1 所有进程一次性静态列出

10.16 日常运维1_第7张图片

4.sar命令(瑞士军刀)

yum install -y sysstat 安装sar命令

sar -n DEV 查看网卡流量 打印当天的

10.16 日常运维1_第8张图片

IFACE 网卡名

rxpck/s 接收到的数据包 单位 个

txpck/s 发送出的数据包

rxkB/s 接收到的数据量 单位KB

rxkB/s 发送出的数据量 单位KB

rxpck/s 接收到数据包的数量上万或者rxkB/s接收到数据量大于5000000就不正常了,可能被攻击

sar -n DEV 1 5 实时查看网卡流量 每秒显示 显示5次
10.16 日常运维1_第9张图片
sar -n DEV -f /var/log/sa/saxx 查看某天的网卡流量历史
10.16 日常运维1_第10张图片

/var/log/sa/文件下 有俩个文件sa18 和sar18 (次日才会生成)
sa18 可用sar命令查看
sar18 可用cat直接查看

sar -q 查看历史负载
10.16 日常运维1_第11张图片
sar -b 查看磁盘(读写状态)
10.16 日常运维1_第12张图片

5.nload 查看网卡流量

动态显示网卡实时速度
yum install epel-release 先安装epel扩展源
yum install -y nload 再安装nload
10.16 日常运维1_第13张图片
curr 实时流量值
Avg 流量平均值
Min 流量最小值
Max 流量最大值
Ttl 累计流量值

6.监控io性能

iostat -x 磁盘使用状态
10.16 日常运维1_第14张图片
util 数值越大 磁盘使用率高 或者硬盘故障

iotop 查看读写占比的进程
10.16 日常运维1_第15张图片

7.free命令

10.16 日常运维1_第16张图片
查看内存使用情况
在这里插入图片描述
total 内存总大小
used 真正使用的内存
free 剩余物理内存
shared 共享的
buff(缓冲)/cache(缓存) 分配给buff cached的内存大小

free -m -g -h 以MB GB 合适的单位 显示

在这里插入图片描述
total=used+free+buff/cache
从磁盘中的把数据读出来,先放在内存(cache)里,最后到CPU

将cpu运算后的数据,先放在内存(buff)里,然后写进磁盘

available =free+buff/cache未使用完的部分
查看真正的剩余内存应该是available下面的数字

8.ps命令

10.16 日常运维1_第17张图片
查看系统进程

ps aux 查看系统所有进程 类似ps -elf
10.16 日常运维1_第18张图片
用途
在这里插入图片描述
PID 进程的ID 杀死进程时 kill -9 pid
每个进程在/proc/都有以PID数字命名的目录 ls -l /proc/PID/

STAT 表示进程的状态

D 不能中断的进程(通常为IO)

R 正在运行中的进程

S 已经中断的进程,通常情况下,系统中大部分进程都是这个状态

T 已经停止或者暂停的进程,如果我们正在运行一个命令

W 从内核2.6xx 以后,表示为没有足够的内存页分配

X 已经死掉的进程(这个好像从来不会出现)

Z 僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源

< 高优先级进程

N 低优先级进程

L 在内存中被锁了内存分页

s 主进程

l 多线程进程

+ 代表在前台运行的进程

用途:查看进程和数量 ps aux |grep -c xxx

9.netstat 查看网络状态

10.16 日常运维1_第19张图片
netstat 查看网络状态
10.16 日常运维1_第20张图片
netstat -lnp 查看网络监听端口
10.16 日常运维1_第21张图片
netstat -an 网络连接状况 类似 ss -an
10.16 日常运维1_第22张图片
扩展
TCP三次握手 四次挥手

netstat -an | awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}’
查看状态数量的命令

10.抓包工具

yum install -y tcpdump 安装

tcp dump -nn -i 网卡名
-i 选项后面跟设备名称或指定网卡。
-nn 选项的作用是让第3和第4列显示成“IP+端口号”的形式,如果不加-nn选项则显示“主机名+服务名称”

tcpdump -nn -i ens33 -c 20 指定抓包数量 加-c 选项,抓包20次后自动停止

tcpdump -nn -i ens33 port 22 指定抓包端口为22

tcpdump -nn -i ens33 port 22 and port 80 指定在哪2个端口里抓包

tcpdump -nn -i tcp and not port 22 指定抓tcp的包,但不要22端口的

tcpdump -nn -i ens33 -c 20 -w /tmp/1.txt 抓的包进/tmp/1.txt (写脚本用)

tcpdump -r /tmp/1.txt 查看文件里的数据流

你可能感兴趣的:(10.16 日常运维1)