- ベストアンサー
psコマンドで[]付きのプロセスなのですがどうして?
知人のサーバが負荷が高いので見て欲しいと頼まれました。 topコマンドで確認するとロードアベレージが常に5.0~6.0の間でした。 psコマンドでプロセルを確認するとCOMMANDの欄にmysql,httpd,namedなどが[]が付いた状態([mysqld]のように)で表示されます。 これはカーネルモードで実行されていると思うのですが、今まで経験したサーバではmysqld,httpdなどユーザモードで実行されていました。これはどういう意味があるのでしょうか。直接高負荷の原因とは違うのかもしれませんが、気になったもので。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。その後のフォローがないようですので No.1 さんに替わりまして…… [プロセス名] は linux ではスワップアウト、もしくはページング状態を指します。ps で STAT を見てみると SW となっていないでしょうか。 プロセスの使用しているメモリの一部が実メモリから仮想メモリ(スワップ)に待避されている時に表示されます。
その他の回答 (1)
- neko-yashiki
- ベストアンサー率48% (14/29)
UNIXもいろいろですが、Linuxだったら「/proc/PID」以下で、プロセスの状況を調べられますので、[]の意味も分かると思いますよ。 カーネルモードなのかどうかは、ちょっと判別つきかねます。そのような結構大き目のデーモンをカーネルモードで走らせられるかどうかは、たとえば同じLinuxでも、バージョンで違いますから。
補足
ご回答ありがとうございます。 []が付いている mysqld の /porc/PID/status は以下のようになっていました。 どう見ればいいのでしょうか? OSはLinuxでカーネルのバージョンは2.4.18でした。 Name: mysqld State: S (sleeping) Tgid: 7861 Pid: 7861 PPid: 843 TracerPid: 0 Uid: 504 504 504 504 Gid: 504 504 504 504 FDSize: 256 Groups: 504 VmSize: 305924 kB VmLck: 0 kB VmRSS: 13036 kB VmData: 301004 kB VmStk: 44 kB VmExe: 2680 kB VmLib: 1908 kB SigPnd: 0000000000000000 SigBlk: 0000000080085005 SigIgn: 8000000000001000 SigCgt: 000000038008644f CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000
お礼
ありがとうございました。 おかげですっきりしましたし、勉強になりました。