GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menghilangkan soket di status FIN_WAIT1?

Solusi 1:

# record what tcp_max_orphans's current value
original_value=$(cat /proc/sys/net/ipv4/tcp_max_orphans)

#set the tcp_max_orphans to 0 temporarily
echo 0 > /proc/sys/net/ipv4/tcp_max_orphans

# watch /var/log/messages
# it will split out "kernel: TCP: too many of orphaned sockets"
# it won't take long for the connections to be killed

# restore the value of tcp_max_orphans whatever it was before. 
echo $original_value > /proc/sys/net/ipv4/tcp_max_orphans

# verify with 
netstat -an|grep FIN_WAIT1

Solusi 2:

Anda harus dapat mengatur batas waktu dengan /proc/sys/net/ipv4/tcp_fin_timeout .

Sepertinya tidak ada cara untuk menghapus soket secara manual.

Solusi 3:

Tampaknya pengaturan tcp_orphan_retries mengontrol berapa banyak upaya yang akan dilakukan sebelum port tanpa server dirilis. Itu 0 di sini, setelah menyetelnya ke 1 port hilang.

HTH

Solusi 4:

/proc/sys/net/ipv4/tcp_fin_timeout adalah batas waktu status FIN-WAIT-2, bukan FIN-WAIT-1. Anda harus menggunakan rute tcpkill atau Anda dapat mencoba bermain dengan waktu keepalive di bawah /proc/sys/net/ipv4/tcp_keepalive_* untuk memaksa pembunuhan oleh SO.

Solusi 5:

Menjalankan langkah-langkah ini di bawah root ID dan itu beres untuk saya:

Tangkap pengaturan kernel untuk diubah dalam variabel

$ orig_orphans=$(sysctl -a|grep tcp_max_orph|cut -f3 -d' ')

Tetapkan sementara anak yatim maksimum ke 0

$ sysctl -w net.ipv4.tcp_max_orphans=0

Periksa untuk memastikan bahwa port yang bermasalah tidak lagi digunakan

$ netstat -np|grep 9716

Tunggu sebentar dan ulangi langkah di atas jika diperlukan hingga perintah di atas tidak mengembalikan baris

Setel ulang parameter kernel tcp_max_orphans kembali ke nilai asli dari variabel di atas

$ sysctl -w net.ipv4.tcp_max_orphans=$orig_orphans

Linux
  1. Bagaimana Cara Menghilangkan Mouse Lag di Ubuntu?

  2. Cara mendapatkan ukuran direktori di Linux

  3. Bagaimana cara mendapatkan ID proses dari proses latar belakang?

  1. Bagaimana saya bisa mendapatkan status keyboard di Linux?

  2. Cara mendapatkan penggunaan CPU

  3. Bagaimana cara mendapatkan ps untuk mencetak grup?

  1. Bagaimana cara menghapus atau menghapus fungsi bash?

  2. tcpdump:bagaimana cara mendapatkan keluaran grepable?

  3. Bagaimana Cara Mencadangkan File crontab -e?