Soru Lsof -i'yi çalıştırmak CLOSE_WAIT'de çok fazla bağlantı gösteriyor? Endişelenmeli miyim


Ben koşuyorum lsof -i | wc -l periyodik olarak ve bana 420 ve 255 arası olan 420 satırın içinde olduğunu söylüyor. CLOSE_WAIT belirtmek, bildirmek. TCP bağlantıları bu duruma nasıl girer?

Endişelenmeli ve nasıl giderilir?


8
2017-09-16 15:26


Menşei




Cevaplar:


(Mikegrb'nin cevabını değiştirecektim ama biraz fazla kesmeye karar verdim)

CLOSE_WAIT hemen hemen tam olarak ne ifade ettiği anlamına gelir - çekirdek, yerel süreci, dosyayı kaldırmadan önce dosya tanımlayıcısını kapatmak için bekler. TCP bağlantısı tamamen bozuldu ve uzak son nokta bağlantının finito olduğu izleniminin altında olabilir, fakat sonunuz şeyler üzerinde duruyor.

Tek endişe, bir çok CLOSE_WAIT girişinin çekirdek bellek ve dosya tanımlayıcı tablosu girişlerini tüketmesidir, bu da büyük yığınlar varsa bir sorun olabilir. Baktığınız girişler geçici ise, muhtemelen sadece bir çok TCP bağlantılarının ve bağlantı kapatıldığında ve işlem dosya tanıtıcısını kapatacak kadar az süre içinde küçük bir kesir görüyorsunuz. Diğer yandan, eğer kalıcılarsa (portlar ve IP adresleri zamanla değişmez), o zaman bir şey tanımlayıcıları sızdırıyor ve düzeltilmesi gerekiyor ki, her şey bittiğinde her zaman kapanıyor. Mikegrb'in dediği gibi, daha yeni bir versiyon sorunu çözmüş olabilir, bu yüzden ilgili posta listesine veya değişim notlarının incelenmesiyle ilgili bir soruya ihtiyaç duyulabilir.


11
2017-09-17 00:18



CLOSE_WAIT'deki TCP bağlantıları dosya tanıtıcıları kullanıyor mu? Çünkü dün bir Soket istisnası "Çok fazla açık dosya" sorunu aldım. - user20414
Evet, CLOSE_WAIT girdileri açık dosya tanıtıcılarıdır. - womble♦


CLOSE_WAIT durumu, diğer ucun bağlantıyı kapatmak için bir FIN segmenti gönderdiğini belirtir. Bağlantı hala bir tür kurdu. Yarım çift yönlü olarak düşünebildiğiniz bir modda, bu ucun herhangi bir arabelleği temizlemesine izin vererek, son bitlik veriyi bağlantıyı sonlandırmak için bağlantıyı sonlandırmak için bağlantıyı sonlandırmadan sonlandırın.

CLOSE_WAIT içinde çok fazla bağlantınız varsa, bu işlem sorumlu CLOSE_WAIT'e girdiğinde soketi kapatmıyor demektir. Paketlere bakmak için tcpdump veya diğer ağ trafiği yakalama araçlarını kullanabilirsiniz.

Ayrıca süreçten sorumlu bir göz atın. Meraktan ne sorumlu süreç nedir? Daha yeni bir sabit sürüme sahip olabilir ya da belki bir hata raporu dosyalama zamanı;)


1
2017-09-16 16:18



Apache Tomcat 5.5.27 - user20414


zayıf şebekede çalışırsanız şunları ayarlayabilirsiniz:

  • Üzerinden maksimum dosya tanıtıcı sayısı ulimits ve üzerinden /proc (geniş sistem)
  • TCP bekleme süresini kısaltabilirsiniz /proc

0
2017-09-17 15:16





Sunucuda çalışan bir uygulamada bir yeri (dosya tanıtıcısı, ağ bağlantısı) kapatmıyor olabilirsiniz.


0
2018-06-09 19:34