易语言 可以直接使用精易模块  进程_内存使用 (, )


API:

BOOL GetProcessMemoryInfo(
  HANDLE                   Process,
  PPROCESS_MEMORY_COUNTERS ppsmemCounters,
  DWORD                    cb);

其中:

  • Process : 指向当前进程的句柄

  • ppsmemCounters : 接收当前进程内存使用信息的PROCESS_MEMORY_COUNTERS或者PROCESS_MEMORY_COUNTERS_EX结构体的指针

  • cb : ppsmemCounters结构体的大小

其中_PROCESS_MEMORY_COUNTERS结构体的原型为

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;
  • cb : 当前结构体大小

  • PageFaultCount : 页面错误数

  • PeakWorkingSetSize : 峰值内存使用量,字节

  • WorkingSetSize : 当前内存使用量,字节

  • QuotaPeakPagedPoolUsage : 分页池的峰值使用量,以字节为单位

  • QuotaPagedPoolUsage : 当前页面缓冲池的使用情况,以字节为单位。

  • QuotaPeakNonPagedPoolUsage : 非页面缓冲池的峰值使用量,以字节为单位

  • QuotaNonPagedPoolUsage : 当前非页面缓冲池的使用情况,以字节为单位

  • PagefileUsage : 此过程的“提交费用”值(以字节为单位)。提交费用是内存管理器已为运行中的进程提交的内存总量

  • PeakPagefileUsage : 在此过程的生存期内,“提交费用”的峰值(以字节为单位)。

1.2 获取当前进程所占用内存

可使用下述代码获取当前进程所占用的内存:

#include <iostream>
#include <iomanip>

#include <windows.h>
#include <psapi.h>
#pragma comment(lib,"psapi.lib")

void ShowProcessMemoryUsageInfo()
{
    HANDLE handle = GetCurrentProcess();
    PROCESS_MEMORY_COUNTERS pmc;
    GetProcessMemoryInfo(handle, &pmc, sizeof(pmc));
    float memoryUsage_M = pmc.WorkingSetSize / (1024.0 *1024.0);
    float memoryUsage_K = pmc.WorkingSetSize / 1024.0 ;

    std::cout << std::fixed << std::setprecision(2) << "内存使用:" << memoryUsage_K<<"K " << memoryUsage_M << "M" << std::endl;
}


相关推荐

wINdOwS apI数据类型的命名规律 与常wINdOwS 数据类型

WindowsAPI数据类型的命名规律基本数据来袭包括:BYTE 字节CHAR 字符WORD 单字SHORT 短整型INT 整型指针的类型命名方式一般都在对象名前面加 LP 或者 P /*字

c++ charwchar_t的区别 wINdOwSapI函数后面带aw的区别

C++基本数据类型中表示字符的有两种: char、wchar_t。char叫多字节字符,一个char占1个字节,之所以叫多字节字符是因为它表示一个英文字符时是一个字节,而中文字符时是多个字节。wcha

输入法管理器(Imm)函数大全(wINdOwS ce 5.0)

imm好像要被弃用了 还是研究 TSF输入法 吧 ,虽然没啥鸟用了 但是还是搬运一下下吧EnumRegisterWordProc此函数是与一起使用的应用程序定义的回调函数ImmEnumRegister

c++ wINdOwS用程 入口函数wINmaIN详解

入口函数WinMain详解类似于C程序的main函数,Win32应用程序也有一个入口函数WinMain,该函数被系统自动调用函数原型:int WINAPI WinMain( HINSTANCE hI

wINdOwS消息的分类与介绍

Windows消息分为三大类标准消息:所有WM_开头的消息 WM_COMMAND除外命令消息:来自菜单,工具条按钮或者加速键(快捷键)的消息,以WM_COMMAND呈现通告消息:由控件产生的消息 例如

wINdOwS资源文件.rc文件

Windows应用程序中,图标、菜单、位图、工具条、对话框等是以资源的形式存在的。在win32编程中,为方便项目中的资源统一管理,提供了一个格式统一的资源文件,对各种资源进行管理。资源文件的扩展名是.

wINdOwS控件之 富文本编辑器控件

富文本编辑控件不仅能输入,编辑,打印和保存文本,还可以设置文本、段落格式等,并可包含嵌入式组件对象模型(COM)对象。富文本编辑控件支持几乎所有用于多行编辑控件的消息和通知代码,因此已使用编辑控件的应

wINdOwS 无法安装到这个磁盘 wINdOwS需要设备 标准Nvm expreSS 控制器的驱动 请单击加载驱动 然后加载所需要的驱动

windows 无法安装到这个磁盘 windows需要设备 标准nvm express 控制器的驱动 请单击加载驱动程序 然后加载所需要的驱动程序

vmware12虚拟机安装wINdOwS Server 2003系统教图解

wINdOwS F1到F10分别是什么的快捷键 奇淫技巧快捷键

F1:帮助功能。在windows系统中,在程序中或者资源管理器中按下F1,一般都会出现帮助界面,还有一个小技巧,假如正在对某个程序进行操作,需要查看系统帮助,可以同时按win加F1。F2:重命名功能。