使用iostat命令查看磁盘使用状况html
[root@Ask-02 ~]# iostat -xlinux
这里咱们主要关注util这一列,util是个百分比显示的,若是这个值越大则表示你的硬盘越忙,这也会是你系统变慢的缘由ios
使用iotop命令查看那个进程使用磁盘大
首先须要先安装这个命令服务器
[root@Ask-02 ~]# yum install -y iotop
[root@Ask-02 ~]# iotop网络
free命令能够查看当前系统的总内存大小以及使用内存的状况。Centos7比Centos6更加简洁了一些,但大致内容一致。多线程
[root@Ask-02 ~]# freetcp
total:内存总大小 used:真正使用的实际内存大小 free:剩余物理内存大小(没有被分配,纯剩余) shared:共享内存大小,不用关注它 buff/cache:buffer和cache都是一部份内存,内存的做用就是缓解CPU和IO的速度差距的 available:系统可使用内存有多大
free命令显示的结果中,其实有一个隐藏的公式:total=used+free+buff/cache。available是由free这部份内存和buff/cache还未占用的那部份内存组成。
free同时还能够加一些参数-m和-g(分别是MB和GB的单位显示)打印内存使用情况,甚至也支持-h选项ide
使用ps命令查看系统进程工具
[root@Ask-02 ~]# 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@Ask-02 ~]# netstat -lnp //打印当前系统启动哪些端口
和
[root@Ask-02 ~]# netstat -an //打印网络链接情况
tcp三次握手四次挥手,须要着重了解的内容;
https://wenku.baidu.com/view/91793c1ec281e53a5802ff29.html
分享技巧,查看全部状态的数量(客户端和服务端在通讯数量,1000之内都是正常的)
[root@Ask-02 ~]# netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
LISTEN 9
ESTABLISHED 1
tcpdump工具:查看某个网卡上都有哪些数据包,尤为是当你初步判断服务器上有流量***时,使用抓包工具来抓取数据包就能够知道有哪些ip在***了。
若是尚未tcpdump工具则先进行安装;
[root@Ask-02 ~]# yum install -y tcpdump
[root@Ask-02 ~]# tcpdump -nn -i ens33
经常使用参数-nn 这里因为使用的虚拟机因此须要指定网卡加了-i参数,命令输完回车,屏幕会不断打印出字符,字符串不停刷新,这些内容就是传输数据的流向过程以及数据包,这里重点关注第三列和第四列,表示从哪一个ip+端口链接到哪一个ip+端口。Ctrl+C退出程序。
tcpdump还有-c和-w选项,-c指定抓包数量,-w保存抓取结果到指定的路径
[root@Ask-02 ~]# tcpdump -nn -i ens33 -c 10 -w /home/ask/文档/
除此以外还有
[root@Ask-02 ~]# tcpdump -nn -i ens33 port 22 //指定抓取22端口的包
[root@Ask-02 ~]# tcpdump -nn -i ens33 not port 22 //指定抓取除了22端口之外的包
[root@Ask-02 ~]# tcpdump -nn -i ens33 tcp and not port 22 //指定抓取tcp的包,但排除掉22端口的
[root@Ask-02 ~]# tcpdump -nn -i ens33 port 22 and port 24 //指定抓取只有22和24端口的包
wireshark工具
安装tshark抓包工具
[root@Ask-02 ~]# yum install -y wireshark
指定查看80端口的访问状况
[root@Ask-02 ~]# 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"