26.Linux系统管理技巧2--io监控,free,ps,netstat,tcpdump
2018-01-28 18:36
537 查看
七周二次课(1月23日)
10.6 监控io性能10.7 free命令
10.8 ps命令
10.9 查看网络状态netstat
10.10 linux下抓包tcpdump
一、 监控io性能
1.iostat命令,该命令和sar共同存在于systat安装包中,用法如下:
也可以用 iostat 1 ,同vmstat一样表示一秒输出一次io状态
比较重要的命令是 iostat -x,当中的%util,指的是io等待的时间,即占用CPU的时间,是一个时间比,当达到50%,60%的时候说明磁盘的IO太差,很忙,也就有问题。
iotop命令,这里需要安装 yum install -y iotop
输入命令
二 free命令查看内存使用情况
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。free -m,-g 分别以MB或GB为单位打印内存使用情况。
total:内存总数;tatal=used+free+buff/cache
used:已经使用的内存数;
free:空闲的内存数;
shared:当前已经废弃不用;
buff/cache:分配给buffer和cache的内存总共有多大;
available:系统可使用内存大小,avaliable包含free和buffer/cache剩余部分。
buff/cache 的区别
数据经过CPU计算,即将要写入磁盘,这时用的内存为buffer;CPU要计算时,需要把数据从磁盘中读出来,临时放在内存中,这部分内存就是cache。
另外也要注意swap的配置,如果占用的比较多说明内存不够使用了。
三、用ps命令查看系统进程
ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。如下示例:ps -elf 用法也是一样的
ps命令可以连同管道符一起使用
[root@localhost ~]# ps aux |grep mysql [root@localhost ~]# ps aux |grep nginx
[ ] PID :进程的ID,这个ID很有用,在linux中内核管理进程就得靠pid来识别和管理某一个程,比如我想终止某一个进程,则用kill 进程的pid有时并不能杀掉,则需要加一个-9选项了kill -9 进程pid,这样做有点暴力,严重的时候回丢失数据,所以尽量不用。
在proc目录下存放了很多数字的目录,其实就是PID进程文件,可以用ls来查看
[ ] STAT :表示进程的状态,进程状态分为以下几种(不要求记住,但要大致了解)
D:不能中断的进程(通常为IO)
R(run):正在运行中的进程,其中包括了等待CPU的时间片的进程(某时间段内)
S(sleep):已经中断的进程,通常情况下,系统中大部分进程都是这个状态
T:已经停止或者暂停的进程,如果我们正在运行一个命令,比如说 sleep 10 如果我们按一下ctrl -z
让他暂停,那么我们用ps查看就会显示T这个状态
fg命令恢复刚在的暂停命令
vmstat占用cpu的时间非常短暂,
W:这个好像是说,从内核2.6xx 以后,表示为没有足够的内存页分配
X:已经死掉的进程(这个好像从来不会出现)
Z:僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。一般不会出现。
<:高优先级进程
N:低优先级进程
L:在内存中被锁了内存分页
s:主进程
l:多线程进程
+:代表在前台运行的进程,比如当前终端执行ps aux就是前台进程,前面出现的S+
四、用netstat命令查看网络状况
netstat命令用来打印网络连接状况、系统所开放端口、路由表等信息。[root@localhost ~]# netstat -lnp //打印当前系统启动哪些端口 [root@localhost ~]# netstat -an //打印网络链接情况
netstat -lntp 只看出tcp的,不包含socket
netstat -lnup 只看udp
ss -an 和nestat异曲同工,不显示进程名字
ss -an | grep -i listen //LISTEN是大写
分享一个小技巧:
#netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
ESTABLISHED 45 这是一个很重要的参数,必须在1000以内.客户端同时和你的服务器通信。
TCP/IP 三次握手。四次挥手过程,扩展知识
五、抓包工具
tcpdump工具
如果没有tcpdump 这个命令,需要用yum install -y tcpdump命令去安装一下。
[ ] -i 选项后面跟设备名称,如果你想抓ens33网卡的包,后面则要跟eens33。
[ ] -nn选项的作用是让第三列和第四列显示成IP+端口号的形式,如果不加-nn则显示的是主机名+服务名称。
[ ] -c选项,指定抓包数量。
[root@localhost ~]# tcpdump -nn -i ens33
# tcpdump -nn -i ens33 port 22 //只抓22端口的包 # tcpdump host 192.168.x.x //抓取指定ip的包 # tcpdump -nn -i ens33 tcp and not port 22 //指定抓tcp的包,但是不要22端口的 # tcpdump -nn -i ens33 port 22 and port 53 //只抓22和53端口的包 # tcpdump -nn -i ens33 -c 10 -i ens33 -w /tmp/1.cap //保存10次抓包到/tmp/1.cap,无法用cat查看 # tcpdump -r /tmp/test.cap //读取抓包文件
2. wireshark工具
抓包命令是tshark,这条命令用于web服务器,将显示的是web访问日志,如果服务器没有配置访问日志,可以临时使用该命令查看胰腺癌当前服务器上的Web请求。要注意的是如果你的机器上没有开启Web服务,是不会显示任何内容的
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"
相关文章推荐
- Linux日常运维管理技巧-iostat、iotop、free、ps、netstat、tcpdump、tshark命令
- 查看磁盘io、内存free、系统进程ps、网络状态netstat、Linux抓包tcpdump
- Linux系统日常管理1 w,vmstat,top,sar,free,ps监控命令
- centos Linux系统日常管理1 cpuinfo cpu核数 命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ,lsof 第十四节课
- Linux系统管理工具-iostat、free、ps、netstat、tcpdump
- 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包
- linux常用的简单命令(三)tar、scp、df/du、ps、free、top、netstat、tcpdump、kill、reboot/halt/poweroff、shutdown
- Linux系统管理工具-iostat、free、ps、netstat、tcpdump
- 查看Linux系统负载,w、uptime、vmstat、top、sar、free、ps、netstat
- 七周二次课(11月28日) 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包
- 10.6 监控io性能 ,free命令,ps命令,查看网络状态,linux下抓包
- 监控IO性能| free命令 |ps命令 |查看网络状态 |linux下抓包
- 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包
- linux的free、ps、netstat、tcpdump命令工具介绍
- 监控io性能,free,ps,查看网络状态,Linux下抓包
- Linux基础--------监控系统、进程管理、软件包管理-------free、dd、kill、 rpm、yum、源码安装python
- linux日常维护(iostat,free,ps,netstat,tcp三次握手,tcpdump)
- free看内存使用,ps看系统进程,netstat查看网络,tcpdump抓包
- 十(2)nload命令、监控io性能、free命令、ps命令 、netstat查看网络状态
- Linux日常管理技巧(2):free,ps,netstat命令和抓包工具