linux覆盤:基礎篇三(平常運維工具)

w查看系統負載mysql

load average:1 分鐘內系統的平均負載值,1分鐘以內有多少個進程和任務在使用cpu計算排隊nginx

查看服務器cpu狀況 cat /proc/cpuinfo processor : 0 處理器邏輯CPU個數0單核sql

負載太高,就要想辦法查看什麼進程引發的負載高,要調整優化。top看哪一個進程排在最上面,最上面的說明耗費cpu比較多,針對那個進程去優化。好比mysql佔用cpu高,那麼就去查看mysql的慢查詢日誌,看看是否是能夠經過優化sql語句來提高mysql的查詢效率,這樣就降下來了。 若是即便調優了仍是高,說明cpu不夠用啦,只能增長機器擴容。緩存

 vmstat 1 5服務器

r run 1秒內運行和等待CPU時間片的進程數,這個值若是長期大於系統CPU個數,就說明CPU資源不足,能夠考慮增長CPU網絡

b block 被阻塞的,表示等待資源的進程數,任務數據等待寫入磁盤,被I/O阻塞的任務有多少,網絡、磁盤、I/O都有關,這列值若是長時間大於1,須要關注一下tcp

si 交換分區寫入內存的數據量優化

so 內存寫入到交換分區的數據量ui

以上兩個數值一直是0,或者很小很小的值,沒有說明變化,很穩定,說明內存夠;若是長期大於0,並且不斷的變化,說明內存不夠日誌

sy system 顯示系統花費 cpu 時間百分比。就是系統內核本身的服務耗費的

id 不使用的剩餘的停頓的cpu,空閒的,這裏us+sy+id=100%

wa wait 表示I/O(網絡或者磁盤)等待所佔用cpu 時間百分比(比較有用)

top

top 查看進程使用資源狀況,具體查看是哪個進程致使的內存不夠與磁盤讀寫太高

top -c 能夠看到具體命令全局目錄

top -bn1 列出全部進程

sar(比較全面的狠角色外號瑞士軍刀)

若是沒有安裝包:yum -install sysstat

sar -n DEV 查看網卡流量

sar -n DEV 1 10 每秒顯示一次,共顯示10次

sar -n DEV -f /var/log/sa/sa17 查看17日的網卡流量歷史

ar -q 查看歷史負載

sar -b 查看磁盤讀寫

sar -p 能夠顯示cpu

rxpck/s 每秒接收的包的數量(接收的包過量並且並不是傳送數據可能爲攻擊)

txpck/s 每秒發出的包的數量

rxKB/s 每秒接收的數據量,單位KByte 1KB=1000byte=8000bit

txKB/s 每秒發出的數據量,單位KByte

nload

是監控網卡流量,首先安裝epel-release,而後安裝nload

Incoming進來的 Outgoing出去的 買帶寬是指出去的帶寬

若是有攻擊,進來的流量會不少

free查看內存使用狀況

total內存總大小,used使用了多少,free內存剩餘多少,shared共享的(不關注),buff/cache緩衝緩存,系統會把內存分出來給這它們,available=free+沒用完到的buff+cache

ps監控系統

用法一:

ps aux | grep nginx 查看一個進程有沒有在運行

用法二:

ps -elf 列出全部進程

PID殺死一個進程,就用kill+PID數字,kill -9 xxx

檢查系統狀態

netstat 查看網絡狀態

netstat -lnp 查看監聽端口

netstat -an 查看系統的網絡狀態

netstat -lntp 只查看tcp的端口

tcpdump抓包

用法最多:tcpdump -nn

兩個n指用ip的形式顯示出來 原ip原端口>現ip現端口

length 0 檢查這個數字,DDos攻擊,有一種udp flood攻擊,300G的攻擊

tcpdump -nn -i ens33 指定網卡的名字

tcpdump -nn port 80 指定端口來抓包

tcpdump -nn not port 22 and host 192.168.0.100

也能夠排除某有個端口,和只要某一個ip的包,這個ip能夠是源端口的或者是現端口的

tcpdump -nn -c 100 -w 1.cap 指定只抓100個-c,存到一個文件裏去-w(/tmp/1.cap)

相關文章
相關標籤/搜索