Working Set Privateメモリーの取得方法 – プログラミング – Home

通知
すべてクリア

[解決済] Working Set Privateメモリーの取得方法


pon
 pon
(@pon)
ゲスト
結合: 18年前
投稿: 21
Topic starter  

■環境
・WindowsXP
・Visual Stdio 2005 (VC++)

■やりたいこと
WorkingSet Privateメモリーの量を知りたい
(メモリリークの確認のため)

■コード

PROCESS_MEMORY_COUNTERS pmc = { 0 };

const DWORD dwProcessID = GetCurrentProcessId();
HANDLE hProcess = OpenProcess (PROCESS_ALL_ACCESS, TRUE, dwProcessID );
GetProcessMemoryInfo( hProcess, &pmc, sizeof(pmc) );

■内容
GetProcessMemoryInfoにて得られる pmc から 現在のWorkingSetメモリー の量を知る
ことはできたのですが、さらにその中(現在のWorkingSetメモリー)の、privateのメモ
リーを知ることはできませんでしょうか?


引用未解決
トピックタグ
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 4年前
投稿: 828
 

あんまり詳しくないですが、ここが参考になりますか。

http://stackoverflow.com/questions/560430/what-is-the-win32-api-function-for-
private-bytes


返信引用
aetos
(@aetos)
Noble Member
結合: 4年前
投稿: 1480
 

パフォーマンスカウンターで Process\Working Set - Private の値を取ることになりま
すかね。

PROCESS_MEMORY_COUNTERS_EX.PrivateUsage は違いそうな気がします。試していませんけ
ど。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

うーーん、
パフォーマンスモニターで見たほうがいいみたいですね。
僕も、リソースをチェックする時に使いますが、グラフで表示できて便利です。

Windows7以降みたいですね。

サイト

http://windows.microsoft.com/ja-jp/windows/what-task-manager-memory-columns-
mean#1TC=windows-7

http://blog.livedoor.jp/blackwingcat/archives/1842334.html

http://technet.microsoft.com/ja-jp/windows/ff467974.aspx

windows xpは、こちら
でも、制限があるみたいです。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms684874(v=vs.85).aspx


返信引用
pon
 pon
(@pon)
ゲスト
結合: 18年前
投稿: 21
Topic starter  

皆様、レスポンスありがとうございました。

コードレベルでは、難しそうですね、、


返信引用
aetos
(@aetos)
Noble Member
結合: 4年前
投稿: 1480
 

パフォーマンスカウンター API を使えば取得可能ですよ。

中澤さんが紹介してくださっているリンク先のスレッドから、ここ
http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx
へのリンクが張られていますが、見られましたか?


返信引用
pon
 pon
(@pon)
ゲスト
結合: 18年前
投稿: 21
Topic starter  

仲澤さん、aetosさん、どうもありがとうございました。
まだテスト段階ですが、うまくいきそうです!


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました