#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)