実メモリと仮想メモリについて

メモリについて教えて下さい。
アクティビティモニタで見ると或ソフトの使用メモリが実メモリ46.58MB、仮想メモリ336.74MBと表示されています。
4GBメモリを積んでいます
    固定中:285.20MB
  現在使用中:1.10GB
 現在非使用中:2.32GB
    確保中:3.7GB
     空き:305.67MB 
  
と表示されています。
実メモリにまだ余裕が有る様に思うんですがど〜して仮想メモリを使用しないといけないのですか?宜しくお願いします。

投稿日 2008/10/06 16:00

返信: 11

2008/10/07 04:47 Community User への返信

この仮想メモリというのは、メモリ不足のために仮想のメモリを使うというものではありません。あくまでも、OSのメモリ管理の一部のもので、アプリを立ち上げれば、アプリの開発者によって指定されただけのメモリを確保するための仮想のものです。
OSがアプリ(プログラム)の命ずるがままに実メモリをそのアプリに割り付けていては、メモリがいくらあっても足りません(性悪なプログラマが大して必要もないのにいきなり4GBのメモリ空間を要求するようにプログラムするかも知れません)し、パーフォマンスも劇悪になってしまいます。それでOSは取り敢えずそのアプリに仮想メモリを割り付けます。アプリから見れば仮想メモリは実メモリと同じに見えますので、そのメモリの元で開発者が意図した通りに動きます。OSはアプリのメモリ使い方をモニタしていて、必要に応じて仮想メモリを実メモリに割り当てます。このため、実メモリ上ではアプリが使っているメモリ領域はパッチ状になっていても、アプリは仮想メモリ上では連続したメモリ空間として使えます。同時に多数のプログラムが動いているシステムでは必須のものです。

2008/10/07 13:32 Community User への返信

はにさま ありがとうございます
Movieのレンダリング用にとメモリを積んだんですが、私の使い方ではあまり意味が無かったかもしれません。
以前、仮想メモリは時間が掛かるから使わない方が良いみたいな話を聞いた事が有る様な無い様な?

2008/10/07 14:04 Community User への返信

>以前、仮想メモリは時間が掛かるから使わない方が良いみたいな話
昔の話です。
OSXでは仮想メモリは当然に設定されます。
だって、メモリ不足になったときにあわてて仮想メモリを設定するなんてとろいことはやってられないのでは?
使わない設定は不可では?
PS:
 実メモリが多ければ,実際上、仮想メモリの使用頻度が下がる(使用せずに済む)ので、高速になるんですが。

2008/10/07 14:17 Community User への返信

はにさんが書かれていることを良く読まれましたか?
> 仮想メモリは時間が掛かるから使わない方が良いみたいな話を聞いた事が有る様な無い様な?
メモリー不足になり、実際に仮想メモリーを使わなければならないようになれば、当然、パフォーマンスはかなり落ちます。
Mac OS Xでは、OSがメモリーをしっかり管理しますので、取り敢えずは仮想メモリーも含めてメモリーの割当をしますが、実メモリーが十分にあれば、仮想メモリーはほとんど使われずに、実メモリーで処理します。
> 実メモリにまだ余裕が有る様に思うんですがど〜して仮想メモリを使用しないといけないのですか?
なので、これは取り敢えず仮想メモリーも割り当てられているだけで、実メモリーに余裕が無くなるまでは、実メモリーでの処理になります。
実メモリーに余裕が無くなって初めて仮想メモリーを割り当てるというのではなくて、最初から仮想メモリーも含めて割り当てておいて、実際は実メモリーに余裕が無くなるまでは実メモリーを使っているという事になります。

2008/10/07 14:32 Community User への返信

movieの書き出し、レンダリングでは映像トラックをたくさん重ねたり、加工用のフィルター処理をたくさん使った時などにはとても有効だと思います。
全く意味がない事はないと思いますが、実感するほどの速度アップを求めるならCPUやハードディスクの速度を上げる方が確実です。

2008/10/07 16:20 Community User への返信

皆さんご教授ありがとうございます。
仮想メモリ分を確保しているだけでまだ使ってない実メモリが残ってるとゆうことは、仮想メモリを使わずに実メモリで十分足りているとゆう事なんですね。

2008/10/08 04:53 Community User への返信

念のため、仮想メモリは、ディスクに確保されるスワップとは違います。
スワップは文字通り、実メモリが足りなくなって来ると発生します。スワップが発生すると、メモリIOがディスクIOを伴うようになるわけですからパーフォマンスは劇悪になります。ただ、本当に使うべきメモリが無くなると、システムは落ちてしまいますので、落ちるよりはパーフォマンスを悪くしてでも何とか動く方が良いだろう、ということでスワップを使います。
OS9の頃の「仮想メモリ」は、メモリ空間の一部を強制的にディスクスペースに割り付けてしまう固定スワップみたいな物で、OSXの仮想メモリとはまったく別物、無関係な物で、OSXのスワップよりパーフォマンスが悪い物です。OSXのスワップはダイナミックな物で、実メモリが不足して来た時、必要に応じて実メモリ空間のブロックとディスクスペースとを入れ換えて使うようにして、メモリIOがディスクIOに入れ替わるのを最小限にしています。ただ、メモリブロックの入れ換えの時にはディスクIOになりますので、パーフォマンスはやはりぐっと落ちるのは避けられませんけど。OSXの仮想メモリはメモリ管理の主要な部分で、スワップとは別物です。

2008/10/08 08:42 Community User への返信

そうか、仮想メモリーとスワップというふうに言葉を分けて使うと、わかりやすいですね。

2008/10/08 08:49 Community User への返信

なるほど。。
でも、遠い記憶を掘り起こしてみると、OS9(それ以前から)はTipsや機能アップ・ユーティリティの類いでカスタマイズするのが基本みたいな感じでしたよね。。
当時は僕も映像用といった感じに不要な物は外していましたが、今は複雑に(僕にとっては)なったし、そもそもいじる必要がなくなったと思っています。
判らないでいじる弊害の方が怖いし、、(笑)

2008/10/10 03:13 Community User への返信

HAL2001さんへ
 はにさんなど先輩諸兄の書き込みで OS9等のレガシーOS と モダンOSの
OS X の仮想メモリーの仕組みが違うことがご理解出来たと思いますが
 またなぜにメモリーを多く載せると速くなるかもご理解いただけたかと思います
そして HAL2001さんの場合にはほぼ理想的なメモリー容量だと思いますよ
決して無駄にはなっていません と言うのは空きが305.67MBですよね
 通常固定中と使用中の合計がメモリー容量の5〜6割程度キープ出来ていれば良い
と言われますがメモリー容量増加の高速化のもう一つの効果はディスクキャシュです
 現在非使用中と出ているものがディスクキャシュです メモリーに余裕が無いと
この領域が削られてディスクに読みにいく頻度が増えますから遅くなりますよ
 あと画像や音声データーは通常ディスク内では圧縮されておりメモリー上で展開
してから利用されますので画像データー等を扱う場合はメモリーは多い方が良い
というのはこのことからもきております。 その点からして私はHAL2001さんが
普段お使いになる状態でメモリーの空き容量が200MBを切らないようにして
お使いになった方が作業効率が上がると思います。

2008/10/10 09:58 Community User への返信

いろいろ教えていただきスッキリしました。
当初は仮想メモリの表示を見ただけでなんでメモリに余裕が有るのにと思っていました。
8GB積める仕様に成っていますが、今の状態で不便は無いのでこのまま使い続けるつもりです。
ハードの根本、深いところは難しいですね

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

実メモリと仮想メモリについて

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。