C++得到当前进程所占用的内存
来源:互联网 发布:xampp的mysql启动不了 编辑:程序博客网 时间:2024/05/21 11:00
使用SDK的PSAPI (Process Status Helper)
中的
BOOL GetProcessMemoryInfo(
HANDLE Process,
PPROCESS_MEMORY_COUNTERS ppsmemCounters,
DWORD cb
);
typedef struct _PROCESS_MEMORY_COUNTERS {
DWORD cb;
DWORD PageFaultCount;
SIZE_T PeakWorkingSetSize; //峰值内存使用
SIZE_T WorkingSetSize; //内存使用
SIZE_T QuotaPeakPagedPoolUsage;
SIZE_T QuotaPagedPoolUsage;
SIZE_T QuotaPeakNonPagedPoolUsage;
SIZE_T QuotaNonPagedPoolUsage;
SIZE_T PagefileUsage; //虚拟内存使用
SIZE_T PeakPagefileUsage; //峰值虚拟内存使用
} PROCESS_MEMORY_COUNTERS,
*PPROCESS_MEMORY_COUNTERS;
#include <iostream>#include <windows.h>#include <psapi.h>#pragma comment(lib,"psapi.lib")using namespace std;void showMemoryInfo(void) { HANDLE handle=GetCurrentProcess(); PROCESS_MEMORY_COUNTERS pmc; GetProcessMemoryInfo(handle,&pmc,sizeof(pmc)); cout<<"内存使用:"<<pmc.WorkingSetSize/1000 <<"K/"<<pmc.PeakWorkingSetSize/1000<<"K + "<<pmc.PagefileUsage/1000 <<"K/"<<pmc.PeakPagefileUsage/1000 <<"K"<<endl; }int main(int argc,char* argv) { showMemoryInfo(); cout<<"回收所有可回收的内存"<<endl; EmptyWorkingSet(GetCurrentProcess()); showMemoryInfo(); cout<<"开始动态分配内存"<<endl; char* buf[5]; for(int i=0;i<sizeof(buf)/sizeof(char*);i++) { buf[i]=new char[102400]; showMemoryInfo(); } cout<<"开始释放内存"<<endl; for(int i=0;i<sizeof(buf)/sizeof(char*);i++) { delete buf[i]; buf[i]=NULL; showMemoryInfo(); } cout<<"回收所有可回收的内存"<<endl; EmptyWorkingSet(GetCurrentProcess()); showMemoryInfo(); return 0; }
输出:
内存使用:1339K/1339K + 356K/356K
回收所有可回收的内存
内存使用:114K/1425K + 356K/356K
开始动态分配内存
内存使用:430K/1425K + 466K/466K
内存使用:438K/1425K + 573K/573K
内存使用:446K/1425K + 679K/679K
内存使用:454K/1425K + 786K/786K
内存使用:462K/1425K + 892K/892K
开始释放内存
内存使用:462K/1425K + 794K/892K
内存使用:454K/1425K + 692K/892K
内存使用:446K/1425K + 589K/892K
内存使用:438K/1425K + 487K/892K
内存使用:425K/1425K + 360K/892K
回收所有可回收的内存
内存使用:110K/1425K + 360K/892K
0 0
- C++ 如何得到当前进程所占用的内存呢?
- C++得到当前进程所占用的内存
- C++得到当前进程所占用的内存
- C++得到当前进程所占用的内存
- C++得到当前进程所占用的内存
- C++得到当前进程所占用的内存
- C++得到当前进程所占用的内存
- C++得到当前进程所占用的内存
- C++得到当前进程所占用的内存
- [转载]C++得到当前进程所占用的内存
- C++ 如何得到当前进程所占用的内存
- C++得到当前进程所占用的内…
- 进程运行时,所占用的内存
- [c++,kernel] 获取当前进程内存占用量
- 获得当前设备可用的内存 和 获取当前任务所占用的内存 (单位:MB)
- 获得当前设备可用的内存 和 获取当前任务所占用的内存 (单位:MB)
- pmap查看进程当前的内存详细占用情况
- 查看当前占用端口、关闭当前端口所暂用的进程
- 怎么能北航引向右两年脑
- 让自己理员引与弹号给们
- sql 百万级数据库优化方案
- unix环境高级编程(第2版)——使用自定义头文件apue.h
- 【IP\Bash\环境变量\mount挂载\TFTP和NFS】各种设置
- C++得到当前进程所占用的内存
- KMP算法学习&总结
- ubuntu下安装jdk1.7并修改默认jdk
- 红黑树
- activity中finish方法的学习一
- Git和Gihub入门
- nodejs中使用monk访问mongodb
- ios开发环境配置
- Swift学习备忘录