• ベストアンサー

psコマンドで[]付きのプロセスなのですがどうして?

知人のサーバが負荷が高いので見て欲しいと頼まれました。 topコマンドで確認するとロードアベレージが常に5.0~6.0の間でした。 psコマンドでプロセルを確認するとCOMMANDの欄にmysql,httpd,namedなどが[]が付いた状態([mysqld]のように)で表示されます。 これはカーネルモードで実行されていると思うのですが、今まで経験したサーバではmysqld,httpdなどユーザモードで実行されていました。これはどういう意味があるのでしょうか。直接高負荷の原因とは違うのかもしれませんが、気になったもので。

質問者が選んだベストアンサー

  • ベストアンサー
  • zem
  • ベストアンサー率70% (51/72)
回答No.2

 こんにちは。その後のフォローがないようですので No.1 さんに替わりまして……  [プロセス名] は linux ではスワップアウト、もしくはページング状態を指します。ps で STAT を見てみると SW となっていないでしょうか。  プロセスの使用しているメモリの一部が実メモリから仮想メモリ(スワップ)に待避されている時に表示されます。

参考URL:
http://www.linux.or.jp/JM/html/procps/man1/ps.1.html
ctacos
質問者

お礼

ありがとうございました。 おかげですっきりしましたし、勉強になりました。

その他の回答 (1)

回答No.1

UNIXもいろいろですが、Linuxだったら「/proc/PID」以下で、プロセスの状況を調べられますので、[]の意味も分かると思いますよ。 カーネルモードなのかどうかは、ちょっと判別つきかねます。そのような結構大き目のデーモンをカーネルモードで走らせられるかどうかは、たとえば同じLinuxでも、バージョンで違いますから。

ctacos
質問者

補足

ご回答ありがとうございます。 []が付いている 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