- ベストアンサー
ページイン・ページアウトについて確認したいと思います。
AppleScriptでへなちょこなプログラムを作っている者です。 アクティビティモニタでもメモリの使用状況は確認できますが、自分のMacはiBook G3/500MHzで、アクティビティモニタ自体が負荷になるように感じて「vm_stat」の結果を表示するAppleScriptを作りました。 もしかしたらこれを使ってくれるヒトがいるかも知れないと思い、説明書を作り始めました。 そこで疑問が生じたのがページイン・ページアウトの数値です。自分なりに調査して、以下のURLから「多分…」と思うところまでは来たのですが、確認しておきたいと思います。 MacFace ヘルプ: 仮想記憶について < http://rryu.sakura.ne.jp/macface/help/vm.html > Understanding vm_stat - Topic Powered by eve community < http://episteme.arstechnica.com/eve/forums/a/tpc/f/8300945231/m/5520975041 > どちらの情報からも、ページインは発生したページイン全ての合計=累積値であると考えました。実際私のiBookでは物理メモリを640MB搭載しておりますが、物理メモリの容量を超えるページインがしばしば見られます。 そしてページアウトも後者のURLの情報からページインと同様に「発生したページアウトの合計で、おそらくは再度ページインしたものも含んでいる」と読み取れました。 Appleのデベロッパ向け文書も読んでみたのですが、ページイン・ページアウトが累積値なのかどうかは分かりませんでした。 < http://developer.apple.com/documentation/Performance/Conceptual/ManagingMemory/index.html > プログラムを書いていながらはなはだ恥ずかしいのですが、ページイン・ページアウトが累積値なのかどうか、お分かりの方がいらっしゃれば教えて戴きたく思います。以上、よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
man vm_statには、引数を指定しない時の実行結果は、累積値であると述べられてますね。 vm_statの使い方はどっちかというと、 vm_stat 5 ――のように一定間隔(上例だと5秒間)でデータを収集して、使用量の時間変化を調査するというものだと思いますので、ページイン/アウトの過去5分間分の発生量(uptimeみたいなやつ)を表示するようにしてみるとか。
その他の回答 (1)
OSXのプログラムは仮想記憶として2GB分を確保する情報を見た事が有ります。 必要に応じて仮想記憶部分からデータをストアする。 PCはメモリ管理自体が128KBのページを拡張メモリ上に分割する事で 動作してますので、常時ページ数は変動する。 と考えています。
お礼
kiyomacさま、早速のアドバイスありがとうございます。 > 必要に応じて仮想記憶部分からデータをストアする。 そのようですね。そのことはMacFace ヘルプの情報からも読み取れました。 > 常時ページ数は変動する。 はい。物理メモリ上でもページ(1ページ=4096バイト)で管理されているようですね。物理メモリ上のページ数はアクティビティモニタでもvm_statでも変動しています。しかし、ページアウトとページインは増えるだけなのです。 もしよろしければ…ですが、kiyomacさまのMacでページアウトとページインがどのように振る舞っているかを確認して戴けないでしょうか? おそらく増え続けていると思うのですが…。
お礼
man vm_statを見てみました。その通りでした。マニュアルの参照はUNIXコマンドを使う時の基本でしたね。ウッカリしておりました。 > ページイン/アウトの過去5分間分の発生量(uptimeみたいなやつ)を表示するようにしてみるとか。 検討してみます。どうもありがとうございました。