Can you please let me know how to find which applications are using the Page File and how much PF is allocated to each application?
Regards,
Manoj
Hi Manoj,
There's no easy way to tell how much of a process has actually been paged out to the pagefile (i.e. actually stored in the pagefile thus using it).I am not aware of a tool that reports this information per process.
What is easily available are two PerfMon counters per process called: "Page File Bytes" and "Page File Bytes Peak". The former is also available as "Commit Size" column in task manager. These values represent the amount of memory the process has committed, which is charged against a global commit limit. The commit limit is physical memory size + pagefile size. So as the process commits memory, commit space is reserved for that process out of the total commit limit, which can come from the pagefile or physical memory.
The committed number can be very misleading because a process can commit a lot of memory but not actually touch any of it, in which case he's not consuming any physical memory or pagefile space. So we don't recommend using this metric for performance analysis. They are usually useful to find processes that leak memory, or if the system actually starts to run out of commit (in which case one can simply increase the pagefile size, but not necessarily hurt perf since those pages may never be accessed) to see who's consuming it.
As far as performance analysis goes, amount of paging taking place per process is the interesting metric to look at, since disk then becomes the bottleneck andone would want to reduce that bottleneck. You can see what processes are accessing the page file by opening the Hard Faults summary table in xperf. That would be a pretty decent approximation as to which processes are paging the most.
Note that looking at which processes are hard faulting from pagefile.sys would tell you which processes had at least something paged out. You won't know how much more may be paged out since it may simply not be hard faulted during the trace b/c the process didn't access those pages. Also, obviously a process may have stuff paged out but happen to be idle during the trace so nothing at all will show up in the HF summary table. But then if its paged out all he time, it's not really a performance issue J You should analyze key scenarios of your system under various conditions and observe how much paging takes place and try to reduce that. Keep in mind that this recommendation doesnt really apply under severe memory pressure there entire process content might be paged out just to make room for another process touching its content. But thats not a typical scenario.
Hope this helps,
Michael
- Proposed as answer by Michael MilirudOwner Wednesday, January 28, 2009 10:52 PM
Not sure if this is still looked at, but if you go into task manager, click view -> select columns. There is a choice to add "Paged Pool". Once added, you can sort on Paged Pool and this should show you the applications that are being paged.
Derek
- Proposed as answer by Derek Stanley Thursday, December 19, 2013 3:59 PM
Nope, the paged pool is something unrelated to PF usage by apps.
Nope, the paged pool is something unrelated to PF usage by apps.
Thanks Pavel, but this is why I made my previous statement.:
"The amount of system-allocated virtual memory, in kilobytes, used by a process. The paged pool is virtual memory available to be paged to disk. Paging is the moving of infrequently used parts of a program's working memory from RAM to another storage medium, usually the hard disk. The paged pool includes all of user memory and a portion of system memory."
http://technet.microsoft.com/en-us/library/cc938567.aspx
Can you please explain how this is unrelated to PF used by apps? I could be misinterpreting something on this, but I have seen how an application shows high paged pool numbers that correlate with high page file usage. After restarting the application, the
paged pool was nearly 0 and the page file usage was almost 0 as well.
Can you please explain how this is unrelated to PF used by apps?
The Paged pool is for kernel use. Apps do not use it directly.
-- pa