晴耕雨読

working in the fields on fine days and reading books on rainy days

[Linux] スレッド数をカウントするコマンド

Linuxで全てのスレッドの数をカウントするには、次のコマンドで確認することができます。

ps -elfT | wc -l

psコマンドにつけるオプションはそれぞれ以下の意味を持ちます。

  • -e : 全てのプロセスを表示します。
  • -l : Long形式(通常よりも情報量が多い形式)でプロセス情報を表示します。
  • -f : フル形式(通常よりも情報量が多い形式)でプロセス情報を表示します。他のオプションと併用可
  • -T : スレッドを表示します。表示時はSPID列が追加されます。

特に重要なのは -e と -T です。この2つを組み合わせることで、全スレッド数をカウントすることができます。

定期的に監視したい時は、while文と組み合わせると良いです。

while true; do date; ps -elfT | wc -l; sleep 1; done


(補足) Linuxシステム上のスレッド数の上限

Linuxシステム上のスレッド数の上限は ulimit -a コマンドで確認することができます。

$ ulimit -a
...(省略)...
max user processes       (-u) 63498

スレッド数の上限を増やすには、以下の limits.conf ファイルの設定を修正するか、limits.d ディレクトリの中に設定ファイルを配置する方法があります。

  • /etc/security/limits.conf
  • /etc/security/limits.d/

以上です。