Skip to content

plantegg: 举三反一 (Deriving One from Three) ​

Core Method ​

Two learning approaches:

  • Knowledge efficiency: Theoretical understanding → intuitive application
  • Engineering efficiency: Repeated practice + case studies to reinforce theory

Most people need concrete examples to deeply understand theoretical concepts.

TCP CLOSE_WAIT Diagnosis Example ​

Problem ​

Server showed CLOSE_WAIT count equal to somaxconn. Adjusting somaxconn changed the count accordingly.

Theory Application ​

CLOSE_WAIT means the passive closer (server) is waiting for application to call close(). The fact that CLOSE_WAIT = somaxconn suggested no accept() calls were being made either.

Root Cause ​

OS open files limit was 1024, preventing new connections. TCP handshakes completed (ESTABLISHED) without application involvement, but applications couldn't accept() → close().

Key Insight ​

"三次握手成功就变成 ESTABLISHED 了,不需要用户态来accept"

TCP connection state transitions happen in OS kernel. accept() and close() don't affect the kernel-level TCP state machine—they only consume resources after connection is established.

基于 VitePress 构建