io、free、ps、netstat、tcpdump、tshark

10.6 監控io性能

  1. iostat -x 磁盤使用
  2. iostat
  3. iostat 1
  4. 獲得的信息爲硬盤信息,還有讀寫速度
  5. iostat -x
  6. 獲得的信息中有一個很是重要的指標%util,這一列表示io等待io時間比佔用多少cpu,若是這個數字很大,例如50% 60%,說明磁盤很忙
  7. iotop,發現磁盤io很高,但願看到哪個進程再讀寫,能夠直接輸入iotop

10.7 free命令

  1. free 查看內存和交換分區信息
  2. free -m以M爲單位顯示
  3. free -h以合適的單位顯示
  4. total=used+free+buff/cache
  5. linux操做系統會分配一部分出來給buff和cache,buff爲緩衝,cache爲緩存
  6. 數據從磁盤讀出來交給cpu運算,數據流方向爲:000(磁盤)--> 內存(cache) --> cpu,這個內存較爲cache
  7. cpu把數據計算完畢存儲到磁盤中數據流方向爲:cpu(000)--> 內存(buffer)--> 磁盤
  8. acailable爲free+預分配後的buff/cache,buffer/cache剩餘部分

10.8 ps命令

  1. ps彙報當前進程的快照
  2. ps aux 把當前的進程使用情況列出來,爲靜態的,top爲動態的
  3. ps aux | grep mysql 檢查某個進程是否在運行
  4. ps -elf 同ps aux類似
  5. PID 殺死一個進程的時候用這個PID,kill PID命令
  6. 當系統被黑客攻擊,遇到一個不知道的進程,須要搞明白進程在什麼地方啓動起來的,將它kill了
  7. ls -l /proc/PID
  8. STAT 進程狀態
    1. D不能中斷的進程
    2. R run狀態的進程,在一個時間段內在使用的進程
    3. S sleep狀態的進程,運算完會暫停一段 +加號意思爲前臺進程
    4. T 暫停的進程ctrl+z的進程
    5. Z殭屍進程
    6. <高優先級的進程
    7. N低優先級進程
    8. L內存中被鎖了內存分頁的進程
    9. s(小寫s)主進程
    10. | 多線程進程,一個進程有多個線程,一個進程有一塊內存,這個進程下的多個線程均可以共享這一塊內存,其餘進程是不能使用這一塊內存的。
    11. +前臺進程

10.9 查看網絡狀態

  1. netstat 查看網絡狀態
  2. 服務器上有不少服務,服務是與客戶端進行通訊,有監聽端口和通訊端口,netstat查看的是tcp/ip通訊端口,正常狀況下是沒有端口監聽的,若是想提供web服務,必須監聽端口
  3. netstat -lnp 查看監聽端口
    1. Local Address 中的IP:端口,Ip後邊就是端口,或者最後一個冒號後邊的數字
    2. sockets文件,同一臺服務器不一樣進程之間經過socket進行通訊
    3. netstat -an 查看全部的鏈接狀態
    4. netstat -ltnp 只查看tcp狀態
    5. netstat -ltunp 查看tcp udp狀態
    6. 涉及到tcp三次握手四次揮手
  4. # netstat -an | awk '/^tcp/ {++sta[$NE]} END {for(key in sta) print key,"\t",sta[key]}'統計全部狀態的數量
  5. centos7.aminglinux.com
  6. ss -an 也能查看,可是不現實進程名字

10.10 linux下抓包

  1. yum install -y tcpdump
  2. tcpdump -nn -i ess1(網卡名字)
    1. -nn 加n爲將ip和端口顯示爲數字,不加顯示的爲主機名字
    2. 關注的爲源IP和端口與目的IP和端口
  3. tcpdump -nn -i eth0 port 22
  4. tcpdump -nn -i eth0 port 22 and host 192.168.0.100
  5. tcpdump -nn -i eth0 i -c 100 -w /tmp/1.cap 指定抓去100次,並將結果存到指定的目錄中的文件
  6. file /tmp/1.cap 這個文件中的內容爲真正的數據流
  7. tcpdunp -r /tmp/1.cap 能夠查看抓包信息,數據流信息
  8. yum install -y wireshark
  9. 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.url"

擴展

  1. tcp三次握手四次揮手 http://www.doc88.com/p-9913773324388.html
  2. tshark幾個用法:http://www.aminglinux.com/bbs/thread-995-1-1.html
相關文章
相關標籤/搜索