• ベストアンサー

LRUとの関係が分かると助かります。

良く使われるアプリケーションのデータは、 メインメモリのワーキングセットに留まっているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

OSにもよりますが。 良く使われるアプリケーションプログラムはシステム起動時に起動してワーキングセットに常駐させることはありますが、データを常駐させるケースはありません。ただし常駐データベース等の特殊な技術を使った場合は除きます。 LRUとの関係は全くありません。 LRUはメインメモリが不足した時にメインメモリに空きを作るために一部を外部メモリに書き出しますが、その時一部をどこにするか決定する手法です。その意味を検索していただければわかると思いますが、「キャッシュアルゴリズムなどで用いられる」のような記述があります。つまりLRUの使用例を記述しているにすぎません。

JidousyaGaisya
質問者

補足

有り難う御座います。 試験問題を解く為の目的に即した説明に感謝を致します。

その他の回答 (1)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

> 良く使われるアプリケーションのデータ というものの具体例が, 業務時間中はずっとExcelを起動しっぱなし,ワークシート"記録.xls"を開きっぱなし。 という状況を指すのであれば, メインメモリのワーキングセットに留まっています。 そうではなく, 必要に応じてExcelを起動,作業が終わったらExcelを終了,これを何度も繰り返す。 という状況を指すのであれば, メインメモリには留まっていません。

JidousyaGaisya
質問者

補足

有り難う御座います。 オンデマンドで起動させている状況の場合には、 ワーキングセットに常駐しないのですね。

関連するQ&A

  • パフォーマンスモニタのメモリについて

    1.パフォーマンスモニタであるPrivate Bytes、Working Setがいまいち理解できませんが、下記の認識であっておりますでしょうか。 (1) 仮想メモリ 物理メモリが不足したときに使用するハードディスク上に設定した仮想メモリ(ページングファイル) (2) Private Bytes : ほかのプロセスから共有されない仮想メモリサイズ (3) Working Set : プロセスが使用している物理メモリサイズ 2.認識があっている場合、Working Setは、他のプロセスと共有されていますでしょうか。 Working Setがほかのプロセス共有されていないとのことでしたら、Private Bytesと Working Setを足した値がそのプロセスが使用しているメモリの合計ということでしょうか。

  • メモリ使用量の測定(Win7)

    お世話になっております。 アプリケーション毎のメモリ使用量を知りたいのですが、 Win7のリソースモニターの値の意味について理解しきれず質問致します。 使用しているOSは Windows7(x64) で、4GBのメモリを搭載しています。 質問内容: Win7で「メモリ使用量は?」と問われたらどれを答えればいいのか? 「○○のアプリがメモリを食い過ぎている」的な話は、 日常的にPCを触れているとよく聞く話ではあります。 そして、どのアプリケーションが、どれだけのメモリを使用しているのかは Windowsならばタスクマネージャー>「パフォーマンス」タブ→リソースモニタ で、見ることが出来ます。 ですが、このリソースモニターに表示されるメモリの値と思われるものには、 コミット、ワーキングセット、共有可能、プライベート、と4っの項目があります。 「プロセスが今使っているメモリ量」は、どれを見れば良いのでしょうか? http://technet.microsoft.com/ja-jp/windows/ff467974 このような資料を見つけ、それぞれの言葉の意味を読むに、 ワーキングセットが、実際の使用量ではない、と推測してはいますが、 コミットの値を信用すればいいのか、 プライベートを見るべきか、正確な理解が出来ずにいます。 XPの時にはこんなに複数の項目はなく、 タスクマネージャーの「メモリ使用量」という項目だけしかありませんでしたが、 Win7のタスクマネージャーに表示される 「プライベートワーキングセット」というのは別物のようですし・・・ どうかご教示お願いします。

  • オンボードグラフィックにおけるメモリ使用量について

    UMA方式のオンボードグラフィック環境にてVRAMを利用するアプリケーションを実行した場合、1つのプロセスが使用するメモリ(タスクマネージャー上のプライベートワーキングセット等)には、VRAMとして使用している量も含まれているのでしょうか? また、参考となるようなページがありましたら、教えて頂けると助かります。 よろしくお願い致します。

  • ワーキングメモリとマルチタスクの関係

    ワーキングメモリを鍛えるためにn-back課題や鬼トレなどをしています。 ワーキングメモリは頭の中で複数の事を処理するマルチタスク能力に直結しているといい、それらは訓練で向上させられる、というのを信じてトレーニングしているのですが、 一方でながら作業、マルチタスクは脳にとって非常に有害だと言う説も聞きます。 ワーキングメモリ自体は科学的にもちゃんと認知されていて、誰にでも多かれ少なかれ備わっている脳の機能で、とくに仕事をする上で不可欠だと思っていますが、 それを鍛えるためにはマルチタスクな脳の使い方が必要になってくる。 これはどう捉えたらいいのでしょうか?? 感覚的に自分のやっている訓練がそこまで有害だとは思えないのです。 私としてはマルチタスク自体が完全に悪いのではなく、その人にとって苦痛なやり方だと認知しながら続けているから、そのストレスが脳に悪影響を及ぼすのではないかと思います。 ワーキングメモリがまったく必要とされない人間社会など考えられませんし、高度な社会生活に伴ってマルチタスク能力が発達するのも自然な事だと思うのですが。 マルチタスク⇔ワーキングメモリみたいに単純なとらえ方をするのは違う気がしますが、密接に関わってるのは確かですよね? どちらもそれなりに説得力のある説なのですが、二つの説の間で有意義な議論が交わされた事はないように思います。

  • 特定のプロセスが使用している物理メモリ量

    特定のプロセスが使用している物理メモリを確認する方法を教えてください。 プロセスが使用している物理メモリ領域は「Working Set」と呼びますが、「Working Set」には「Private Bytes」と「Shared Bytes」が含まれます。 「Shared Bytes」は、他のプロセスと共有される物理メモリのため、特定のプロセス専用で使用される物理メモリではありません。 「Private Bytes」は、そのプロセスが物理メモリで利用中のものとページアウトされたものになり、ページアウトされたものは物理メモリにはありません。 「Working Set」は「Private Bytes」+「Shared Bytes」の総和といっても、ページアウトされたものをは物理メモリにないため、ページアウトされたものは引かれています。 「Working Set」の値から「Shared Bytes」の使用量を調べて、「Shared Bytes」の中で特定のプロセス専用のものでないものを引くことができれば、特定のプロセスが使用している純粋な物理メモリを知ることができるのではと考えております。 パフォーマンスモニターなどのツールでどの「カウンタ」のどの「インスタンス」を取得して、どのような計算をすれば、求めることができるかご教示頂けませんでしょうか。

  • GetProcessWorkingSetSizeでエラーが発生します

    VB6で画像処理アプリケーションの開発を行っている者です。 下記記述でワーキングセット領域を変更しようとしていますが、GetProcessWorkingSetSizeの部分でエラーが発生します。 使用PCにより、「問題が発生したため、Visual Basic を終了します。 ご不便をおかけして申し訳ありません。」や有無を言わさず開発環境が終了してしまう場合がありますが、いずれにしても原因が分かりません。 どなたかアドバイスいただけませんでしょうか? よろしくお願い致します。 (標準モジュールで宣言) Declare Function GetCurrentProcessId Lib "kernel32.dll" () As Long Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessID As Long) As Long Declare Function GetProcessWorkingSetSize Lib "kernel32" (ByVal qq As Integer, ByVal pp As Integer, ByVal rr As Integer) As Long Declare Function SetProcessWorkingSetSize Lib "kernel32" (ByVal phph1 As Long, ByVal wkminwkmin1 As Long, ByVal wkmaxwkmax1 As Long) As Long Declare Function GetLastError Lib "kernel32.dll" () As Long (実行部) Sub WorkingSetChange() Dim id As Long 'アプリケーションプログラムのID用変数 Dim ph As Long 'アプリケーションプログラムのハンドル用変数 Dim wkmin As Long '最小ワーキングセット用変数 Dim wkmax As Long '最大ワーキングセット用変数 Dim bret As Long Const PROCESS_SET_QUOTA = &H100 Const PROCESS_QUERY_INFORMATION = &H400 'アプリケーションプログラムのIDを取得する id = GetCurrentProcessId() 'アプリケーションプログラムのハンドルをオープンする ph = OpenProcess(PROCESS_SET_QUOTA + PROCESS_QUERY_INFORMATION, False, id) 'アプリケーションプログラムの最大ワーキングセット値と最小ワーキングセット値を取得 bret = GetProcessWorkingSetSize(ph, wkmin, wkmax) '最小ワーキングセット値を1MBに設定 wkmin = 1 * 1024 * 1024 '最大ワーキングセット値を3MBに設定 wkmax = 3 * 1024 * 1024 'アプリケーションプログラムの最大ワーキングセット値と最小ワーキングセット値を変更 bret = SetProcessWorkingSetSize(ph, wkmin, wkmax) 'アプリケーションプログラムのハンドルをクローズする bret = CloseHandle(ph) End Sub

  • WILLCOM03の記憶用メモリを増やすには

    WILLCOM03本体アプリケーションのアップデートをしようとしましたが、メインメモリのデータ記憶用の空き領域が26MBしかありませんでした。ソフトは自分でいくつか入れていましたが、全部SDカードに移動し、OPERAも消しました。それでもまだまだ必要量には足りません。どのように解決すればいいか教えてください。よろしくお願いします。

  • Flashとビデオチップの関係

    ノートパソコンの購入を検討しています。メインの用途は、Adobe Flash CS3によるアニメーションの制作になります。その際、快適な作業環境を求めるなら、ビデオチップの性能はどの程度要求されるのでしょうか? メーカーや量販店の販売員など、いろいろな方に問い合わせてみると、 「ビデオチップはまったく関係ない。メモリとCPUだけ考えて。」 「いや、チップセット内蔵とか間違いなく固まる。GeForceにしないとまずい。」 など、意見がまっぷたつに割れてしまいます。 具体的には、 CPU:Core 2 Duo P8400 2.26GHz(3MB) メモリ:3GB ビデオチップ:Mobile Intel GM45 Express ビデオメモリ:358MB(メインメモリと共有) CPU:Core 2 Duo P8600 2.4GHz(3MB) メモリ:4GB ビデオチップ:GeForce 9300M ビデオメモリ:128MB の間で揺れており、コスト面から、できれば前者を選択したいのですが…。 実際に使用されている方のご意見をうかがいたく、書き込みました。よろしくお願い致します。

  • メモリ(プライベートワーキングセット)

    エクセルファイルの容量が1340KBなのですが このファイルを開いて、 タスクマネージャーの詳細タブを見ると メモリ(プライベートワーキングセット)が 108084Kなのですが、こんなに多くても正常でしょうか? エクセルファイルは1つしか立ち上げていません。

  • 最小ワーキングセットサイズ

    GetProcessWorkingSetSizeの最小ワーキングセットサイズ、最大ワーキングセットサイズの意味が良く分かりません。 MSDN等で調べた結果、最小ワーキングセットサイズはそのプロセスがRAMにメモリーを確保しているサイズ、最大ワーキングセットサイズは仮想メモリーを使ってでも、そのプロセスで確保しているサイズの様な気がして来ましたが合っているでしょうか。 合っていれば、SetProcessWorkingSetSizeの最小ワーキングセットサイズはそのプロセスでRAMにメモリーを確保したいサイズ、最大ワーキングセットサイズは仮想メモリーを使ってでも、そのプロセスで確保したいサイズですよね。 お分かりに成る方、よろしくご回答下さい。

専門家に質問してみよう