5.1 - 5.4 监控Linux系统状态1-4
查看系统负载:
w/uptime 最后面三个数字表示1分钟,5分钟,15分钟平均有多少个进程占用CPU
占用CPU的进程可以是Running,也可以是Waiting
某一时刻1颗CPU只能有一个进程在使用其资源
top命令:
top 回车就可以进入到top界面
每3秒刷新一次
默认按cpu百分比排序,可以按M键按照内存使用率大小排序
按数字1,可以显示所有CPU使用率详情
top -bn1 静态显示所有进程的情况,也是按cpu百分比排序
静态显示进程信息,方便在shell脚本中使用top命令
free命令:
free查看内存和swap使用情况,关注最后一列的available,这个数字是真正剩余的物理内存大小
free -k -m -g -h
手动增加swap
dd if=/dev/zero of=/bigfile bs=1M count=1000
mkswap /bigfile
chmod 600 /bigfile
swapon /bigfile
监控磁盘:
iostat --> yum install -y sysstat
iostat -dx 1
iostat -dx 1 5
iotop --> yum install -y iotop
iotop 回车 动态显示,按IO使用率大小排序
综合工具,断定瓶颈点:
vmstat 1
vmstat 1 10
关注:r、b、si、so、bi、bo、id、wa
监控网卡流量:
sar -n DEV 1 10
yum install -y epel-release
yum install nload
nload 回车后查看网卡流量,动态显示
ethtool ens33
mii-tool ens33
查看进程:
ps aux 、 ps -elf 、 ps -eLf (查看线程)
STAT
S Sleep
R Running
s 父进程
N 低优先级
< 高优先级
+ 前台进程
l 多线程进程
Z 僵尸进程
ls -l /proc/pid/ #查看一个进程的一些详细信息
查看网络连接状况:
netstat -lnp 、netstat -lntp 、 netstat -lntup
netstat -an
ss -an
抓包工具:
tcpdump (安装:yum install -y tcpdump)
tcpdump -nn -i ens33 port 80
tcpdump -nn -i ens33 -c 100 -w 1.cap
tcpdump -i ens33 -nn not port 22 and not port 80 and not host 192.168.222.1
tcpdump -nn -r 1.cap
wireshark (安装:yum install -y wireshark)
tshark -i ens33 -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"
补充:
查看cpu核数
cat /proc/cpuinfo
lscpu
buffer和cached
buffer : 这部分内存是从CPU产生即将写入到磁盘里去的那部分数据;
cached 这部分数据是先从磁盘里读出来,然 后临时存到内存里的那部分数据,
小常识:
bit 比特(带宽单位)
Byte 字节 (速度传输单位)
8bit = 1Byte 2MB/s 2*8=16Mbit 100Mbit 12.8MB/s
代码正在补充