當前位置

首頁 > 商務英語 > 實用英語 > close wait什麼意思

close wait什麼意思

推薦人: 來源: 閱讀: 1.34W 次

close wait在英文中我們很少看到,但它卻確確實實地存在着,它的意思是什麼呢?下面是本站小編給大家整理的close wait什麼意思,供大家參閱!

close wait什麼意思
  close wait什麼意思

等待結束

  TIME WAIT和CLOSE WAIT狀態區別

在服務器的日常維護過程中,會經常用到下面的命令:

它會顯示例如下面的信息:

[plain] view plain copy

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

TIME_WAIT 814

CLOSE_WAIT 1

FIN_WAIT1 1

ESTABLISHED 634

SYN_RECV 2

LAST_ACK 1

常用的三個狀態是:ESTABLISHED 表示正在通信,TIME_WAIT 表示主動關閉,CLOSE_WAIT 表示被動關閉。

TCP協議規定,對於已經建立的連接,網絡雙方要進行四次握手才能成功斷開連接,如果缺少了其中某個步驟,將會使連接處於假死狀態,連接本身佔用的資源不會被釋放。網絡服務器程序要同時管理大量連接,所以很有必要保證無用連接完全斷開,否則大量僵死的連接會浪費許多服務器資源。在衆多TCP狀態中,最值得注意的狀態有兩個:CLOSE_WAIT和TIME_WAIT。

TIME_WAIT

TIME_WAIT 是主動關閉鏈接時形成的,等待2MSL時間,約4分鐘。主要是防止最後一個ACK丟失。 由於TIME_WAIT 的時間會非常長,因此server端應儘量減少主動關閉連接

CLOSE_WAIT

CLOSE_WAIT是被動關閉連接是形成的。根據TCP狀態機,服務器端收到客戶端發送的FIN,則按照TCP實現發送ACK,因此進入CLOSE_WAIT狀態。但如果服務器端不執行close(),就不能由CLOSE_WAIT遷移到LAST_ACK,則系統中會存在很多CLOSE_WAIT狀態的連接。此時,可能是系統忙於處理讀、寫操作,而未將已收到FIN的連接,進行close。此時,recv/read已收到FIN的連接socket,會返回0。

爲什麼需要 TIME_WAIT 狀態?

假設最終的ACK丟失,server將重發FIN,client必須維護TCP狀態信息以便可以重發最終的ACK,否則會發送RST,結果server認爲發生錯誤。TCP實現必須可靠地終止連接的兩個方向(全雙工關閉),client必須進入 TIME_WAIT 狀態,因爲client可能面 臨重發最終ACK的情形。

爲什麼 TIME_WAIT 狀態需要保持 2MSL 這麼長的時間?

如果 TIME_WAIT 狀態保持時間不足夠長(比如小於2MSL),第一個連接就正常終止了。第二個擁有相同相關五元組的連接出現,而第一個連接的重複報文到達,干擾了第二個連接。TCP實現必須防止某個連接的重複報文在連接終止後出現,所以讓TIME_WAIT狀態保持時間足夠長(2MSL),連接相應方向上的TCP報文要麼完全響應完畢,要麼被 丟棄。建立第二個連接的時候,不會混淆。

TIME_WAIT 和CLOSE_WAIT狀態socket過多

如果服務器出了異常,百分之八九十都是下面兩種情況:

1.服務器保持了大量TIME_WAIT狀態

2.服務器保持了大量CLOSE_WAIT狀態,簡單來說CLOSE_WAIT數目過大是由於被動關閉連接處理不當導致的。

因爲Linux分配給一個用戶的文件句柄是有限的,而TIME_WAIT和CLOSE_WAIT兩種狀態如果一直被保持,那麼意味着對應數目的通道就一直被佔着,而且是“佔着茅坑不使勁”,一旦達到句柄數上限,新的請求就無法被處理了,接着就是大量Too Many Open Files異常,Tomcat崩潰。

  netstat listening close wait established等是什麼意思

端口占用查詢命令“netstat”詳解 Netstat用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用於檢驗本機各端口的網絡連接情況。 如果你的計算機有時候接收到的數據報導致出錯數據或故障,你不必感到奇怪,TCP/IP可以容許這些類型的錯誤,並能夠自動重發數據報。但如果累計的出錯情況數目佔到所接收的IP數據報相當大的百分比,或者它的數目正迅速增加,那麼你就應該使用Netstat查一查爲什麼會出現這些情況了。 Netstat 詳細參數列表 C:>netstat /? 顯示協議統計信息和當前 TCP/IP 網絡連接。 NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] -a 顯示所有連接和監聽端口。 -b 顯示包含於創建每個連接或監聽端口的可執行組件。在某些情況下已知可執行組件 擁有多個獨立組件,並且在這些情況下包含於創建連接或監聽端口的組件序列被顯示。 這種情況下,可執行組件名在底部的 [] 中,頂部是其調用的組件,等等,直到 TCP/IP 部分。注意此選項可能需要很長時間,如果沒有足夠權限可能失敗。 -e 顯示以太網統計信息。此選項可以與 -s 選項組合使用。 -n 以數字形式顯示地址和端口號。 -o 顯示與每個連接相關的所屬進程 ID。 -p proto 顯示 proto 指定的協議的連接;proto 可以是 下列協議之一: TCP、UDP、TCPv6 或 UDPv6。 如果與 -s 選項一起使用以顯示按協議統計信息,proto 可以是下列協議之一: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -r 顯示路由表。 -s 顯示按協議統計信息。默認地,顯示 IP、 IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計信息; -p 選項用於指定默認情況的子集。 -v 與 -b 選項一起使用時將顯示包含於 爲所有可執行組件創建連接或監聽端口的 組件。 interval 重新顯示選定統計信息,每次顯示之間 暫停時間間隔(以秒計)。按 CTRL+C 停止重新 顯示統計信息。如果省略,netstat 顯示當前 配置信息(只顯示一次) (Win2000) C:>netstat /? Displays protocol statistics and current TCP/IP network connections. NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval] -a Displays all connections and listening ports. -e Displays Ethernet statistics. This may be combined with the -s option. -n Displays addresses and port numbers in numerical form. -p proto Shows connections for the protocol specified by proto; proto may be TCP or UDP. If used with the -s option to display per-protocol statistics, proto may be TCP, UDP, or IP. -r Displays the routing table. -s Displays per-protocol statistics. By default, statistics are shown for TCP, UDP and IP; the -p option may be used to specify a subset of the default. interval Redisplays selected statistics, pausing interval seconds between each display. Press CTRL+C to stop redisplaying statistics. If omitted, netstat will print the current configuration information once. Netstat的一些常用選項 netstat -s——本選項能夠按照各個協議分別顯示其統計數據。如果你的應用程序(如Web瀏覽器)運行速度比較慢,或者不能顯示Web頁之類的數據,那麼你就可以用本選項來查看一下所顯示的信息。你需要仔細查看統計數據的各行,找到出錯的關鍵字,進而確定問題所在。 netstat -e——本選項用於顯示關於以太網的統計數據。它列出的項目包括傳送的數據報的總字節數、錯誤數、刪除數、數據報的數量和廣播的數量。這些統計數據既有發送的數據報數量,也有接收的數據報數量。這個選項可以用來統計一些基本的網絡流量。 netstat -r——本選項可以顯示關於路由表的信息,類似於後面所講使用route print命令時看到的 信息。除了顯示有效路由外,還顯示當前有效的連接。 netstat -a——本選項顯示一個所有的有效連接信息列表,包括已建立的連接(ESTABLISHED),也包括監聽連接請求(LISTENING)的那些連接,斷開連接(CLOSE_WAIT)或者處於聯機等待狀態的(TIME_WAIT)等 netstat -n——顯示所有已建立的有效連接。 接下來我們來看一下,微軟是怎麼說的? 微軟公司故意將這個功能強大的命令隱藏起來是因爲它對於普通用戶來說有些複雜。我們已經知道:Netstat它可以用來獲得你的系統網絡連接的信息(使用的端口,在使用的協議等 ),收到和發出的數據,被連接的遠程系統的端口,Netstat在內存中讀取所有的網絡信息。 在Internet RFC標準中,Netstat的定義是: Netstat是在內核中訪問網絡及相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告。 看其中有個localaddress 和一個foreignaddress如果沒打開任何網絡連接,卻有established說明就有問題,注意,你得保證沒有你開的任何的網絡連接,包括後臺進程,如果還是有established說明纔有問題。

推薦閱讀

  • 1龍擡頭是什麼意思?
  • 2cesspool,drainage pit (waste well,absorbing well)是什麼意思、英文翻譯及中文解釋
  • 3carriage type switchgear,without isolating switch是什麼意思、英文翻譯及中文解釋
  • 4The english we speak(BBC教學)第291期:White collar worker/blue collar worker 白領和藍領
  • 5attempt to raise the level of public ownership on the basis of economic backwardness是什麼意思、英文翻譯及中文解釋
  • 6associated working with outlet valves,cistern是什麼意思、英文翻譯及中文解釋
  • 7非洲崛起失去中國動力 Africa's rise is stalled by the Chinese slowdown
  • 8blue collar workers are into white collar workers是什麼意思、英文翻譯及中文解釋
  • 9automatic leased teletype write switching是什麼意思、英文翻譯及中文解釋
  • 10十二星座期待的浪漫情人節What do Twelve Constellation Expect for Romantic Valentine's Day
  • 11大學生意志力的缺失The Lack of Willpower for College Students
  • 12automatically operated section block with instruction of instruction to the stations是什麼意思、英文翻譯及中文解釋
  • 13英語close的中文意思是什麼
  • 14不什麼不什麼俗語是什麼
  • 151314什麼意思 1314代表什麼意思
  • 16微笑是兩個人之間最短的距離A smile is the Shortest Distance Between two People
  • 17守歲是什麼意思有什麼意義
  • 18alate diastolic show filling wave of ventricle是什麼意思、英文翻譯及中文解釋
  • 19alumino silicate zeolites with noble metals as catalysts是什麼意思、英文翻譯及中文解釋
  • 20The english we speak(BBC教學)第257期:A bitter pill to swallow 難以下嚥的苦果