48 GB RAM約25kを維持する仮想サーバーTCP接続(SSHトンネルをセットアップするためにログインするフィールドのデバイス))RAMでスワッピングを開始し、速度が低下するなど。アップグレードして再起動しました。25k接続が復元され、最初のDDOSストームが処理された後でも、サーバーは大量のsoftirqの使用を示しました。原因がわかりますか?
ここでは、イベントを確認できます。
以前は多くのsoftirqがなかったのは驚くべきことです。現在、8つのカーネルスレッドがあり、その約60%のCPUを実行しています(ksoftirqd
スレッド)。
Muninグラフを見ると、PCI-MSI 49153-Edge virtio0-input.0
の割り込みが大幅に増加していることがわかります(log yスケールに注意してください)。
マシンが処理しなければならないネットワークトラフィックの量は、実際には変わりませんでした。
私は簡単なpythonスクリプトを/proc/interrupts
からのPCI-MSI 49153-Edge virtio0-input.0
からの毎秒の割り込みを表示するスクリプトを書きました、そしてそれはほとんど毎秒約50-100ですが、時々、5000〜10000バーストがあります。
アップグレードプロセスで、VMホスティング業者のコントロールパネルが、VMを別のサーバーに移行する必要があると発表しました。そのサーバーには別のイーサネットがあると理論付けました。コントローラー、別のエミュレートされた割り込みコントローラー、または何でも、VMに戻って移行し、違いはありません.
もう1つの違いは、VMがvmlinuz-4.15.0-45-generic
から/boot/vmlinuz-4.15.0-72-generic
に変わったことです。最近のすべてのIntelCPUパッチで、そこに何かがこっそり入っていると想像できます。
大きな問題は、どうすれば根本原因にたどり着くことができるか、またはこれらの割り込みがどこから発生したかについてより多くの情報を入手することです。サーバーを古いカーネルで再起動することは可能ですが、望ましくありません。
誰かがその上にインストールされていることが判明しました。このサービスには、会計情報を収集するsystemdサービスがあります。それを削除すると修正されました。