系統狀態檢視小結
監控系統狀態 w , vmstat vmstat 1 (表示每秒顯示系統當前的狀態)
vmstat重點掌握 r,b,si,so,bi,bo,wa r:表示執行和等待CPU時間片的程序數,如果長期大於伺服器CPU的個數,則說明CPU不夠用了; b:表示等待資源的程序數,比如等待I/O,記憶體等,這列的值如果長時間大於1,則需要關注一下了; si:由記憶體進入交換區的數量; so:由交換區進入記憶體的數量; bi:從塊裝置讀取資料的量(讀磁碟); bo:從塊裝置寫入資料的量(寫磁碟); wa:表示I/O等待所佔用CPU時間百分比;
監控系統狀態 sar
沒有這個命令,使用yum -y install sysstat 檢視網絡卡流量 sar -n DEV, sar -n DEV 1 10(實時檢視網絡卡流量,每秒列印一次,共列印10次,) 檢視某一天的網絡卡流量(這裡以24號那天為例) sar -n DEV -f /var/log/sa/sa24 檢視cpu歷史負載 sar -q, sar -q 1 10, sar -q -f /var/log/sa/sa24 檢視磁碟讀寫 sar -b
rpm -qf `which sar` 檢視安裝包
free檢視系統記憶體使用情況
free以k為單位顯示 -m以M為單位 -g以G為單位 buffers是即將要寫入磁碟的,cache是被從磁碟中讀出來的;
ps aux / ps -elf 檢視系統程序
PID:程序的id,這個id很有用,在Linux中核心管理程序就得靠pid來識別和管理某一個程序,比如我想終止某一個程序,則用kill -9 pid(程序號)就可以; START程序狀態:R正在執行的程序;D不能中斷的程序;S已經中斷的程序;T已經停止或暫停的程序;X已經死掉的程序;Z殭屍程序;<高優先順序程序;N低優先順序程序;L在記憶體中被鎖了記憶體分頁;s主程序;l多執行緒程序;+在前臺的程序;
重新載入服務配置 kill -HUP pid 檢視程序狀態 ps aux |awk '$8=="R"'或ps aux |awk '$8~/R/'
1. command& 讓程序在後臺執行 2. jobs 檢視後臺執行的程序 3. fg %n 讓後臺執行的程序n到前臺來 4. bg %n 讓程序n到後臺去; PS:"n"為jobs檢視到的程序編號.
netstat檢視網路狀況
netstat -lnp 檢視當前系統開啟的埠以及socket netstat -an 檢視當前系統所有的連線
Linux下的抓包工具
tcpdump -nn -i eth0 -i指定網絡卡 -nn以ip地址和埠的形式顯示 tcpdump -nn host 192.168.18.188 and tcp and port 3306 指定ip和埠以及協議 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" tcpdump -nn -vs0 tcp and port not 22 -c 100 -w 1.cap (-n指傳送資料包的IP或域名 再加一個n指傳輸方IP或域名後面可以加埠 如果不加n則後面直接顯示服務名稱,-v顯示過程,s0不限包的大小,not 22指除去22埠,-c 100只抓100個包,-w 1.cap指儲存到1.cap檔案中)
yum -y install wireshark
Linux伺服器之間互傳資料rsync -avz -e "ssh -p 59878" CentOS-Base.repo [email protected]:/etc/yum.repos.d/
linux 網路相關
ifconfig -a; ifup eth0; ifdown eth0; 給一個網絡卡設定多個IP cd /etc/sysconfig/network-scripts/; cp ifcfg-eth0 ifcfg-eth0:1; 檢視網絡卡連線狀態 mii-tool eth0 (mii-tool就是能指定網絡卡的協商方式 更改主機名 hostname name 設定DNS /etc/resolve; /etc/hosts