/proc/net/netstat
を頑張って理解していく。ドキュメントないものをどうやって調べていくかはちょっと悩む...
netstat | グラフに出てくる項目 | 概要 |
---|---|---|
TcpExtSyncookiesSent | tcp.syncookies.sent | 送信されるSYNクッキーの数 |
TcpExtSyncookiesRecv | tcp.syncookies.recv | TCPスタックが受信するSYNCookieの応答パケットの数 |
TcpExtSyncookiesFailed | tcp.syncookies.failed | SYNCookieからデコードされたMSSが無効 |
TcpExtEmbryonicRsts | tcp.misc_errors.embryonic_rsts | SYN_RECV状態の接続に対して受信された無効なパケット |
TcpExtPruneCalled | tcp.misc_errors.prune_called | 割り当てられたソケットを減らす試みで増加 |
TcpExtRcvPruned | tcp.misc_errors.rcv_pruned | ソケットに割り当てられたメモリを削減するための暫定的な失敗時に増加し、データがドロップされます |
TcpExtOfoPruned | tcp.misc_errors.ofo_pruned | 構造体のアウトオブオーダーキューのクリーンアップ時に増加 |
TcpExtTW | tcp.timewait.timewait | |
TcpExtTWRecycled | tcp.timewait.recycled | |
TcpExtTWKilled | tcp.timewait.killed | |
TcpExtPAWSPassive | tcp.paws.passive | タイムスタンプが開いたためにスレーブマシンのネットワークパフォーマンスが低下し、パケット損失が発生 |
TcpExtPAWSActive | tcp.paws.active | パケットは、Syn-SentステータスのPAWSによってドロップされます。 |
TcpExtPAWSEstab | tcp.paws.estab | パケットは、Syn-Sent以外のステータスでPAWSによってドロップされます。 |
TcpExtDelayedACKs | tcp.delayed_acks.sent | 遅延ACKタイマーが期限切れになります。 TCPスタックは純粋なACKパケットを送信し、遅延ACKモードを終了します。 |
TcpExtDelayedACKLocked | tcp.delayed_acks.locked | 遅延ACKタイマーは期限切れになりますが、ソケットがユーザースペースプログラムによってロックされているため、TCPスタックはすぐにACKを送信できません |
TcpExtDelayedACKLost | tcp.delayed_acks.lost | TCPスタックがACKされたパケットを受信すると更新されます。遅延ACK損失はこの問題を引き起こす可能性がありますが、パケットがネットワークで重複しているなど、他の理由によってもトリガーされます。 |
TcpExtListenOverflows | tcp.misc_errors.listen_overflows | カーネルがクライアントからSYNを受信し、TCP受け入れキューがいっぱいになると、カーネルはSYNをドロップし、TcpExtListenOverflowsに1を追加 |
TcpExtListenDrops | tcp.misc_errors.listen_drops | リソース不足のためにドロップされたTCP接続の数 |
TcpExtTCPPrequeued | tcp.queueing.prequeued | |
TcpExtTCPDirectCopyFromBacklog | tcp.queueing.direct_copy_from_backlog | |
TcpExtTCPDirectCopyFromPrequeue | tcp.queueing.direct_copy_from_prequeue | |
TcpExtTCPPrequeueDropped | tcp.queueing.prequeue_dropped | |
TcpExtTCPHPHits | tcp.header_prediction.hits | |
TcpExtTCPHPHitsToUser | tcp.header_prediction.hits_to_user | |
TcpExtTCPPureAcks | tcp.header_prediction.pure_acks | パケットがACKフラグを設定し、データがない場合、それは純粋なACKパケットです。カーネルが高速パスでそれを処理する場合、TcpExtTCPHPAcksは1増加し、カーネルが低速パスで処理する場合、TcpExtTCPPureAcksは1増加します。 |
TcpExtTCPHPAcks | tcp.header_prediction.acks | パケットがACKフラグを設定し、データがない場合、それは純粋なACKパケットです。カーネルが高速パスでそれを処理する場合、TcpExtTCPHPAcksは1増加し、カーネルが低速パスで処理する場合、TcpExtTCPPureAcksは1増加します。 |
TcpExtTCPTimeouts | tcp.timeout.timeouts | |
TcpExtTCPSchedulerFailed | tcp.misc_errors.scheduler_failed | |
TcpExtTCPRcvCollapsed | tcp.misc_errors.rcv_collapsed | 「折りたたみ」中に解放されたskbの数 |
TcpExtTCPAbortOnData | tcp.abort.on_data | TCP層に送信中のデータがありますが、接続を閉じる必要があることを意味します。したがって、TCP層はRSTを反対側に送信し、接続があまり正常に閉じられていないことを示します。 |
TcpExtTCPAbortOnClose | tcp.abort.on_close | このカウンターは、アプリケーションがTCP接続を閉じたいときに、アプリケーションのTCPレイヤーに未読データがあることを意味します。このような状況では、カーネルはTCP接続の反対側にRSTを送信します。 |
TcpExtTCPAbortOnMemory | tcp.abort.on_memory | アプリケーションがTCP接続を閉じるとき、カーネルは接続を追跡する必要があり、TCP切断プロセスを完了させます。例えば。アプリがソケットのcloseメソッドを呼び出し、カーネルが接続の反対側にfinを送信すると、アプリはソケットとの関係がなくなりますが、カーネルはソケットを保持する必要があります。このソケットは孤立したソケットになり、カーネルは待機します。 |
TcpExtTCPAbortOnTimeout | tcp.abort.on_timeout | このカウンターは、TCPタイマーのいずれかが期限切れになると増加します。このような状況では、カーネルはRSTを送信せず、接続を断念するだけです。 |
TcpExtTCPAbortOnLinger | tcp.abort.on_linger | TCP接続がFIN_WAIT_2状態になると、反対側からのfinパケットを待つ代わりに、カーネルはRSTを送信し、ソケットをすぐに削除できます。これは、LinuxカーネルTCPスタックのデフォルトの動作ではありません。 TCP_LINGER2ソケットオプションを構成することにより、カーネルにこの動作を実行させることができます。 |
TcpExtTCPAbortFailed | tcp.abort.failed | RFC2525 2.17セクションが満たされると、カーネルTCP層はRSTを送信します。このプロセス中に内部エラーが発生した場合、TcpExtTCPAbortFailedが増加します。 |
TcpActiveOpens | tcp.sockets.active_opens | 能動的に確立されたコネクションの数 |
TcpPassiveOpens | tcp.sockets.passive_opens | 受動的に確立されたコネクションの数 |
TcpAttemptFails | tcp.sockets.attempt_fails | コネクション確立に失敗した回数 |
TcpEstabResets | tcp.sockets.estab_resets | コネクションがリセットされた回数 |
TcpCurrEstab | tcp.connections.estab | 現在のTCPコネクション数 |
TcpInSegs | tcp.segments.in_segs | TCP層が受信したパケットの数 |
TcpOutSegs | tcp.segments.out_segs | TCP層によって送信されたパケットの数 |
TcpRetransSegs | tcp.segments.retrans_segs | 再送信されたセグメントの総数 |
TcpInErrs | tcp.segments.in_errs | フォーマットエラーのために破棄されたセグメント数 |
TcpOutRsts | tcp.segments.out_rsts | このカウンターは「RSTフラグを含む送信されたセグメントを示す |