永发信息网

(急!在线等!答好了,追加分!)vc++获得内存专用工作集!

答案:1  悬赏:10  手机版
解决时间 2021-01-06 10:24
(急!在线等!答好了,追加分!)vc++获得内存专用工作集!
最佳答案
前段时间我做过,网上没怎么搜到这类资料,以下是我自己查阅MSDN找到的方法,和Windows任务管理器获取的信息一致。相信你能理解代码。
分两个步骤:
1.获取系统分页大小
PERFORMANCE_INFORMATION performanceInfo;
memset(&performanceInfo, 0, sizeof(performanceInfo));
if(!::GetPerformanceInfo(&performanceInfo, sizeof(performanceInfo)))
return FALSE;
m_stPageSize = performanceInfo.PageSize; // 获取页面大小, 单位:byte2.计算专用工作集
SIZE_T CProcessInfo::CalcWorkSetPrivate(HANDLE hProcess, SIZE_T pageSize)
{
BOOL bRet = TRUE;
PSAPI_WORKING_SET_INFORMATION workSetInfo;
PBYTE pByte = NULL;
PSAPI_WORKING_SET_BLOCK *pWorkSetBlock = workSetInfo.WorkingSetInfo;
memset(&workSetInfo, 0, sizeof(workSetInfo));
// 要求操作进程的权限:PROCESS_QUERY_INFORMATION and PROCESS_VM_READ
// 第一次调用获取实际缓冲区大小
bRet = ::QueryWorkingSet(hProcess, &workSetInfo, sizeof(workSetInfo));
if(!bRet) // 调用失败
{
if(GetLastError() == ERROR_BAD_LENGTH) // 需要重新分配缓冲区
{
DWORD realSize = sizeof(workSetInfo.NumberOfEntries) 
+ workSetInfo.NumberOfEntries*sizeof(PSAPI_WORKING_SET_BLOCK);
try
{
pByte = new BYTE[realSize];
memset(pByte, 0, realSize);
pWorkSetBlock = (PSAPI_WORKING_SET_BLOCK *)(pByte + sizeof(workSetInfo.NumberOfEntries));
// 重新获取
if(!::QueryWorkingSet(hProcess, pByte, realSize))
{
delete[] pByte; // 清理内存
return 0;
}

catch(CMemoryException *e) // 分配内存失败
{
e->Delete();
return 0;
}

}
else // 其它错误,认为获取失败
return 0;
}
SIZE_T workSetPrivate = 0;
for (ULONG_PTR i = 0; i < workSetInfo.NumberOfEntries; ++i)
{
if(!pWorkSetBlock[i].Shared) // 如果不是共享页
workSetPrivate += pageSize;
}
if(pByte)
delete[] pByte;
return workSetPrivate;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中国银行ATM(五华华城支行)地址在哪,我要去
算乘方的简便方法
林源涓这名字代表什么
网站的描述应该怎么写 有什么技巧吗?
取得增值税返还 哪些情况须缴企业所得税
什么是农光互补?
死神斩魄刀解放台词
隔夜的面条能吃吗
为什么艺人出道后都特别忙啊
蓝宝石R9 380x 4G 超白金比起gtx970的优势在
王维是得志了吗
短信提示我申请惠花钱成功了钱到账了!可是我
htc g13请求帮助
单选题乡村聚落的类型有团状和带状之分,下列
白银3.1块人民币要多少钱可以买一手?
推荐资讯
想买块浪琴的表,预算一万五,嘉岚系列怎么样
单选题据报道,目前已发现的核素有2000多种,
没有什么比凌晨回家更让人觉得孤独
刘老师带了一些钱到书店去买书,若买4本则多3
游北镇庙作文红袖添香
硅胶印是丝印吗
看看我的黑眼圈吧(┬_┬)
人类学家将人类分为三大人种,中国属于A.黄色
回答我上一个问题的给1000悬赏速度
求这首歌的歌名!
青岛港智慧货运下载
索尔空调万能遥控器这样子怎么弄
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?