一、监控io性能
Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。
iostat -x磁盘使用
iotop磁盘使用
二、free命令查看内存使用情况,系统自动分配一部分给buff/cache缓存
free -m
free -g
free -h
公式:total=used+free+buff/cache
磁盘数据-->内存(cache)-->cpu
cpu数据-->内存(buffer)-->磁盘
availiable包含free和buffer/cache剩余部分
三、ps(process status)命令,查看系统当前进程,静态一次性列出,格式ps [参数]
ps aux ps -elf查看系统当前所有进程
STAT进程状态
D 不能中断的进程
R run状态的进程
S sleep状态的进程
T暂停的进程
Z僵尸进程
<高优先级进程
N低优先级进程
L内存中被锁了内存分页
s主进程
|多线进程
+前台进程
杀死进程kill 1170
查看进程路径,首先需要知道进程ID
四、查看网络状态
netstat查看系统状态
netstat -lnp查看监听端口
netstat -an查看系统的网络连接状态
netstat -lntp 只看出tcp,不包含socket
ss -an和netstat一样
技巧:
netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t" ,sta[key]}'查看所有状态数字
netstat -lnp查看监听端口
查看tcp网络连接状态
nestat -lntp只看出tcp,不包含socket
netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t" ,sta[key]}'
tcp ip三次握手四次挥手
五、linux下抓包
抓包工具tcpdump
用法:tcpdump -nn 参数
tcpdump -nn -i ens33
tcpdump -nn -i ens33 port 80指定80端口
tcpdump -nn -i ens33 not port 22 and host 140.206.78.11 不要22包,只要11ip包
tcpdump -nn -i ens33 -c 100 -w /tmp/1.cap 指定数据包100个并存到tmp
tshark
yum install -y wireshark
tshark -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"