任务列表与任务管理器内存
Posted
技术标签:
【中文标题】任务列表与任务管理器内存【英文标题】:tasklist vs. task manager memory 【发布时间】:2015-07-02 21:34:17 【问题描述】:您好,提前致谢。
任务列表中的内存(您在 cmd 中运行)和那个 GUI 任务管理器有什么区别。我注意到浏览器进程的内存大大减少了。哪个更准确的进程的内存。
【问题讨论】:
【参考方案1】:任务管理器有很多内存计数器,请参阅查看菜单 - 选择列。
显示的标准是私有工作集。这是 a/ 私有的 - 因此只有特定于该程序的内存中的字节(因此不计算 shell32 通用代码)和 b/ 工作集 - 映射并存在于该进程地址空间中的内存量。
即使地址空间中不存在的内存也可能在物理内存中,如备用列表或文件缓存中或被另一个程序使用。它只需要轻弹一下即可使其可用于该过程。运行两个记事本副本,记事本现在在文件缓存中(并且很小)两个进程。但是代码只在内存中一次而不是三次。
如果你想制作自己的任务列表。
Set objWMIService = GetObject("winmgmts:impersonationLevel=impersonate!\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_Process")
For Each objItem in colItems
' If objitem.Name = "mspaint.exe" Then
wscript.echo objitem.name & " PID=" & objItem.ProcessID & " SessionID=" & objitem.sessionid
' objitem.terminate
' End If
Next
以 ' 开头的行被注释掉。
在命令提示符下使用
cscript //nologo c:\path\script.vbs
这些是属性
Property Type Operation
======== ==== =========
CSName N/A N/A
CommandLine N/A N/A
Description N/A N/A
ExecutablePath N/A N/A
ExecutionState N/A N/A
Handle N/A N/A
HandleCount N/A N/A
InstallDate N/A N/A
KernelModeTime N/A N/A
MaximumWorkingSetSize N/A N/A
MinimumWorkingSetSize N/A N/A
Name N/A N/A
OSName N/A N/A
OtherOperationCount N/A N/A
OtherTransferCount N/A N/A
PageFaults N/A N/A
PageFileUsage N/A N/A
ParentProcessId N/A N/A
PeakPageFileUsage N/A N/A
PeakVirtualSize N/A N/A
PeakWorkingSetSize N/A N/A
Priority N/A N/A
PrivatePageCount N/A N/A
ProcessId N/A N/A
QuotaNonPagedPoolUsage N/A N/A
QuotaPagedPoolUsage N/A N/A
QuotaPeakNonPagedPoolUsage N/A N/A
QuotaPeakPagedPoolUsage N/A N/A
ReadOperationCount N/A N/A
ReadTransferCount N/A N/A
SessionId N/A N/A
Status N/A N/A
TerminationDate N/A N/A
ThreadCount N/A N/A
UserModeTime N/A N/A
VirtualSize N/A N/A
WindowsVersion N/A N/A
WorkingSetSize N/A N/A
WriteOperationCount N/A N/A
WriteTransferCount N/A N/A
还有方法
Call [ In/Out ]Params&type Status
==== ===================== ======
AttachDebugger (null)
Create [IN ]CommandLine(STRING) (null)
[IN ]CurrentDirectory(STRING)
[IN ]ProcessStartupInformation(OBJECT)
[OUT]ProcessId(UINT32)
GetOwner [OUT]Domain(STRING) (null)
[OUT]User(STRING)
GetOwnerSid [OUT]Sid(STRING) (null)
SetPriority [IN ]Priority(SINT32) (null)
Terminate [IN ]Reason(UINT32) (null)
与此相同
wmic process where name='notepad.exe' get /format:list
进一步阅读
https://msdn.microsoft.com/en-us/library/ms810627.aspx
https://www.labri.fr/perso/betrema/winnt/ntvmm.html(这不再出现在 MSDN 上)
【讨论】:
以上是关于任务列表与任务管理器内存的主要内容,如果未能解决你的问题,请参考以下文章