中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

濟南快速建站模板網(wǎng)站結(jié)構(gòu)優(yōu)化的內(nèi)容和方法

濟南快速建站模板,網(wǎng)站結(jié)構(gòu)優(yōu)化的內(nèi)容和方法,引航博景做的網(wǎng)站,人人車的網(wǎng)站找誰做的tcpdump是一款經(jīng)典的抓包工具,即使今天我們已經(jīng)有了像Wireshark這樣更易于使用和掌握的抓包工具,tcpdump仍是網(wǎng)絡程序員的必備利器。 tcpdump提供了一些選項用以過濾數(shù)據(jù)包或定制輸出格式,常見的選項如下: 1.-n:使用I…

tcpdump是一款經(jīng)典的抓包工具,即使今天我們已經(jīng)有了像Wireshark這樣更易于使用和掌握的抓包工具,tcpdump仍是網(wǎng)絡程序員的必備利器。

tcpdump提供了一些選項用以過濾數(shù)據(jù)包或定制輸出格式,常見的選項如下:
1.-n:使用IP地址表示主機,而非主機名;使用數(shù)字表示端口號,而非服務名。

2.-i:指定要監(jiān)聽的網(wǎng)卡接口。-i any表示抓取所有網(wǎng)卡接口上的數(shù)據(jù)包。

3.-v:輸出更詳細的信息,如顯式IP數(shù)據(jù)包中的TTL和TOS信息。

4.-t:不打印時間戳。

5.-e:顯示以太網(wǎng)幀頭部信息。

6.-c:僅抓取指定數(shù)量的數(shù)據(jù)包。

7.-x:以十六進制數(shù)顯示數(shù)據(jù)包的內(nèi)容,但不顯示包中以太網(wǎng)幀的頭部信息。

8.-X:與7類似,但還打印每個十六進制字節(jié)對應的ASCII字符。

9.-XX:與8類型,但還打印以太網(wǎng)幀的頭部信息。

10.-s:設置抓包時的抓取長度,當數(shù)據(jù)包的長度超過抓取長度時,tcpdump抓取到的是被截斷的數(shù)據(jù)包。在4.0及之前的版本中,默認的抓包長度是68字節(jié),這對于IP、TCP、UDP等協(xié)議時足夠的,但對于DNS、NFS等協(xié)議,68字節(jié)通常不能容納一個完整的數(shù)據(jù)包。4.0版本后,默認的抓包長度被修改為65535字節(jié)。

11.-S:以絕對值來顯示TCP報文段的需要,而非相對值。

12.-w:將tcpdump的輸出以某種格式定向到某個文件。

13.-r:從文件讀取數(shù)據(jù)包信息并顯示之。

除了使用選項外,tcpdump還支持用表達式進一步過濾數(shù)據(jù)包,tcpdump表示式的操作數(shù)分為3種:
1.類型:解釋其后面跟著的參數(shù)的含義,其可選值包括host、net、port、portrange,它們分別指定主機名(或IP地址)、用CIDR方法表示的網(wǎng)絡地址、端口號、端口范圍。如要抓取整個1.2.3.0/255.255.255.0網(wǎng)絡上的數(shù)據(jù)包,可用以下命令:
在這里插入圖片描述
2.方向:其可選值為src(指定數(shù)據(jù)包的發(fā)送端)、dst(指定數(shù)據(jù)包的目的端)。如要抓取進入端口13579的數(shù)據(jù)包,可用以下命令:
在這里插入圖片描述
3.協(xié)議:指定目標協(xié)議,如要抓取所有ICMP數(shù)據(jù)包,可用以下命令:
在這里插入圖片描述
我們還可使用邏輯操作符來組織上述操作數(shù)以創(chuàng)建更復雜的表達式,tcpdump支持的邏輯操作符和編程語言中的邏輯操作符完全相同,包括and(&&)、or(||)、not(!)。如要抓取主機ernest-laptop和所有非Kongming20的主機之間交換的IP數(shù)據(jù)包,可用以下命令:
在這里插入圖片描述
如果表達式比較復雜,我們可以用括號將它們分組,但在使用括號時,我們要么用反斜杠\對它轉(zhuǎn)義,要么使用單引號'將其括住,以避免它被shell所解釋。如要抓取來自主機10.0.2.4,目標端口是3389或22的數(shù)據(jù)包,可使用如下命令:
在這里插入圖片描述
tcpdump還允許直接使用數(shù)據(jù)包中的部分協(xié)議字段的內(nèi)容來過濾數(shù)據(jù)包,如僅抓取TCP同步報文段,可使用如下命令:
在這里插入圖片描述
這是因為TCP頭部的第14個字節(jié)的第2個位是同步標志,該命令也可表示為:
在這里插入圖片描述
tcpdump的具體輸出格式除了與選項有關外,還與協(xié)議有關,具體可參考tcpdump的man手冊。

lsof(list open file)命令是一個列出當前系統(tǒng)打開的文件描述符的工具,通過它我們可以了解感興趣的進程打開了哪些文件描述符,或者我們感興趣的文件描述符被哪些進程打開了。

lsof命令常用的選項:
1.-i:顯示socket文件描述符,該選項的使用方法是:
在這里插入圖片描述
其中,4表示IPv4協(xié)議,6表示IPv6協(xié)議;protocol指定傳輸層協(xié)議,可以是TCP或UDP;hostname指定主機名;ipaddr指定主機的IP地址;service指定服務名;port指定端口號。如要顯示所有連接到主機192.168.1.108的ssh服務的socket文件描述符,可用以下命令:
在這里插入圖片描述
如果-i后不跟任何參數(shù),則lsof命令將顯示所有socket文件描述符。

2.-u:顯示指定用戶啟動的所有進程打開的所有文件描述符。

3.-c:顯示指定的命令打開的所有文件描述符,比如要查看websrv程序打開了哪些文件描述符,可用以下命令:
在這里插入圖片描述
4.-p:顯示指定進程打開的所有文件描述符。

5.-t:僅顯示打開了目標文件描述符的進程的PID。

我們還可直接將文件名作為lsof命令的參數(shù),以查看哪些進程打開了該文件。

查看websrv服務器打開了哪些文件描述符:
在這里插入圖片描述
lsof命令的每行輸出內(nèi)容包含以下字段:
1.COMMAND:執(zhí)行程序所使用的終端命令。默認僅顯示前9個字符。

2.PID:文件描述符所屬進程的PID。

3.USER:擁有該文件描述符的用戶的用戶名。

4.FD:文件描述符的描述。其中cwd表示進程的工作目錄;rtd表示用戶的根目錄;txt表示進程運行的程序代碼;mem表示直接映射到內(nèi)存中的文件(上例中都是動態(tài)庫)。有的FD格式為數(shù)字+訪問權(quán)限,其中數(shù)字是文件描述符額具體數(shù)值,訪問權(quán)限包括r(可讀)、w(可寫)、u(可讀可寫),上圖中,0u、1u、2u分別表示標準輸入、標準輸出、標準錯誤輸出,3u表示處于LISTEN狀態(tài)的監(jiān)聽socket,4u表示epoll內(nèi)核事件表對應的文件描述符。

5.TYPE:文件描述符的類型。其中DIR是目錄;REG是普通文件;CHR是字符設備文件;IPv4是IPv4類型的socket文件描述符;0000是未知類型。更多類型可參考lsof命令的man手冊。

6.DEVICE:文件所屬設備。對于字符設備和塊設備,其表示方法是主設備號,次設備號,由上圖可見,測試機器上的程序文件和動態(tài)庫都放在設備8,3上,其中,8表示這是一個SCSI(Small Computer System Interface,小型計算機系統(tǒng)接口)硬盤,3表示這是該硬盤上的第3個分區(qū),即sda3。websrv進程的標準輸入、標準輸出、標準錯誤對應的設備是136,3,其中136表示這是一個偽終端,3表示它是第3個偽終端,即/dev/pts/3。對于FIFO類型的文件,如管道和socket,該字段將顯示一個內(nèi)核引用目標文件的地址,或者是其i節(jié)點號。

7.SIZE/OFF:文件大小或偏移值。如果如果該字段顯示為0t*0x*,就表示這是一個偏移值,否則就表示這是一個文件大小。對字符設備或FIFO類型的文件定義文件大小沒有意義,所以該字段將顯示一個偏移值。

9.NODE:文件的i節(jié)點號。對于socket,則顯示為協(xié)議類型,如TCP。

10.NAME:文件名。

如果我們使用telnet命令向websrv服務器發(fā)起一個連接,再次執(zhí)行上圖中的lsof命令時,會多輸出以下行:
在這里插入圖片描述
該輸出表示服務器打開了一個IPv4類型的socket,其值為5,且它處于ESTABLISHED狀態(tài)。該socket對應的連接的本端socket地址是(127.0.0.1, 13579),遠端socket地址是(127.0.0.1, 48215)。

nc(netcat)命令主要用來快速構(gòu)建網(wǎng)絡連接,我們可以讓它以服務器方式運行,監(jiān)聽某個端口并接收客戶連接,因此它可用來調(diào)試客戶端程序,我們也可以使之以客戶端方式運行,向服務器發(fā)起連接并收發(fā)數(shù)據(jù),因此它可用來調(diào)試服務器程序,此時它有點像telnet程序。

nc命令常用的選項:
1.-i:設置數(shù)據(jù)包傳送的時間間隔。

2.-l:以服務器方式運行,監(jiān)聽指定的端口。nc命令默認以客戶端方式運行。

3.-k:保持服務器持續(xù)監(jiān)聽,nc不會在客戶端連接終止后退出,而是繼續(xù)保持監(jiān)聽狀態(tài),必須與-l選項一起使用。

4.-n:使用IP地址表示主機,而不是主機名;使用數(shù)字表示端口號,而不是服務名。即不做任何DNS或服務查找,此時用戶需要提供原始IP地址和端口號,使用該選項的情形:
(1)需要快速測試,避免額外的解析帶來的時間消耗。

(2)DNS解析不可用時,可以使用IP進行連接。

(3)需要指定特定的地址,避免解析結(jié)果帶來的不確定性。

5.-p:當nc命令以客戶端運行時,強制其使用指定的端口號。

6.-s:設置本地主機發(fā)送出的數(shù)據(jù)包的IP地址。

7.-C:將CR和LF兩個字符作為行結(jié)束符。

8.-U:使用UNIX本地域協(xié)議通信。

9.-u:使用UDP協(xié)議。nc命令默認使用的傳輸層協(xié)議是TCP協(xié)議。

10.-w:如果nc客戶端在指定的時間內(nèi)未檢測到任何輸入,則退出。

11.-X:當nc客戶端和代理服務器通信時,該選項指定它們之間使用的通信協(xié)議,目前nc支持的代理協(xié)議有4(SOCKS v.4)、5(SOCKS v.5)、connect(HTTPS proxy),nc默認使用的代理協(xié)議是SOCKS v.5。

12.-x:指定目標代理服務器的IP地址和端口號,比如,要連接到ernest-laptop上的squid代理服務器,并通過它來訪問www.baidu.com的Web服務,可用以下命令:
在這里插入圖片描述
13:-z:掃描目標機器上的某個或某些服務是否開啟(端口掃描),比如,要掃描機器ernest-laptop上端口在20~50之間的服務,可用以下命令:
在這里插入圖片描述
我們可用以下方式來連接websrv服務器并向它發(fā)送數(shù)據(jù):
在這里插入圖片描述
上圖中使用了-C選項,這樣我們每次按下回車鍵向服務器發(fā)送一行數(shù)據(jù)時,nc客戶端都會給服務器額外發(fā)送一個<CR><LF>,這正是websrv服務器期望的HTTP行結(jié)束符。發(fā)完第三行數(shù)據(jù)后,我們得到了服務器的響應,內(nèi)容正是我們期望的:服務器沒有找到被請求的資源文件a.html。

strace跟蹤程序運行過程中指定的系統(tǒng)調(diào)用和接收到的信號,并將系統(tǒng)調(diào)用名、參數(shù)、返回值、信號名輸出到標準輸出或指定文件。

strace命令常用選項包括:
1.-c:統(tǒng)計每個系統(tǒng)調(diào)用執(zhí)行時間、執(zhí)行次數(shù)、出錯次數(shù)。

2.-f:跟蹤由fork函數(shù)生成的子進程。

3.-t:在輸出的每行信息前加上時間信息。

4.-e:指定一個表達式,用來控制如何跟蹤系統(tǒng)調(diào)用(或接收到的信號,下同),其格式為:
在這里插入圖片描述
qualifier可以是trace、abbrev、verbose、raw、signal、read、write之一,默認是trace。value是用于進一步限制被跟蹤的系統(tǒng)調(diào)用的符號或數(shù)值,它的兩個特殊取值時all和none,分別表示跟蹤所有由qulifier指定類型的系統(tǒng)調(diào)用和不跟蹤任何該類型的系統(tǒng)調(diào)用。以下是其他value取值:
(1)-e trace=set:只跟蹤指定的系統(tǒng)調(diào)用。例如-e trace=open, close, read, write表示只跟蹤open、close、read、write這4種系統(tǒng)調(diào)用。

(2)-e trace=file:只跟蹤與文件操作相關的系統(tǒng)調(diào)用。

(3)-e trace=process:只跟蹤與進程控制相關的系統(tǒng)調(diào)用。

(4)-e trace=network:只跟蹤與網(wǎng)絡相關的系統(tǒng)調(diào)用。

(5)-e trace=signal:只跟蹤與信號相關的系統(tǒng)調(diào)用。

(6)-e trace=ipc:只跟蹤與進程間通信相關的系統(tǒng)調(diào)用。

(7)-e signal=set:只跟蹤指定信號,如-e signal=!SIGIO表示跟蹤除SIGIO之外的所有信號。

(8)-e read=set:輸出從指定文件中讀入的數(shù)據(jù),如-e read=3, 5表示輸出所有從文件描述符3和5讀入的數(shù)據(jù)。

5.-o:將strace的輸出寫入指定的文件。

strace命令的每行都包含以下字段:系統(tǒng)調(diào)用名、參數(shù)、返回值,如下面的實例:
在這里插入圖片描述
這行輸出表示,程序cat /dev/null在運行過程中執(zhí)行了open系統(tǒng)調(diào)用,open調(diào)用以只讀方式打開了大文件/dev/null,然后返回了值為3的文件描述符。上圖中命令會輸出很多內(nèi)容,我們省略了次要的信息,后面的示例中,我們也僅顯示主題相關的內(nèi)容。

當系統(tǒng)調(diào)用發(fā)生錯誤時,strace命令將輸出錯誤標識和描述,如以下示例:
在這里插入圖片描述
上圖中的O_LARGEFILE并不是POSIX標準的一部分,而是一些UNIX-like操作系統(tǒng)的擴展,它通常用于兼容早期UNIX系統(tǒng),告訴操作系統(tǒng)要支持大文件(大于2 GB)的訪問。

stace命令對不同的參數(shù)類型也有不同的輸出方式:
1.對于C風格字符串,strace將輸出字符串的內(nèi)容。默認的最大輸出長度是32字節(jié),對于過長的部分strace會使用...省略,比如,ls -l命令在運行過程中將讀取/etc/passwd文件:
在這里插入圖片描述
文件名不被strace當作C風格字符串,其內(nèi)容總是被完整輸出。

2.對于結(jié)構(gòu)體,strace將用{}輸出該結(jié)構(gòu)體的每個字段,并用,將每個字段隔開,對于字段較多的結(jié)構(gòu)體,strace將用...省略部分輸出,比如:
在這里插入圖片描述
上圖中的lstat64函數(shù)不是標準C庫函數(shù),而是一種在一些UNIX-like操作系統(tǒng)上可用的擴展函數(shù),它類似于標準的lstat函數(shù),但支持大文件(大于2 GB)的文件屬性查詢,以確保文件屬性信息能夠正確獲取和處理。

上面的strace輸出顯示,lstat64系統(tǒng)調(diào)用的第一個參數(shù)是字符串參數(shù)/dev/null,第二個參數(shù)是stat結(jié)構(gòu)體類型的輸出參數(shù)(指針),strace僅顯示了該結(jié)構(gòu)體參數(shù)的兩個字段:st_mode和st_rdev,當系統(tǒng)調(diào)用失敗時,輸出參數(shù)將顯示為傳入前的值。

3.對于位集合參數(shù)(如信號集類型sigset_t),strace將用[]輸出該集合中所有被置1的位,并用空格隔開每一項,假設某程序中有以下代碼:
在這里插入圖片描述
則針對該程序的strace命令將輸出以下內(nèi)容:
在這里插入圖片描述
對于其他類型參數(shù)的輸出方式,可參考strace的man手冊。對于程序接收到的信號,strace將輸出該信號的值及其描述,比如,我們在一個終端上運行sleep 100命令,然后在另一個終端上使用strace命令跟蹤該進程,接著用Ctrl+C終止命令sleep 100以觀察strace的輸出,具體操作如下:
在這里插入圖片描述
在這里插入圖片描述
下面考慮一個使用strace命令的完整例子,查看websrv服務器在處理客戶連接和數(shù)據(jù)時使用系統(tǒng)調(diào)用的情況,具體操作如下:
在這里插入圖片描述
可見,服務器當前正在執(zhí)行epoll_wait系統(tǒng)調(diào)用以等待客戶請求,接下來我們使用以上nc命令對服務器發(fā)起一個連接并逐行發(fā)送HTTP請求,此時strace命令的輸出如下所示:
在這里插入圖片描述
在這里插入圖片描述
上圖的輸出分為五個部分,我們用空行將每個部分隔開:
1.第一部分從第一次epoll_wait系統(tǒng)調(diào)用開始,此次epoll_wait調(diào)用檢測到了文件描述符3上的EPOLLIN事件,文件描述符3是服務器的監(jiān)聽socket,因此這個事件表示有新客戶連接到來,于是websrv服務器對監(jiān)聽socket執(zhí)行了accept調(diào)用,accept返回一個新的連接socket,其值為5,接著,服務器清除這個新socket上的錯誤,設置其SO_REUSEADDR屬性,然后往epoll內(nèi)核事件表中注冊該socket上的EPOLLRDHUP和EPOLLONESHOT兩個事件,然后設置新socket為非阻塞的。

2.第二部分從第二次epoll_wait系統(tǒng)調(diào)用開始,此次epoll_wait函數(shù)檢測到了文件描述符5上的EPOLLIN事件,這表示客戶端的第一行數(shù)據(jù)到達了,于是服務器執(zhí)行了兩次recv系統(tǒng)調(diào)用來接收數(shù)據(jù),第一次recv函數(shù)讀取到38字節(jié)的客戶數(shù)據(jù),即GET http://localhost/a.html HTTP/1.1\r\n。第二次recv函數(shù)失敗了,errno是EAGAIN,這表示目前沒有更多的客戶數(shù)據(jù)可讀。此后服務器調(diào)用了futex函數(shù)對互斥鎖解鎖,以喚醒等待互斥鎖的線程??梢奝OSIX線程庫中的pthread_mutex_unlock函數(shù)在內(nèi)部調(diào)用了futex函數(shù)。

3.與2類似。

4.與2類似。

5.epoll_wait函數(shù)檢測到了文件描述符5上的EPOLLOUT事件,這表示工作線程正確處理了客戶請求,并準備好了待發(fā)送的數(shù)據(jù),因此主線程開始執(zhí)行writev系統(tǒng)調(diào)用往客戶端寫入HTTP應答,最后,服務器從epoll內(nèi)核事件表中移除文件描述符5上的所有注冊事件,并關閉該文件描述符。

netstat可以打印本地網(wǎng)卡接口上的全部連接、路由表信息、網(wǎng)卡接口信息等,本書主要使用上述功能中的第一個,即顯示TCP連接及其狀態(tài)信息,畢竟,要想獲得路由表信息和網(wǎng)卡接口信息,我們可以使用輸出內(nèi)容更豐富的route(管理和顯示系統(tǒng)的網(wǎng)絡路由表的命令)和ifconfig命令。

netstat命令常用選項:
1.-n:使用IP地址表示主機,而不是主機名;使用數(shù)字表示端口號,而不是服務名。

2.-a:也顯示監(jiān)聽socket。

3.-t:僅顯示TCP連接。

4.-r:顯示路由信息。

5.-i:顯示網(wǎng)卡接口的數(shù)據(jù)流量。

6.-c:每隔1秒輸出一次。

7.-o:顯示socket定時器(如?;疃〞r器)的信息。

8.-p:顯示socket所屬的進程的PID和名字。

運行websrv服務器,并執(zhí)行telnet命令對它發(fā)起一個連接請求:
在這里插入圖片描述
然后執(zhí)行netstat -nat | grep 127.0.0.1:13579來查看連接狀態(tài),結(jié)果如下:
在這里插入圖片描述
由上圖,netstat的每行輸出都包含以下6個字段(默認情況):
1.Proto:協(xié)議名。

2.Recv-Q:socket內(nèi)核接收緩沖區(qū)中尚未被應用進程讀取的數(shù)據(jù)量。

3.Send-Q:未被對方確認的數(shù)據(jù)量。

4.Local Address:本端的IP和端口號。

5.Foreign Address:對方的IP地址和端口號。

6.State:socket的狀態(tài)。對于無狀態(tài)協(xié)議,如UDP,這一列將顯示為空。對于面向連接的協(xié)議,netstat支持的State包括ESTABLISHED、SYN_SENT、SYN_RCVD、FIN_WAIT1、FIN_WAIT2、TIME_WAIT、CLOSE、CLOSE_WAIT、LAST_ACK、LISTEN、CLOSING、UNKNOWN。

上圖的輸出中,第1行表示本地socket地址127.0.0.1:13579處于LISTEN狀態(tài),并等待任何遠端socket(用0.0.0.0:*表示)對它發(fā)起連接。第2行表示服務器和遠端地址127.0.0.1:48220建立了一個連接。第3行是從客戶端角度重復輸出第2行信息表示的這個連接,因為我們是在同一臺機器上運行服務器和客戶端的。

vmstat(virtual memory statistics)命令能實時輸出系統(tǒng)的各種資源的使用情況,如進程信息、內(nèi)存使用、CPU使用率、IO使用情況。

vmstat命令常用選項:
1.-f:顯示系統(tǒng)自啟動以來執(zhí)行的fork次數(shù)。

2.-s:顯示內(nèi)存相關的統(tǒng)計信息及多種系統(tǒng)活動的數(shù)量(如CPU上下文切換次數(shù))。

3.-d:顯示磁盤相關的統(tǒng)計信息。

4.-p:顯示磁盤分區(qū)的統(tǒng)計信息。

5.-S:使用指定單位來顯示。參數(shù)k、K、m、M分別代表1000、1024、1000000、1048576字節(jié)。

6.delay:采樣間隔(單位是秒),即每隔delay的時間輸出一次統(tǒng)計信息。

7.count:采樣次數(shù),輸出count次統(tǒng)計信息。

默認vmstat命令的輸出:
在這里插入圖片描述
第1行輸出是自系統(tǒng)啟動以來的平均結(jié)果,而后面的輸出是采樣間隔內(nèi)的平均結(jié)果。vmstat命令的每條輸出都包含6個字段,它們的含義分別是:
1.procs:進程信息。r表示等待運行的進程數(shù);b表示處于不可中斷睡眠狀態(tài)的進程數(shù)(即它們在等待進程IO)。

2.memory:內(nèi)存信息。各項的單位都是KB。swpd表示虛擬內(nèi)存的使用量。free表示空閑內(nèi)存的使用量。buff表示作為buffer cache的內(nèi)存數(shù)量,其中包含原始磁盤塊(從磁盤讀入的數(shù)據(jù)可能被保持在buffer cache中,以便下一次快速訪問)。cache表示作為page cache的內(nèi)存數(shù)量,待寫入磁盤的數(shù)據(jù)首先被放到page cache中,然后由磁盤中斷程序?qū)懭氪疟P。

3.swap:交換分區(qū)(虛擬內(nèi)存)的使用信息,各項的單位是KB/s。si表示數(shù)據(jù)由磁盤交換至內(nèi)存的速率。so表示數(shù)據(jù)由內(nèi)存交換至磁盤的速率。如果這兩個值經(jīng)常變化,說明內(nèi)存不足。

4.io:塊設備的使用信息,單位是block/s。bi表示從塊設備讀入塊的速率。bo表示向塊設備寫入塊的速率。

5.system:系統(tǒng)信息。in表示每秒發(fā)生的中斷次數(shù)。cs表示每秒發(fā)生的上下文切換(進程切換)次數(shù)。

6.cpu:CPU使用信息。us表示系統(tǒng)所有進程運行在用戶空間的時間占CPU總運行時間的比例。sy表示系統(tǒng)所有進程運行在內(nèi)核空間的時間占CPU總運行時間的比例。id表示CPU處于空閑狀態(tài)的時間占CPU總運行時間的比例。wa表示CPU等待IO事件的時間占CPU總運行時間的比例。

我們可用iostat命令獲得磁盤使用情況的更多信息,也能使用mpstat命令獲得CPU使用情況的更多信息,vmstat命令主要用于查看系統(tǒng)內(nèi)存的使用情況。

ifstat(interface statistics)命令可用于監(jiān)測網(wǎng)絡流量,其常用選項如下:
1.-a:監(jiān)測系統(tǒng)上所有網(wǎng)卡接口。

2.-i:指定要監(jiān)測的網(wǎng)卡接口。

3.-t:在每行輸出信息前加上時間戳。

4.-b:以Kbit/s為單位顯示數(shù)據(jù),而不是默認的KB/s。

5.delay:采樣間隔,單位是秒,即每隔delay時間輸出一次統(tǒng)計信息。

6.count:采樣次數(shù),即總共輸出count次統(tǒng)計信息。

ifstat命令的例子:
在這里插入圖片描述
從輸出來看,該主機擁有兩個網(wǎng)卡接口:虛擬的回路接口lo和以太網(wǎng)網(wǎng)卡接口eth0。使用ifstat命令可以大概估計各個時段服務器的總輸入、輸出流量。

mpstat(multi-processor statistics)命令能實時監(jiān)測多處理器系統(tǒng)上每個CPU的使用情況。mpstat命令和iostat命令通常都集成在包sysstat中,安裝sysstat即可獲得這兩個命令。mpstat命令的典型用法如下:
在這里插入圖片描述
選項P指定要監(jiān)聽的CPU號(0~CPU個數(shù)-1),其值ALL表示監(jiān)聽所有CPU。interval參數(shù)是采樣間隔,單位是秒,即每個interval的時間輸出一次統(tǒng)計信息。count參數(shù)是采樣次數(shù),即共輸出count次統(tǒng)計信息,但mpstat命令最后還會輸出這count次采樣結(jié)果的平均值。與vmstat命令一樣,mpstat命令輸出的第一次結(jié)果是自系統(tǒng)啟動以來的平均結(jié)果,而后面的輸出結(jié)果則是采樣間隔內(nèi)的平均結(jié)果。

使用mpstat命令的例子:
在這里插入圖片描述
為顯示方便,我們省略了每行輸出的前導時間戳。每次采樣的輸出都包含3條信息,每條信息包含以下幾個字段:
1.CPU:指示該條信息是哪個CPU的數(shù)據(jù)。0表示第1個CPU的數(shù)據(jù),1表示第2個CPU的數(shù)據(jù),all是這兩個CPU數(shù)據(jù)的平均值。

2.%usr:除了nice值為負的進程,系統(tǒng)上其他進程運行在用戶空間的時間占CPU總運行時間的比例。

3.%nice:nice值為負的進程運行在用戶空間的時間占CPU總運行時間的比例。

4.%sys:系統(tǒng)上所有進程運行在內(nèi)核空間的時間占CPU總運行時間的比例,但不包括硬件和軟件中斷消耗的CPU時間。

5.%iowait:CPU等待磁盤操作的時間占CPU總運行時間的比例。

6.%irq:CPU用于處理硬件中斷的時間占CPU總運行時間的比例。

7.%soft:CPU用于處理軟件中斷的時間占CPU總運行時間的比例。

8.%steal:一個物理CPU可以包含一對虛擬CPU,這一對虛擬CPU由超級管理程序管理。當超級管理程序在處理某個虛擬CPU時,另外一個虛擬CPU必須等待它處理完成才能運行,這部分等待事件就是steal時間,該字段表示steal時間占CPU總運行時間的比例。

9.%guest:運行虛擬CPU的時間占總運行時間的比例。

10.%idle:系統(tǒng)空閑的時間占CPU總運行時間的比例。

在以上所有輸出字段中,我們最關心的是%user、%sys、%idle,它們基本反映了我們的代碼中業(yè)務邏輯代碼和系統(tǒng)調(diào)用所占的比例,以及系統(tǒng)還能承受多大的負載。上圖輸出中,執(zhí)行系統(tǒng)調(diào)用占用的CPU時間比執(zhí)行用戶業(yè)務邏輯占用的CPU時間要多,這是因為我們運行了第十六章中的壓力測試工具,它在不停地執(zhí)行recv/send系統(tǒng)調(diào)用來收發(fā)數(shù)據(jù)。

http://m.risenshineclean.com/news/31786.html

相關文章:

  • 有哪些網(wǎng)站能免費建站網(wǎng)站如何推廣運營
  • javaweb做網(wǎng)站的優(yōu)點中國科技新聞網(wǎng)
  • 800元做網(wǎng)站百度數(shù)據(jù)分析
  • 動態(tài)網(wǎng)站開發(fā)畢業(yè)論文網(wǎng)站軟文是什么
  • 建網(wǎng)站必須要服務器嗎臺州seo網(wǎng)站排名優(yōu)化
  • 做里番網(wǎng)站犯法嗎新鄭網(wǎng)絡推廣外包
  • asp.net網(wǎng)站搬遷到移動終端中文域名注冊官網(wǎng)入口
  • 為什么大網(wǎng)站的百度快照更新速度慢還排第一廣告公司名稱
  • 福州網(wǎng)站怎么做的免費網(wǎng)站誰有靠譜的
  • 建網(wǎng)站 西安seo網(wǎng)站排名優(yōu)化公司哪家好
  • 淘客請人做網(wǎng)站阿里指數(shù)在線查詢
  • 網(wǎng)站開發(fā) 網(wǎng)頁制作網(wǎng)頁推廣鏈接怎么做
  • 網(wǎng)頁設計與網(wǎng)站建設的概述優(yōu)化是什么梗
  • 網(wǎng)絡營銷相關的崗位有哪些新手seo入門教程
  • 廣州代做網(wǎng)站二維碼推廣賺傭金平臺
  • sketch視頻教程網(wǎng)站西安seo建站
  • 如何刪除自己建的網(wǎng)站seo分析報告
  • 微信頁面徐州自動seo
  • wordpress源代碼優(yōu)化分析
  • 做外貿(mào)網(wǎng)站詐騙株洲seo優(yōu)化哪家好
  • 五百丁簡歷模板官方網(wǎng)站互聯(lián)網(wǎng)營銷師報名入口
  • 網(wǎng)站首頁ico怎么做平臺網(wǎng)站開發(fā)公司
  • 邢臺新聞網(wǎng)關鍵詞優(yōu)化的主要工具
  • 中國建筑工程人才網(wǎng)湖南有實力seo優(yōu)化
  • 高級程序員培訓西安seo高手
  • 提供專業(yè)網(wǎng)站小程序開發(fā)朝陽網(wǎng)站建設
  • 香河做網(wǎng)站公司設計師網(wǎng)站
  • 淘寶網(wǎng)手機版百度seo快速排名優(yōu)化軟件
  • b2c網(wǎng)絡零售平臺南陽seo優(yōu)化
  • 北京市公司網(wǎng)站制作全達seo