iostat -xlinux
yum install -y iotopios
iotopweb
10.7 free命令windows
查看內存使用情況緩存
只須要敲一個 free 而後回車就能夠當前系統的總內存大小以及使用內存的狀況。從上例中可看到當前系統內存總大小爲326616(單位是k)已經使用137332, 剩餘189284. 其實真正剩餘並非這個189284, 而是第二行的297100, 真正使用的也是第二行的29516, 這是由於系統初始化時,就已經分配出很大一部份內存給緩存,這部分緩存用來隨時提供給程序使用,若是程序不用,那這部份內存就空閒。因此,查看內存使用多少,剩餘多少請看第二行的數據。另外咱們還能夠加-m 或者-g選項分別以M或G爲單位打印內存使用情況:服務器
free -h網絡
做爲系統管理員,必定要知道所管理的系統都有那些進程在運行,在windows下只要打開任務管理器便可查看。在linux下呢?其實top命令就能夠,可是不容易看,固然還有專門顯示系統進程的命令:多線程
ps -elf 也能夠查看,顯示的信息基本上是同樣的。ps命令還有更多的用法。socket
PID :進程的id,這個id頗有用,在linux中內核管理進程就得靠pid來識別和管理某一個程,好比我想終止某一個進程,則用 ‘kill 進程的pid 有時並不能殺掉,則須要加一個-9選項了 kill -9 進程pidtcp
STAT :表示進程的狀態,進程狀態分爲如下幾種(不要求記住,但要了解)
D 不能中斷的進程(一般爲IO)
R 正在運行中的進程
S 已經中斷的進程,一般狀況下,系統中大部分進程都是這個狀態
T 已經中止或者暫停的進程,若是咱們正在運行一個命令,好比說 sleep 10 若是咱們按一下ctrl -z 讓他暫停,那麼咱們用ps查看就會顯示T這個狀態
W 這個好像是說,從內核2.6xx 之後,表示爲沒有足夠的內存頁分配
X 已經死掉的進程(這個好像歷來不會出現)
Z 殭屍進程,殺不掉,打不死的垃圾進程,佔系統一小點資源,不過沒有關係。若是太多,就有問題了。通常不會出現。
< 高優先級進程
N 低優先級進程
L 在內存中被鎖了內存分頁
s 主進程
l 多線程進程
+ 表明在前臺運行的進程
這個ps命令是在工做中用的很是多的命令之一。關於ps命令的使用,常同管道符一塊兒使用,用來查看某個進程或者它的數量。
netstat 查看網絡狀態
netstat -lnp 查看監聽端口
netstat -an 查看系統的網絡鏈接情況
netstat -lntp 只看出tcp的,不包含socket
ss -an 和nestat殊途同歸
分享一個小技巧:
netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
netstat命令用來打印網絡鏈接情況、系統所開放端口、路由表等信息。最經常使用的關於netstat的命令就是這個 netstat -lnp (打印當前系統啓動哪些端口)以及 netstat -an (打印網絡鏈接情況)這兩個命令很是有用,請必定要記住。
netstat -an
若是所管理的服務器是一臺提供web服務(80端口)的服務器,那麼就可使用 netstat -an |grep 80 查看當前鏈接web服務的有哪些IP了。
用法:tcpdump -nn
tcpdump -nn -i ens33
tcpdump -nn -i port 80
tcpdump -nn not port 22 and host 192.168.0.100
tcpdump -nn -c 100 -w 1.cap //指定個數 保存路徑
tcpdump -r 1.cap //讀
yum install -y wireshark
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"
//能夠查看指定端口 80端口web服務訪問狀況 相似於web的訪問日誌
有時候,也許會有這樣的需求,想看一下某個網卡上都有哪些數據包,尤爲是初步斷定服務器上有流量攻擊。這時,使用抓包工具來抓一下數據包,就能夠知道有哪些IP在攻擊了。
先安裝:yum install -y tcpdump
[root@localhost ~]# tcpdump -nn -i ens33
上例中第三列和第四列顯示的信息爲哪個IP+port在鏈接哪個IP+port,後面的信息是該數據包的相關信息。這裏須要關注的只是第三列以及第四列。-i 選項後面跟設備名稱,若是想抓eth1網卡的包,後面則要跟eth1.至於-nn選項的做用是讓第三列和第四列顯示成IP+端口號的形式,若是不加-nn則顯示的是主機名+服務名稱。
CentOS下安裝Wireshark至關簡單.兩條命令就夠了.這裏.主要是記錄寫使用方面的東西
安裝:
一、yum install wireshark。注意這樣並沒有法使用wireshark命令和圖形界面。但提供了抓包基本功能。
二、yum install wireshark-gnome。這樣就能夠方便的使用了。
【簡易使用】#tshark; 監控全部數據,實時變化。
實際工做中抓出來的包要怎樣進行分析 : 主要是看源ip,源port,目標ip,目標port,還有協議之類的。再深刻的就得藉助圖形化的抓包工具去分析了。