2016-08-25 22 views
-1

我的程序在運行時遇到了類似波紋管的netstat輸出問題。它不能接收數據包。第一行中的Recv-Q值是什麼意思?我看到手冊頁,並做一些Google搜索,但沒有找到結果。Listen插座中的Recv-Q值是什麼意思?

[[email protected](none) /data]# netstat -ntap | grep 8000 
tcp  129  0 0.0.0.0:8000   0.0.0.0:*    LISTEN  1526/XXXXX- 
tcp  0  0 9.11.6.36:8000   9.11.6.37:48306   SYN_RECV - 
tcp  0  0 9.11.6.36:8000   9.11.6.34:44936   SYN_RECV - 
tcp  365  0 9.11.6.36:8000   9.11.6.37:58446   CLOSE_WAIT - 
tcp  364  0 9.11.6.36:8000   9.11.6.37:55018   CLOSE_WAIT - 
tcp  364  0 9.11.6.36:8000   9.11.6.37:42830   CLOSE_WAIT - 
tcp  364  0 9.11.6.36:8000   9.11.6.37:56344   CLOSE_WAIT - 
tcp  0 364 9.11.6.34:38947   9.11.6.36:8000   FIN_WAIT1 - 
tcp  364  0 9.11.6.36:8000   9.11.6.37:52406   CLOSE_WAIT - 
tcp  365  0 9.11.6.36:8000   9.11.6.37:53603   CLOSE_WAIT - 
tcp  364  0 9.11.6.36:8000   9.11.6.37:47522   CLOSE_WAIT - 
tcp  364  0 9.11.6.36:8000   9.11.6.34:48191   CLOSE_WAIT - 
tcp  364  0 9.11.6.36:8000   9.11.6.37:51813   CLOSE_WAIT - 
tcp  364  0 9.11.6.36:8000   9.11.6.34:57789   CLOSE_WAIT - 
tcp  364  0 9.11.6.36:8000   9.11.6.37:34252   CLOSE_WAIT - 
tcp  364  0 9.11.6.36:8000   9.11.6.34:38930   CLOSE_WAIT - 
tcp  365  0 9.11.6.36:8000   9.11.6.37:44121   CLOSE_WAIT - 
tcp  365  0 9.11.6.36:8000   9.11.6.37:60465   CLOSE_WAIT - 
tcp  365  0 9.11.6.36:8000   9.11.6.37:37461   CLOSE_WAIT - 
tcp  0 362 9.11.6.34:35954   9.11.6.36:8000   FIN_WAIT1 - 
tcp  364  0 9.11.6.36:8000   9.11.6.37:55241   CLOSE_WAIT - 

附: 參見https://groups.google.com/forum/#!topic/comp.os.linux.networking/PoP0YOOIj70

+0

信息是什麼簡單的downvote意味着什麼呢?有什麼理由? – Morris

+0

我沒有downvote。但是你的問題描述很糟糕。 「不能接收數據包」是什麼意思?你的程序試圖接收數據包嗎?如果是這樣,什麼使用TCP?你的意思是'recv'掛了嗎?哪一行與你的程序有什麼關係? –

+0

感謝大衛,併爲可怕的描述感到抱歉。我的程序(服務器部分)在端口8000上監聽TCP連接。它曾經是好的,接受連接,接收數據包,發送數據包。但現在,它不能。我使用''tcpdump''來捕獲一些數據包,發現客戶端部分有很多'重傳',服務器部分有'Dup ACK'。 'netstat'輸出在上面。 – Morris

回答

-1

Recv-Q是接收隊列。它是當前在接收緩衝區中的字節數。讀取套接字後,字節將從緩衝區中移除並放入應用程序內存中。如果Recv-Q數字太高,數據包將被丟棄,因爲沒有地方放置它們。

這裏更多netstat

+0

感謝@Upsampled,但是在第一行的'LISTEN'狀態意味着它有一些連接請求可以接受? – Morris

+0

而在LISTEN狀態下,Recv-Q意味着在內核版本3.10.x中接受的連接數 – Morris

+0

這是一種可能性。初次嘗試後你確定接受連接嗎? –