10.6 监控io性能
10.7 free命令
10.8 ps命令
10.9 查看网络状态
10.10 linux下抓包html
iostat命令与iotop,命令可以看出系统磁盘的工做状况,及时发现磁盘问题,这两个工具不是系统自带的,分别须要yum安装
其中iostat命令与前一篇博客中提到的sar命令在同一个(sysstat)包里,若是能使用sar命令就能使用iostat命令。
安装命令mysql
yum install epel 先安装epel扩展源
yum install sysstat iotoplinux
(一)iostat命令,看util 若是数值太高,说明磁盘很忙或者出现问题。
查看磁盘的使用状况ios
iostat -xsql
注意标红处数值,系统中的解释以下,反正这个数值很高系统就反应很慢了,要么换硬盘,要么查出是什么致使磁盘使用量飙升。
%util Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%.windows
(二)iotop,产看下哪个进程占用进程较多centos
在具体服务器上看的更明显,磁盘读写最多的在第一排。服务器
free命令用于查看内存的使用量。通常用free -h命令,看得要舒服点^^网络
其中多线程
total=used+free+shared + buff/cache
available=free+shared + buff/cache
total=used+available
cache指的是磁盘到cpu途中通过的内存区
buff指的是cpu到磁盘间途中通过的内存区
ps命令用于查看当前的系统进程,ps和top显示的结果很像
两种经常使用查看方式
一、ps aux
二、ps -elf
建议用ps aux
第一行各个项目的含义:
USER:用户名
PID:进程的PID号,经常使用与kill命令强制关闭进程,默认是从小到大排列
%CPU:CPU占用率
%MEM:内存占用率
VSZ:进程所使用的虚存的大小(Virtual Size)
RSS:物理内存使用,和top命令res同样
TTY:终端号,本身的终端用tty命令能够看到
STAT:进程状态,该项内容较重要
D:保护进程,不能中断的进程
R:run ,在运行的进程
S:大写的S表示sleep状态的进程,vmstat运行时是sleep状态
T:暂停的进程
<:高优先级的进程
N:低优先级的进程
L:内存中内存分页锁定的进程
s:小写的s,主进程
l:小写的L,多线程进程
+:前台进程
START:进程开始时间
TIME:进程运行的时间
COMMAND:进程名
(一)应用举例
一、查看某一个程序或者服务是否在运行
ps aux | grep sshd 这里的sshd能够是任意程序,好比咱们常用的ngix、mysql等等。
二、根据pid强制关闭某一进程
kill (pid号) 好比kill 1571
pid号经过 ps aux |grep '程序名'方式查看
先运行一个命令并放到后台
如今咱们根据他的pid1571把他强制关闭
这时咱们在看下ps aux 看下进程表就不存在这个进程了。
出现僵尸进程的场景,启用nigix,当父进程被意外杀掉时,子进程就可能进入僵尸进程
三、经过进程号查看进程的路径
ls -l /proc/(pid号)
经过这条命令能够看出进程是哪一个程序建立的。
netstat用于查看网络状态,linux服务器运行各类服务后须要开放一些特定的端口让其余ip的设备去访问来提供相应的服务,好比说xhsell访问服务器就要用到22端口。windows下也有netstat命令 ,也有查看开放端口的功能。
windows下的netstat命令
tcp三次握手、四次挥手的内容参见:www.doc88.com/p-9913773324388.html
一、netstat -lnp查看监听端口,须要
若是只须要查看tcp的
netstat -lntp
二、若是只须要查看tcp与udp的
netstat -ltnup
三、netstat -an查看系统全部的网络链接情况
四、ss -an查看网络链接情况
这个命令也能看连接状况,可是没有显示链接的进程,而netstat 命令就能够看到
五、经过netstat命令和awk命令查看网络连接各类状态的总数。
netstat -an|awk '/^txp/ {++stat[$NF]} END {for(key in sta) print key,"\t",sta [key]}'
命令有点长,须要记住,最好能理解。
网络出现异常的时候会须要抓包,网络出现异常流量时须要抓包看看是出现了什么问题,好比看到***,频繁访问一些端口的一些请求时就要注意本身是否是被***了。抓取网络流量须要使用tcpdump工具或者wireshark工具。
首先要使用yum安装tcpdump工具,包名就是tcpdump
yum install tcpdump
用法示例
抓取某个网卡的包
txpdump -nn -i (网卡名,用nmcli dev show查看)
图示这个ens33就是网卡名,注意在centos6中网卡是从ens1开始的,并且网卡名会变,而centos7不会,他是根据硬件信息命令名的。
看看抓包结果
tcpdump -nn -i ens33
命令选项中的n就是将源主机显示为ip地址+端口号形式,默认显示的是主机名+服务名。咱们主要看包从哪来,到哪去,走的是哪一个端口的信息。
通常状况下,大部分的包都应该是tcp的包,若是有不少udp的包时就有可能服务器被DDOS***了,这时就要借助专业工具或硬件来防御
二、指定端口和网卡抓包
tcpdump -nn ens33(网卡名) port22(端口号)
三、抓取网卡网络通讯的10个包并将他导入/tmp/1.cap
tcpdump -i ens33 -c 10 -w /tmp/1.cap
这个文件是不可cat的!
查看文件信息:
file /tmp/1.cap
读取具体内容
tcpdump -r /tmp/1.cap