RHEL4マシンで実行されているCで記述されたデーモンがあります。
デーモンは共有メモリのセグメントにアクセスします(65536要素の大きな配列にすぎません)。malloc/freeは実行されません。
ps auxは、デーモンのサイズが共有メモリ+ VSZとして数kb、RSSとして数kbであることを示していることを確認しました。
次に、デーモンが共有メモリアレイにアクセスするほど、VSZとほぼ同じサイズに達するまでRSSが増加します。
LinuxがこのようにRSSを計算するのはなぜですか?
つまり...共有メモリは、他の多くの実行可能ファイルからアクセスできるため、単一のプロセスによって消費されるメモリ(RSS)として無視されるべきではありませんか?
そして、なぜそれは共有メモリにアクセスするだけでRSSを上げるのですか?