मुझे एक SLES मशीन मिली है जो हमेशा के लिए दिखाई देने वाली CLOSE_WAIT स्थिति में TCP कनेक्शन जमा करती है। ये वर्णनकर्ता अंततः सभी उपलब्ध स्मृति को चूसते हैं। फिलहाल, मुझे उनमें से 3037 मिले हैं, लेकिन हाल ही में जल्दबाजी में रिबूट से पहले यह बहुत अधिक था।
क्या दिलचस्प है कि वे स्थानीय बंदरगाहों से कनेक्शन से नहीं हैं जो मुझे सुनने की प्रक्रिया की उम्मीद है। उनके पास कोई संबद्ध पीआईडी नहीं है, और उनकी समय सीमा समाप्त हो गई है।
# netstat -ton | grep CLOSE_WAIT
tcp 176 0 10.0.0.60:54882 10.0.0.12:31663 CLOSE_WAIT off (0.00/0/0)
tcp 54 0 10.0.0.60:60957 10.0.0.12:4503 CLOSE_WAIT off (0.00/0/0)
tcp 89 0 10.0.0.60:50959 10.0.0.12:3518 CLOSE_WAIT off (0.00/0/0)
# netstat -tonp | grep CLOSE_WAIT
tcp 89 0 10.0.0.59:45598 10.0.0.12:1998 CLOSE_WAIT -
tcp 15 0 10.0.0.59:60861 10.0.0.12:1938 CLOSE_WAIT -
tcp 5 0 10.0.0.59:56173 10.0.0.12:1700 CLOSE_WAIT -
जब टीसीपी स्टैक, या कर्नेल नेटवर्किंग की बात आती है, तो मैं ब्लैक-बेल्ट नहीं हूं, लेकिन टीसीपी कॉन्फिग्रेशन समझ में आता है, क्योंकि ये मान डिफ़ॉल्ट हैं, मैन पेज के अनुसार:
# cat /proc/sys/net/ipv4/tcp_fin_timeout
60
# cat /proc/sys/net/ipv4/tcp_keepalive_time
7200
तो क्या देता है? यदि समयसीमा समाप्त हो गई है, तो क्या स्टैक स्वचालित रूप से इस सामान को बाहर नहीं निकालना चाहिए? मैं प्रभावी रूप से खुद को एक दीर्घकालिक DoS दे रहा हूं क्योंकि ये चीजें बनती हैं।
sudo netstat -tonp
यह देखने की कोशिश करें कि यह किस कार्यक्रम के साथ हो रहा है।