#navi(../)
* psコマンドでスレッドを確認する方法 [#ebd4270b]
psコマンドをmanで確認するとスレッド情報を取得する場合、以下のオプションがあります。~
本資料は、psコマンドを利用してスレッド情報を取得する方法を記します。

 PS(1)                         Linux User’s Manual                        PS(1)
 名前
 ps - 現在実行されているプロセスのスナップショットを表示する
 書式
 ps [options]
 <snip>
 スレッド表示
 H               スレッドをプロセスのように表示する。
 -L              可能ならば LWP と NLWP カラムをつけてスレッドを表示する。
 -T              可能ならば SPID カラムをつけてスレッドを表示する。
 m               プロセスの後にスレッドを表示する。
 -m              プロセスの後にスレッドを表示する。

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#y9224d44]
-[[親プロセスと子プロセスの関係を確認する方法>逆引きUNIXコマンド/親プロセスと子プロセスの関係を確認する方法]]
-[[psコマンドでプロセスの引数を確認する方法>逆引きUNIXコマンド/psコマンドでプロセスの引数を確認する方法]]
-[[プロセスがどのポートを利用しているかを調べる方法>逆引きUNIXコマンド/プロセスがどのポートを利用しているかを調べる方法]]
-[[各CPUコアのCPU使用率などを調べたい・mpstat>逆引きUNIXコマンド/各CPUコアのCPU使用率を調べる・mpstat]]
-[[システム情報を取得する・sarコマンド>逆引きUNIXコマンド/システム情報を取得する・sarコマンド]]

* -Lオプションを使用した場合(可能ならば LWP と NLWP カラムをつけてスレッドを表示する。) [#p3b40342]
NLWPが表示されています。~
automount, firefox, mysqldがスレッドで動作していることが各員できます。~
なお、NLWP (スレッド数), LWP (スレッド ID) をあらわしています。

 [sakura@centos ~]$ ps aux -L
 USER       PID   LWP %CPU NLWP %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
 root         1     1  0.0    1  0.0  10364   688 ?        Ss   11:19   0:01 init [5]                                              
 <snip>
 root      3620  3620  0.0    1  0.0  10248   708 ?        S    11:21   0:00 hald-addon-storage: polling /dev/sr0
 root      3661  3661  0.0    5  0.0  54428  1484 ?        Ssl  11:21   0:00 automount
 root      3661  3662  0.0    5  0.0  54428  1484 ?        Ssl  11:21   0:00 automount
 root      3661  3663  0.0    5  0.0  54428  1484 ?        Ssl  11:21   0:00 automount
 root      3661  3666  0.0    5  0.0  54428  1484 ?        Ssl  11:21   0:00 automount
 root      3661  3669  0.0    5  0.0  54428  1484 ?        Ssl  11:21   0:00 automount
 <snip>
 root      4506  4506  0.0    1  0.0  63884  1208 pts/1    S    11:50   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/va
 mysql     4556  4556  0.1   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 mysql     4556  4558  0.0   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 mysql     4556  4559  0.0   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 mysql     4556  4560  0.0   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 mysql     4556  4561  0.0   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 mysql     4556  4562  0.0   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 mysql     4556  4563  0.0   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 mysql     4556  4564  0.0   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 mysql     4556  4565  0.0   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 mysql     4556  4566  0.0   10  0.6 178352 25348 pts/1    Sl   11:50   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysq
 505       4581  4581  6.0   16  4.3 762552 174848 ?       Sl   11:50   0:02 /usr/lib64/firefox/firefox
 505       4581  4604  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4605  0.1   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4606  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4607  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4608  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4609  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4610  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4612  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4642  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4643  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4645  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4646  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4647  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4650  3.8   16  4.3 762552 174848 ?       Dl   11:50   0:01 /usr/lib64/firefox/firefox
 505       4581  4681  0.0   16  4.3 762552 174848 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4690  4690  0.0    1  0.0  65640  1004 pts/1    R+   11:51   0:00 ps aux -L

* Hオプションを利用した場合(スレッドをプロセスのように表示する。) [#tc94282a]
Hオプションを利用した場合は、以下のように表示されます。~
firefoxが全て同じPIDになっているのが確認できます。
 [sakura@centos ~]$ ps uxH
 USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
 <snip>
 505       4581  0.3  3.6 729800 144068 ?       Sl   11:50   0:02 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  1.6  3.6 729800 144068 ?       Sl   11:50   0:09 /usr/lib64/firefox/firefox
 505       4581  0.0  3.6 729800 144068 ?       Sl   11:51   0:00 /usr/lib64/firefox/firefox
 505       4692  0.7  0.9 496064 39028 ?        S    11:51   0:04 gedit
 505       4705  0.0  0.0  66240  1660 pts/3    Ss   11:53   0:00 bash
 505       4824  0.0  0.0  65640  1000 pts/3    R+   12:00   0:00 ps uxH

* m(-m)オプションを使用した場合(プロセスの後にスレッドを表示する。) [#z5dadae4]
mオプションを利用場合の出力結果です。~
firefoxのみ抜粋しています。
 [sakura@centos ~]$ ps ux -m
 USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
 <snip>
 505       4581  1.4  3.6 729800 144068 ?       -    11:50   0:11 /usr/lib64/firefox/firefox
 505          -  0.2    -      -     - -        Sl   11:50   0:02 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  0.0    -      -     - -        Sl   11:50   0:00 -
 505          -  1.1    -      -     - -        Sl   11:50   0:09 -
 505          -  0.0    -      -     - -        Sl   11:52   0:00 -
 <snip>

* -Tオプションを使用した場合(可能ならば SPID カラムをつけてスレッドを表示する。) [#bbc8a820]
オプション-Tを使用した場合の出力です。~
上記と同様にfirefoxのみ抜粋しています。~
 [sakura@centos ~]$ ps ux -T
 USER       PID  SPID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
 <snip>
 505       4581  4581  0.2  3.6 729800 144080 ?       Sl   11:50   0:02 /usr/lib64/firefox/firefox
 505       4581  4604  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4605  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4606  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4607  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4608  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4609  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4610  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4612  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4642  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4643  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4645  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4646  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4647  0.0  3.6 729800 144080 ?       Sl   11:50   0:00 /usr/lib64/firefox/firefox
 505       4581  4650  0.9  3.6 729800 144080 ?       Sl   11:50   0:09 /usr/lib64/firefox/firefox
 505       4581  4696  0.0  3.6 729800 144080 ?       Sl   11:52   0:00 /usr/lib64/firefox/firefox
 <snip>

man ps内に記載されているSPIDを調べると以下のように記されています。
 spid       SPID     lwp を参照。(別名 lwp, tid)。
したがって、SPIDはLWP(スレッド ID)になります。


以上、psコマンドを利用して各プロセスのスレッド数やスレッドIDを調べる方法を記しました。

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS