同じサーバーの2つのバージョンが異なる動作をするのはなぜですか?

私はC
++で小さなジオープルックアップのLinuxデーモンを書いていますが、私は2つの異なる結果を得ています。なぜそれなら不思議です。

これはソースコードです: https://github.com/homer6/geoipd
私はvalgrindでメモリーリークをチェックしていて、何もありませんでした。

Amazon
EC2上で同じUbuntuイメージを実行しているロードバランサの背後にある2つのWebサーバーがあり、ロードバランサの背後には両方とも同じ量のトラフィックを確保しています。私は両方のサーバーにデーモンをインストールしました。私は数日間、実稼動させました。

すべてが期待どおりに動作していますが、 “ps aux”の出力は2つのインスタンスでわずかに異なります。

サーバー1:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME
1004     28889  0.0  6.7 640288 517692 ?       Ss   Nov09   0:03

サーバー2:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME
1004     16587  0.0  6.7 574752 517688 ?       Ss   Nov09   0:02

私の質問は2つに分かれています:

  1. 仮想メモリの使用に大きな違いがあるのはなぜですか?
  2. 常駐メモリの使用に違いがある理由は?

前もって感謝します…

更新: 最初にプロセスを起動したときにVMのサイズを確認したことを覚えています。彼らは574752(またはわずかに575
MB未満)で、両方とも同じ価値を持っていました。

ベストアンサー

VSZのサイズは無意味ですが、無視することができます。いくつかの奇妙なものによって引き起こされる可能性があります。
(それを追跡しようとする場合は、両方のマシンの cat/proc/ pid /maps
の出力を比較してください。

なぜRSSが数バイト違うのかについては、それほど小さいので、私はそれについて心配しません。それはちょうどスタックのランダム化によるものかもしれません。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です