Linux サーバー上で実行されるアプリケーションは、多くの場合、多数のスレッドと接続を処理する必要があります。システムの正常な動作を保証するには、システムのスレッドと接続を頻繁に監視して、問題を適時に見つけて解決する必要があります。この記事では、Linux でアクティブなスレッドと接続の数を表示する方法を詳しく説明します。
アクティブなスレッドの数を確認する
次のコマンドを使用すると、システム内のアクティブなスレッドの数を確認できます。
$ top -H
このコマンドは、PID、CPU 使用率、メモリ使用量、各プロセスのスレッド数などの情報を含むシステムのプロセス リストを表示します。プロセスごとのスレッド数を見ることで、システムがスレッドでどの程度ビジーであるかを知ることができます。
さらに、次のコマンドを使用して、システム内のすべてのプロセスのスレッドの合計数を表示することもできます。
$ ps -eLf | wc -l
このコマンドは、すべてのプロセスをリストし、それらのスレッドの合計を計算します。さまざまな時点のスレッド数の合計を比較することで、システムのスレッド負荷を把握できます。
接続数を表示する
次のコマンドを使用すると、システム内の接続数を確認できます。
$ netstat -an | grep :80 | wc -l
このコマンドは、システム内のすべての TCP 接続の数を表示し、ポート 80 (HTTP プロトコルのデフォルト ポート) を使用した接続の数をカウントします。さまざまなポートの接続数を確認することで、システムがネットワーク上でどれだけビジーであるかを理解できます。
あるいは、次のコマンドを使用して、現在開いているファイルの数 (ネットワーク接続を含む) を表示することもできます。
$ lsof | wc -l
このコマンドは、現在開いているすべてのファイルをリストし、その合計をカウントします。異なる時点でのファイル数を比較することで、システムのネットワーク負荷を把握できます。
要約する
Linux サーバー上のスレッドと接続を監視することは非常に重要です。これは、システムの問題を時間内に発見して解決するのに役立ちます。この記事では、top、ps、netstat、lsof などのコマンドを使用して、アクティブなスレッドと接続の数を表示する方法について説明しました。これらのコマンドを定期的に使用することで、システムの負荷を把握し、最適化および調整できるようになります。