アプリケーションがコンピュータによって使用するメモリ量が異なるのはなぜでしょうか

アプリケーションがコンピュータによって使用するメモリ量が異なるのはなぜでしょうか

システムによって使用するメモリ量が大きく異なるアプリケーション (OpenGL/SDL) を構築しました。

LGA2011/HD6950/16GbRam/W8PRO - 185Mb

LGA1155/HD7850/16GbRam/W7PRO - 180Mb

LGA1333/Quadro2000/W7PRO - 110Mb <-------------- これってどうなってるの?

2011MBA - 300+Mb (これは igpu 共有 RAM によるものだと思います)

その理由をどうやって判断すればいいのでしょうか?

答え1

ご質問に関して、私が知っていることは次のとおりです。使用されているメモリを見ると、さまざまな種類が表示される場合があります。一部のコンピューターでは、RAM を使用している場合、メモリの一部を取得して SWAP に移動します。また、仮想メモリを使用している可能性もあります。仮想メモリは占有スペースが少なくなるため、アプリの使用量が少なくなっているように見えます。

異なる OS またはバージョンで実行されている場合、それが影響している可能性があります。たとえば、Windows XP は 7 と同じようにメモリを処理しない可能性があるため、アプリが実際に使用するメモリの量がわずかに変わる可能性があります。

グラフィック カードやその他のハードウェアのわずかな変更も、別のアプリからメモリを要求することによって影響する可能性がありますが、これは通常 Windows では発生せず、Unix ベースのシステムでは発生します。

Mac に関しては、おっしゃる通りです。OS X はメモリの保存方法がかなり異なり、可能な限りすべての RAM メモリを使用します。メモリが少なくなると、使用量を減らし始めます。ただし、GPU が RAM を共有しているため、Mac ではメモリ使用量が非常に高く見えるのです。

私自身はソフトウェア エンジニアでもあるので、このテーマについて詳しいわけではありませんが、おそらく電気技師 (または同様の知識を持つ人) なら、より詳しく説明できるでしょう。

関連情報