プロセスの意味
ちょこちょこ出てくるプロセスの意味をまとめてみました。
たまに『あのプロセスって何やってるんだっけ?』
って私もうっかり忘れてしまったり(笑)
今回はLAMP環境を整えただけのシンプルな仮想サーバを見てみます。
topコマンドによるプロセスの表示
topコマンドで表示される主なプロセス
負荷をかけている順にプロセスが表示されるのでボトルネックがわかります。
・init
最初に立ち上がるプロセス(その為必ずpidは1。プロセスの親はなし)
/etc/inittabに書かれているプロセスを順番に起動しプロセスを生成し制御も行います。
・kthreadd
カーネルスレッド処理を行う為のカーネルスレッド(通常pidは2。プロセスの親はなし)
*プロセスはプログラム実行に必要な処理情報の塊(プロセスの状態、資源へのアクセス使用状況など)
*スレッドは処理の単位
・migration
cpuのプロセッサ間のワークロード(仕事量)を分散するカーネルプロセス、cpuコア数につき1つmigrationプロセスをもつ(この仮想サーバーのCPUは3コア)
・ksoftirqd
割り込み要求が多い時に動くプロセス
・irqbalance
マルチコアでの割り込み処理の負荷分散を行うプロセス
・watchdog
プロセスを監視し一定時間応答のないものを再起動する。
・cgroup
プロセスをグループ化しグループ内のプロセスを共通管理する。
control group
・getty
ログイン時の接続パラメータ設定を行う為のプログラム。
agettyなどバージョンがある。
・mingetty
仮想端末のログインプロンプトを表示させるプロセス
*tty 制御端末
*pts 疑似端末(sshなどを使用している時に)
・netns
Network Namespace
1つのホストの中に仮想的なネットワーク環境を作る機能
pstree -p 樹系図のようにプロセスを表示
樹系図で表示されるのでプロセスの親子関係がわかり易く重宝します。
・acpid
電源管理のサービス
・atd
指定した時間にコマンドを行うatコマンドのサービス
1回指定するのに向いているので、cronの用途とは別に使えます。
・master pickup qmgr
postfix(メール機能)のプロセス
・udevd
デバイス管理ツール。デバイスが接続された時にカーネルがデバイスを検出し動的にデバイスファイルを作成して割り当てる為の仕組み。
devfsの後継です。
・crond
指定した時間に指定したプログラムを作動させるサービスのプロセス
・httpd
Apache(WEBサーバ機能)サービスのプロセス
・mysqld
MySQL(DBサーバ)サービスのプロセス
・vsftpd
vsftp(FTPサーバ)サービスのプロセス