その他
    ホーム 技術発信 DoRuby Passengerのステータス確認ツールの紹介(その2)

    Passengerのステータス確認ツールの紹介(その2)

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    前回に引き続き、Passengerに標準でインストールされるステータス確認ツールの紹介をしたいと思います。

    passenger-memory-stats

     passengerのプロセスのメモリの使用状況が見れます。出力内容がpassenger 3.0より変わったようで、3.0より前、3.0以降で以下のようになります。

    3.0より前

    -------------- Apache processes --------------
    PID    PPID   Threads  VMSize   Private  Name
    ----------------------------------------------
    16483  1      1        9.7 MB   0.2 MB   /usr/local/apache2/bin/httpd
    22344  16483  1        10.0 MB  0.6 MB   /usr/local/apache2/bin/httpd
    22693  16483  1        10.1 MB  0.6 MB   /usr/local/apache2/bin/httpd
    22695  16483  1        10.4 MB  0.8 MB   /usr/local/apache2/bin/httpd
    22710  16483  1        10.0 MB  0.5 MB   /usr/local/apache2/bin/httpd
    22711  16483  1        10.4 MB  0.8 MB   /usr/local/apache2/bin/httpd
    22712  16483  1        10.0 MB  0.5 MB   /usr/local/apache2/bin/httpd
    22726  16483  1        10.1 MB  0.6 MB   /usr/local/apache2/bin/httpd
    22729  16483  1        10.1 MB  0.6 MB   /usr/local/apache2/bin/httpd
    22746  16483  1        10.0 MB  0.4 MB   /usr/local/apache2/bin/httpd
    22751  16483  1        10.0 MB  0.4 MB   /usr/local/apache2/bin/httpd
    22768  16483  1        10.0 MB  0.5 MB   /usr/local/apache2/bin/httpd
    22770  16483  1        9.8 MB   0.3 MB   /usr/local/apache2/bin/httpd
    22771  16483  1        9.8 MB   0.2 MB   /usr/local/apache2/bin/httpd
    22772  16483  1        9.8 MB   0.2 MB   /usr/local/apache2/bin/httpd
    ### Processes: 15
    ### Total private dirty RSS: 7.11 MB
    
    --------- Passenger processes ---------
    PID    Threads  VMSize   Private  Name
    ---------------------------------------
    16505  13       7.6 MB   0.6 MB   /usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/ext/apache2/ApplicationPoolServerExecutable 0 /usr/lib/ruby/gems/1.8/gems/passenger-2.1.3/bin/passenger-spawn-server  /usr/bin/ruby  /var/rails/tmp/passenger.16483/info/status.fifo
    16506  1        7.4 MB   4.5 MB   Passenger spawn server
    17566  1        48.1 MB  35.5 MB  Rails: /var/rails/huga
    19798  1        53.7 MB  39.7 MB  Rails: /var/rails/hoge
    19800  1        51.1 MB  37.3 MB  Rails: /var/rails/hoge
    22320  1        37.9 MB  30.1 MB  Passenger ApplicationSpawner: /var/rails/huga
    22325  1        51.0 MB  37.2 MB  Rails: /var/rails/hoge
    22327  1        52.4 MB  38.5 MB  Rails: /var/rails/hoge
    22329  1        37.6 MB  29.6 MB  Rails: /var/rails/hoge
    ### Processes: 9
    ### Total private dirty RSS: 252.97 MB

    項目の説明

    VMSize

    仮想メモリ領域のサイズPrivate

    ディスクとの同期が取れていない物理メモリの領域のサイズ(dirtyと表記されるもの) .

    3.0以降

    --------- Apache processes ----------
    PID    PPID  VMSize   Resident  Name
    -------------------------------------
    644    1     15.6 MB  7.5 MB    /usr/apache2/2.2/bin/httpd
    25364  644   15.0 MB  4.1 MB    /usr/apache2/2.2/bin/httpd
    652    644   15.0 MB  4.1 MB    /usr/apache2/2.2/bin/httpd
    653    644   15.0 MB  4.3 MB    /usr/apache2/2.2/bin/httpd
    655    644   15.0 MB  4.3 MB    /usr/apache2/2.2/bin/httpd
    656    644   15.0 MB  4.3 MB    /usr/apache2/2.2/bin/httpd
    25282  644   15.0 MB  4.3 MB    /usr/apache2/2.2/bin/httpd
    25706  644   15.0 MB  4.3 MB    /usr/apache2/2.2/bin/httpd
    26280  644   14.9 MB  2.9 MB    /usr/apache2/2.2/bin/httpd
    25284  644   15.0 MB  4.3 MB    /usr/apache2/2.2/bin/httpd
    25283  644   15.0 MB  4.3 MB    /usr/apache2/2.2/bin/httpd
    6255   644   15.0 MB  4.3 MB    /usr/apache2/2.2/bin/httpd
    
    
    -------- Nginx processes ---------
    
    
    
    ---- Passenger processes ----
    PID  VMSize   Resident  Name
    -----------------------------
    648  4.6 MB   3.0 MB    PassengerWatchdog
    649  5.5 MB   4.0 MB    PassengerHelperAgent
    651  10.6 MB  5.2 MB    PassengerLoggingAgent

     ApacheとNginxとWebサーバーのプログラムごとで表示されるようになりました。自分の検証環境はApacheで動作させているので、Nginxで動いているプロセスは表示されていません。

    項目の説明

    VMSize

    仮想メモリ領域のサイズResident

    物理メモリの領域のサイズ.

     また、3.0より前のバージョンだとapxs, httpdにパスが通ってないとエラーになり実行できません。

     その場合、

     $ APXS2=[apxsのパス] passenger-memory-stats

    か、または、

     $ HTTPD=[httpdのパス] passenger-memory-stats

    とすれば、実行できます。また、root権限で実行しないとPrivateの合計が取得できず表示が以下のようになります。

     ### Total private dirty RSS: 0.00 MB (?) 

     サイトの動きが怪しい時など、前回紹介したpassenger-statusと合わせて使ってもらえると、怪しいプロセスを見つけるのに便利かと思います。それでは。

    記事を共有