使用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"