Linuxでプロセススレッドの数を確認する方法

0x01:ps -efはプロセスのみを出力し、ps-eLfはすべてのスレッドを出力します

[root@centos6 ~]# ps -ef | grep rsyslogd
root      1470     1  0  2011 ?        00:01:13 /sbin/rsyslogd -c 4
root     29865 28596  0 22:45 pts/5    00:00:00 grep rsyslogd
[root@centos6 ~]# ps -eLf | grep rsyslogd
root      1470     1  1470  0    5  2011 ?        00:00:00 /sbin/rsyslogd -c 4
root      1470     1 28631  0    5 Mar04 ?        00:00:04 /sbin/rsyslogd -c 4
root      1470     1 28632  0    5 Mar04 ?        00:00:01 /sbin/rsyslogd -c 4
root      1470     1 28633  0    5 Mar04 ?        00:00:04 /sbin/rsyslogd -c 4
root      1470     1 28636  0    5 Mar04 ?        00:00:00 /sbin/rsyslogd -c 4
root     29867 28596 29867  0    1 22:45 pts/5    00:00:00 grep rsyslogd

rsyslogdプロセスには5つのスレッドがあるため、ps -efには1行しかなく、ps-eLfには5行あります。

ps-eLfの各フィールドの意味

  • UID:ユーザーID

  • PID:プロセスIDプロセスID

  • PPID:親プロセスID

  • LWP:これがスレッドであることを示します。メインスレッド(プロセス)またはスレッドのいずれかです。

  • NLWP:軽量プロセスの数軽量プロセスの数、つまりスレッドの数

  • STIME:開始時間

  • 時間:占有された合計CPU時間

  • TTY:プロセスが実行されている端末。pts/ 0255は仮想端末を表し、通常はリモート接続された端末です。tty1tty7はローカルコンソール端末を表します。

  • CMD:プロセスの開始コマンド


0x02:top -H -p $ {pid}またはtop-p $ {pid}、次にshitf + H

画像

0x03:cat / proc / $ {pid} / status  またはユーザーls / proc / $ {pid} / task

スレッドの後にスレッド数が続く場合


画像


0x04:pstree -p $ {pid}

画像


0x05:ps -hH -p $ {pid}

[root@localhost ~]# ps -hH -p 1414
 1414 ?        Ssl    0:00 /usr/sbin/rsyslogd -n
 1414 ?        Ssl    0:00 /usr/sbin/rsyslogd -n
 1414 ?        Ssl    0:00 /usr/sbin/rsyslogd -n


おすすめ

転載: blog.51cto.com/15127574/2667700