监控io性能/free命令/ps命令/查看网络状况/linux下抓包

监控io性能

使用iostat命令查看磁盘使用情况

[root@kvm ~]# yum -y install sysstat 

[root@kvm ~]# iostat -x

Linux 3.10.0-693.el7.x86_64 (kvm) 2018年01月25日 _x86_64_ (4 CPU)

avg-cpu:  %user  %nice %system %iowait  %steal  %idle

          1.80    0.00    2.89    5.03    0.00  90.29

这里我们主要关注util这一列,util是个百分比显示的,如果这个值越大则表示你的硬盘越忙,这也会是你系统变慢的原因

使用iotop命令查看那个进程使用磁盘大

首先需要先安装这个命令

[root@kvm ~]# yum install -y iotop

[root@kvm ~]# iotop

free命令

free命令可以查看当前系统的总内存大小以及使用内存的情况。Centos7比Centos6更加简洁了一些,但大体内容一致。

[root@kvm ~]# iotop

[root@kvm ~]# free

              total        used        free      shared  buff/cache  available

Mem:        7994076      158268    7471584        8840      364224    7555260

Swap:      5242876          0    5242876

total:内存总大小used:真正使用的实际内存大小free:剩余物理内存大小(没有被分配,纯剩余)shared:共享内存大小,不用关注它buff/cache:buffer和cache都是一部分内存,内存的作用就是缓解CPU和IO的速度差距的available:系统可以使用内存有多大

free命令显示的结果中,其实有一个隐藏的公式:total=used+free+buff/cacheavailable是由free这部分内存和buff/cache还未占用的那部分内存组成。

free同时还可以加一些参数-m-g(分别是MBGB的单位显示)打印内存使用状况,甚至也支持-h选项

[root@kvm ~]# free -h

              total        used        free      shared  buff/cache  available

Mem:          7.6G        154M        7.1G        8.6M        355M        7.2G

Swap:          5.0G          0B        5.0G

ps命令

使用ps命令查看系统进程

[root@kvm ~]# ps aux

除了ps aux命令外还有一个ps -elf命令,但是常用一般为ps aux命令

PID:表示进程的id,这个id很有用。在linux中,内核管理进程就得靠pid来识别和管理某一个进程,比如这里想要终止一个进程,则用命令“kill 进程的id”,有的时候这样并不能关闭某些进程,需要加-9选项,但你这样有些强行(暴力),严重的话可能会丢失数据,所以尽量不用。

STAT:进程的状态,状态分为以下几种

D:不能中断的进程(通常为IO)R:正在运行的进程,包含等待CPU时间片的进程S:已经中断的进程。通常情况下,系统的大部分进程都是这个状态T:已经停止或者暂停的进程。Z:僵尸进程,即杀不掉,打不死的垃圾进程,占用系统一点资源,不过没有关系。如果占用太多,则需要重视<:高优先级进程N:底优先级进程L:在内存中被锁了内存分页s:主进程l:多线程进程+:在前台运行的进程,比如在当前终端执行的ps aux就是前台进程

查看网络状态

netstat:用于打印网络连接状况、系统所开放端口、路由表等信息,一般常用的有;

[root@kvm ~]#  netstat -lnp //打印当前系统启动哪些端口

[root@kvm ~]#  netstat -an //打印网络连接状况

linux下抓包

tcpdump工具:查看某个网卡上都有哪些数据包,尤其是当你初步判断服务器上有流量攻击时,使用抓包工具来抓取数据包就可以知道有哪些ip在攻击了。

如果还没有tcpdump工具则先进行安装;

[root@kvm ~]# yum install -y tcpdump

[root@kvm ~]# tcpdump -nn -i ens33

常用参数-nn 这里由于使用的虚拟机所以需要指定网卡加了-i参数,命令输完回车,屏幕会不断打印出字符,字符串不停刷新,这些内容就是传输数据的流向过程以及数据包,这里重点关注第三列和第四列,表示从哪个ip+端口连接到哪个ip+端口Ctrl+C退出程序。

tcpdump还有-c-w选项,-c指定抓包数量,-w保存抓取结果到指定的路径

[root@kvm ~]# tcpdump -nn -i ens33 port 22 //指定抓取22端口的包

[root@kvm ~]# tcpdump -nn -i ens33 not port 22 //指定抓取除了22端口以外的包

[root@kvm ~]# tcpdump -nn -i ens33 tcp and not port 22 //指定抓取tcp的包,但排除掉22端口的

[root@kvm ~]# tcpdump -nn -i ens33 port 22 and port 24 //指定抓取只有22和24端口的包

wireshark工具

安装tshark抓包工具

[root@kvm home]# yum install -y wireshark

指定查看80端口的访问情况

你可能感兴趣的:(监控io性能/free命令/ps命令/查看网络状况/linux下抓包)