如何从 Windows 命令行获取 32 位应用程序和 64 位应用程序使用的内存总量。
我尝试使用tasklist /FI "MODULES eq wow64.dll" /FO CSV
,然后解析输出并求和。但是,tasklist
任何与模块有关的命令都会冻结(tasklist /m
并tasklist /fi "modules eq wow64.dll"
冻结)。
还有其他选择吗?或者知道为什么tasklist
会冻结。
答案1
您没有提到 Windows 的版本。您使用的是支持 64 位的 Tasklist 版本吗?
此外,您的标题要求程序的内存使用情况,但您的示例要求模块的使用情况 - 哪个对您来说更重要?
提供模块信息的其他工具:
Sysinternals 中的 Listdlls.exe:Listdlls.exe -d wow64.dll 您可以采用与 Tasklist.exe 示例非常相似的方式获取模块总数。
本机工具:Tlist.exe 与 tasklist 示例不太相似,因为您一次只能获取一个 pid。将 pid 导入循环并使用 find.exe 获取您选择的 DLL。
sysinternals pslist -m 中的 Pslist.exe 提供了使用的工作内存和虚拟内存。但没有提供 DLL 的信息。
我刚注意到这篇文章是一年前发布的——希望你能找到答案……