Re:Do Not Use Task Manager for Memory Info
by saagarjha on Sunday January 06, 2019 @02:55PM
(#18840210)
This article seems to have a high-level overview of how virtual memory works, without mentioning it at all…I find the terminology use rather strange too. Saying that the virtual address space as is “reserved by the OS for each process” was a bit confusing to to me.
[ Parent
| on HN ]
Re:Do Not Use Task Manager for Memory Info
by MarkSweep on Sunday January 06, 2019 @06:20PM
(#18841403)
The article confuses address space and memory reservations as you note. It again makes the confusion when it suggests the virtual size column in Process Explorer is a reflection of the address space[1]. It also suggests that working set, private bytes, and committed memory are the same thing[2]. The article does not even live up to its click-baity title: Task Manager's default memory column of "private working set" is a decent measure of how much memory a process is uniquely using and task manager has the ability to add all the other measures of memory usage that the article mentions.
For a better explanation of virtual memory in Windows, I recommend Mark Russinovich's article[3]. His tool VMMap[4] is useful for visualizing the memory usage of an individual process.
[1]: The reserved memory is really large for 64-bit processes that use Control Flow Gaurd: http://www.alex-ionescu.com/?p=246
[2]: Task Manager and Process Explorer add to the confusion by calling the same memory different things (Process Explorer's "private bytes" number is the same as Task Manager's "commit size" number on Windows 10 1809).
[3]: https://blogs.technet.microsoft.com/markrussinovich/2008/11/...
[4]: https://docs.microsoft.com/en-us/sysinternals/downloads/vmma...