- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我试图使用下面提到的 API 计算 Windows 计算机中特定进程的内存利用率。
GetProcessMemoryInfo(hProcess, &info, sizeof(info));当我检查 info.WorkingSetSize 的值时,它恰好是 14757395258967641292。
所以我想明确返回的值是否以字节为单位(对于肉眼来说这不能是字节格式)?如果不是如何将其转换为字节或千字节。
void PrintProcessNameAndID( DWORD 进程ID )
{
TCHAR szProcessName[MAX_PATH] = TEXT("<unknown>");
PROCESS_MEMORY_COUNTERS info, info1, info2;
SIZE_T MemoryUsage;
SIZE_T one,two,three, four;
// Get a handle to the process.
HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,
FALSE, processID );
// Get the process name.
if (NULL != hProcess )
{
HMODULE hMod;
DWORD cbNeeded;
if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod),
&cbNeeded) )
{
GetModuleBaseName( hProcess, hMod, szProcessName,
sizeof(szProcessName)/sizeof(TCHAR) );
}
}
// Print the process name and identifier.
//_tprintf( TEXT("%s (PID: %u)"), szProcessName, processID );
GetProcessMemoryInfo(hProcess, &info, sizeof(info));
MemoryUsage = (info.WorkingSetSize);
}
最佳答案
某些 Windows 进程需要的值小于 PROCESS_QUERY_INFORMATION
(例如 PROCESS_QUERY_LIMITED_INFORMATION
)。
结果是 OpenProcess 可能返回 NULL。
这是在您的测试中处理的,但是,您始终调用GetProcessMemoryInfo
。
结果将是调用失败。 info
内存未初始化,导致一些随机值 (0xccccccccccccd000)。
关于c - 使用 GetProcessMemoryInfo 查找内存利用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34433973/
我在 C++ 中使用 psapi.h 编写用于查找当前进程的虚拟内存的代码我的代码如下 #include "windows.h" #include "psapi.h" PROCESS_MEMORY_C
在我的应用程序中,我试图使用下面提到的 API 计算 Windows 计算机中特定进程的内存利用率。 GetProcessMemoryInfo(hProcess, &info, sizeof(info
我正在尝试了解有关内存使用情况的详细信息,以及如何使用 C++ 对其进行测量。我知道在 Windows 下,当包含 时,有一种快速检索当前应用程序进程使用的 RAM 量的方法。 , 是: PROCE
我正在尝试在 Windows 7 32 位的 C++ 应用程序中使用 psapi.h 的函数 GetProcessMemoryInfo。 我按照一些教程做了一些类似的事情: PPROCESS_MEMO
我的 Delphi XE 应用程序基于单个 EXE,使用由 RemObjects 创建的本地服务器 DLL,并使用大量内存进行特定操作,直到生成一个异常,指出内存不足。因此,我试图了解发生这种情况的原
我正在尝试使用 C++ 获取系统中运行的进程列表。我使用 Windows API 中可用的函数(如 OpenProcess 和 CreateToolhelp32Snapshot )来完成它。 问题是该
我有这个问题,无法在这个测试代码上得到解决。 无效参数候选人是: ? GetProcessMemoryInfo(?, _PROCESS_MEMORY_COUNTERS *, ?) How to det
我正在使用 GetProcessMemoryInfo 函数通过其 PID 确定进程内存使用情况。 使用常规 PROCESS_MEMORY_COUNTERS 一切正常,但我需要 PrivateUsage
我正在尝试使用 C 语言在 Windows 上计算当前进程的主内存使用情况: Windows .hpsapi.h PROCESS_MEMORY_COUNTERS_EX pmc; GetProcessM
我是一名优秀的程序员,十分优秀!