- 締切済み
ページングの解放
例えば WindowsXP で、物理メモリが足らなくなれば、ページングファイル 上に退避する機能がありますが、物理メモリの空きが増えてページングに 退避しているデータを戻す余地ができた場合に、それを行う、それを促す 方法はありますでしょうか? そのままの目的に沿う Win32API や、例えばページングの使用量を変更 させる方法、ページングファイルのサイズを小さくする方法、ページング ファイルのサイズを増やすことなくページングファイル内から確保する 関数など、なんかないでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- OshimaAtsuko
- ベストアンサー率17% (3/17)
回答No.3
御協力を致せるかも知れませんから、近況を教えて下さいませ。
- Nayuta_X
- ベストアンサー率46% (240/511)
回答No.2
なにもかにも人に頼らず ご自分で調べて見ては、 検索キーワード; Win32API ページング ファイル
- Nayuta_X
- ベストアンサー率46% (240/511)
回答No.1
詳細は、下記を参考に 仮想メモリのページング ファイルのサイズを変更する方法 http://support.microsoft.com/kb/308417/ja
質問者
補足
それをする、Win32API とかを知りたいのですが。 カーネル内部でしかできないのかな?
補足
検索してから、MSDN とかを見てから、聞くのは当然でしょう。 逆のこと(物理メモリからページングファイルに退避させること)は VirtualAlloc でできますが、HeapAlloc(GlobalAlloc,LocalAlloc) や、 VirtualAlloc() でページング内の領域を確保できても、 他のページングされた領域を物理メモリに戻す可能性もなさげで、 単にページングファイルのサイズを広げるだけになりそうですよね。 ページングファイルの空きの(ファイルの最大値を考慮しての)最大限を 取得しても、たぶん、「仮想メモリが足らない」旨のメッセージボックス が出るでしょうし。 他のProcessのHeapを勝手に解放もできませんよね。 退避している全てを戻せないと思うので、一部(ずつ)戻させたいのです。 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpmemory/html/Toppage_MemoryManagement.asp http://msdn2.microsoft.com/en-us/library/ms810627.aspx http://msdn2.microsoft.com/en-us/library/ms810466.aspx なんかないでしょうか?