Linux平常系統管理

  • 運維必備的工具-ss、htop、dstat分析工具

1、監控工具ss命令

ss命令-格式:ss[OPTION]...[FILTER]
netstat經過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通訊獲取socket信息。linux

  • 選項:
    -t: tcp協議相關
    -u: udp協議相關
    -w:裸套接字相關
    -x:unixsock相關
    -l: listen狀態的鏈接
    -a:全部
    -n:數字格式
    -p:相關的程序及PID
    -e:擴展的信息
    -m:內存用量
    -o:計時器信息ios

  • FILTER: [ state TCP-STATE ] [ EXPRESSION]
    TCP的常見狀態:tcp finite statemachine:
    LISTEN:監聽
    ESTABLISHED:已創建的鏈接
    FIN_WAIT_1
    FIN_WAIT_2
    SYN_SENT
    SYN_RECV
    CLOSEDsql

  • EXPRESSION:
    dport=
    sport=
    示例:’(dport= :sshorsport= :ssh)’
    經常使用組合:-tan, -tanl, -tanlp,-uanapp

  • 示例:
    ss-l顯示本地打開的全部端口
    ss-pl顯示每一個進程具體打開的socket
    ss-t -a顯示全部tcpsocket
    ss-u -a顯示全部的UDPSocekt
    ss-o stateestablished'( dport= :sshorsport = :ssh)'顯示全部已創建的ssh鏈接
    ss-o stateestablished'( dport = :httporsport = :http )'顯示全部已創建的HTTP鏈接
    ss-s列出當前socket詳細信息運維

2、系統工具uptime

uptime:顯示當前時間,系統已啓動的時間、當前上線人數,系統平均負載(一、五、1 5分鐘的平均負載,通常不會超過1)ssh

系統平均負載:指在特定時間間隔內運行隊列中的平均進程數socket

一般每一個CPU內核的當前活動進程數不大於3,那麼系統的性能良好。若是每一個CPU內核的任務數大於5,那麼此主機的性能有嚴重問題tcp

若是linux主機是1個雙核CPU,當LoadAverage爲6的時候說明機器已經被充分使用工具

3、進程管理工具top

top:有許多內置命令

  • 排序:
    P:以佔據的CPU百分比,%CPU
    M:佔據內存百分比,%
    MEMT:累積佔據CPU時長,
    TIME+

  • 首部信息顯示:
    uptime信息:l命令
    tasks及cpu信息:t命令
    cpu分別顯示:1(數字)
    memory信息:m命令
    退出命令:q
    修改刷新時間間隔:s
    終止指定進程:k
    保存文件:W

  • 欄位信息簡介
    us:用戶空間
    sy:內核空間
    ni:調整nice時間
    id:空閒
    wa:等待IO時間
    hi:硬中斷
    si:軟中斷(模式切換)
    st:虛擬機偷走的時間

  • 選項:
    -d 3 指定刷新時間間隔,默認爲3秒
    -b 所有顯示全部進程
    -n 3 刷新多少次後退出(此爲3)
    -H線程模式,示例:top-H -p pidofmysqld

  • htop命令:EPEL源
    選項:
    -d 3: 指定延遲時間;
    -u UserName:僅顯示指定用戶的進程
    -s COLUME:以指定字段進行排序

  • 子命令:
    s:跟蹤選定進程的系統調用
    l:顯示選定進程打開的文件列表
    a:將選定的進程綁定至某指 定CPU核心
    t:顯示進程樹

4、系統監控工具dstat

dstat命令:系統資源統計,代替vmstat,iostat

  • dstat [-afv] [options..] [delay[count]] -c顯示cpu相關信息 -d顯示disk相關信息 -D total,sda,sdb,... -g顯示page相關統計數據 -m顯示memory相關統計數據 -n顯示network相關統計數據 -p顯示process相關統計數據 -r顯示io請求相關的統計數據 -s顯示swapped相關的統計數據 --tcp --udp --unix --raw --socket --ipc --top-cpu:顯示最佔用CPU的進程 --top-io:顯示最佔用io的進程 --top-mem:顯示最佔用內存的進程 --top-latency:顯示延遲最大的進程
相關文章
相關標籤/搜索