WinXP 'System Cache'

Jexx

Member
Mar 20, 2005
27
0
0
Ok, seen a lot of posts on the internet about things like this but none that answer my question. Most of the posts seem to be centered around the system cache settings like the ones in the advaced tab near the page file settings. The one I'm looking at is the one in Task Manager, so before posting please take a look.

My question is anybody got and understanding of what exactly this is and what effects it has. I have a system with 1GB of memory and I am constantly seeing sizes of over 500mb, sometimes almost 700mb. Without knowing exactly what it is I am unsure as to the effect it has on my system.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
It's where the system caches things for faster access, mainly filesystem data. A high system cache value means a lot of data from your hard drive is being cached in memory which means your hard disk is doing less work, which means there's less latency for accessing the data.

 

Bozo

Senior member
Oct 22, 1999
702
0
76
Windows 2000 allocates a portion of the virtual memory in your system to the file system cache. The file system cache is a subset of the memory system that retains recently used information for quick access. The size of the cache depends on the amount of physical memory installed and the memory required for applications. The operating system dynamically adjusts the size of the cache as needed, sharing memory optimally between process working sets and the system cache.

From here http://www.microsoft.com/resources/docu...er/reskit/en-us/core/fnec_evl_ACKS.asp

Bozo
 

Jexx

Member
Mar 20, 2005
27
0
0
Sorry but I'm not convinced, if it applies to Disk caching then it would be a total waste of time. as on my system I get :

Total 1047992
Available 729176
System Cache 763312

Which would mean that the disk cache is being paged out to the swap file, which would make no sence at all.

And I appologise for not saying but this is on WinXP Pro SP2
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
It's not paged out to the pagefile, it's marked available because it can be reused without much effort. Any data that's in the system cache and 'clean' can be discarded because if needed it will just be paged back in from it's place on disk.
 

Jexx

Member
Mar 20, 2005
27
0
0
Ah now I see, make more sence, the only other question is I have 248MB of swap file in use according to the same screen, why so much dumped to disk (espcially when you consider that adding the PF Usage to the System Cache gives you the total memory) ?
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
PF Usage doesn't mean pagefile usage, oddly. It counts reservations as well as real usage, so the numbers are usually extremely exxagerated.

If you're really interested, get a copy of Inside Windows. It supposedly explains how all of the internal subsystems of Windows work.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,204
126
Originally posted by: Nothinman
PF Usage doesn't mean pagefile usage, oddly. It counts reservations as well as real usage, so the numbers are usually extremely exxagerated.
Are you saying that uncommitted VM allocations are accounted for as "PF Usage" still? That doesn't make a lot of sense, but then again, this is MS we're talking about.

Are you sure that it isn't actual committed VM pages, but possibly the overall value is slightly exaggerated, as it might not make adjustments to the accounted value based on per-process overlap, for shared mappings with the same physical backing-store for those pages?

Either way, the number wouldn't be exact, but the reasoning behind that would be a little different.
 

kylef

Golden Member
Jan 25, 2000
1,430
0
0
If you'll notice: in XP's Task Manager, the "PF Usage" is the same as "Commit Charge - Total." The only difference is that "PF Ussage" is reported in MB, "Commit Charge" in KB.

So the root of the problem here is that you're being misled by an unfortunate name choice, which was a poor compromise.

Prior to XP, Task Manager labeled this bar graph "Mem Usage." This name was most likely picked because "Commit Charge" is an arcane, unfamiliar term for most people. Unfortunately, because it underreports true VM usage in most cases (it does not tally shared pages, read-only mapped files, etc.), it was too misleading to call it "Mem Usage". So the name was changed to "PF Usage" in XP, which is only slightly more accurate. The only problem now is that Commit Charge does NOT report the current page file usage, as you might expect.

Remember, think of "commit charge" as the total amount of data that would need to be written to the Paging file if all processes were swapped out of memory. This includes all private VM used by apps as well as drivers and the pageable heap in the kernel.

Originally posted by: VirtualLarry
Are you saying that uncommitted VM allocations are accounted for as "PF Usage" still? That doesn't make a lot of sense, but then again, this is MS we're talking about.
No. Only committed pages count.

Are you sure that it isn't actual committed VM pages, but possibly the overall value is slightly exaggerated, as it might not make adjustments to the accounted value based on per-process overlap, for shared mappings with the same physical backing-store for those pages?

Shared pages are not counted. Neither are executable images or other read-only mapped files.
 

kylef

Golden Member
Jan 25, 2000
1,430
0
0
Originally posted by: Nothinman
No. Only committed pages count.

Do you mean committed to memory or commited to the pagefile?

Committed to memory. As in, the app calls the C malloc function or the C++ new operator. Or, if handling memory itself using the Win32 heap methods, perhaps it calls VirtualAlloc( NULL, size, MEM_COMMIT, PAGE_READWRITE).

Since malloc() and new are written using VirtualAlloc(), it's all basically the same thing.

The Commit Charge tally is incremented whenever virtual memory in an app or the kernel is "committed" to physical resources. Some of the pages in the Commit Charge may be in RAM, and some may be in the pagefile.
 

kylef

Golden Member
Jan 25, 2000
1,430
0
0
Originally posted by: Nothinman
Committed to memory

That's what I thought. Because I believe VirtualLarry meant commited to the pagefile

Well, the term "commit" in Windows has always meant "commit to physical storage."

That could mean to RAM or to Disk, depending on the current state of the Memory Manager.

It's important to use precise terminology when discussing Virtual Memory: it's a complicated enough subject already without semantics getting in the way.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
It's important to use precise terminology when discussing Virtual Memory: it's a complicated enough subject already without semantics getting in the way.

No doubt. You mean like the many mislabled tools that come with Windows? =)
 

kylef

Golden Member
Jan 25, 2000
1,430
0
0
Originally posted by: Nothinman
It's important to use precise terminology when discussing Virtual Memory: it's a complicated enough subject already without semantics getting in the way.

No doubt. You mean like the many mislabled tools that come with Windows? =)

Point taken. That's why I cruise these forums looking for confused souls.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
I also don't see why the lable on taskmgr was changed from Commit Charge to PF Usage. Even if it's slightly, technically more accurate all it does is make people think their pagefile is being overused and try to figure out a way to tweak it so that number is smaller. Mem Usage would have been a better label IMO because even though it's larger than the what's really in use, it tells the user that it's talking about physical memory usage and not pagefile usage, so that we could avoid all of the "OMG I have 12G memory and Windows is using 4G of my pagefile, why does windows suck so bad?!?!?!?!" posts.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,204
126
Originally posted by: Nothinman
Committed to memory

That's what I thought. Because I believe VirtualLarry meant commited to the pagefile

Traditionally, in VM systems, "committed" simply means that actual resources are allocated and mapped into VM space. Whether those resources are currently residing in RAM or the pagefile is mostly irrelevant. The opposite of commited pages, would be process-level VM address-space allocations (which would cause PTE allocations by the system on behalf of that process, behind the scenes), which need not necessarily be mapped to anything. They could eventually be used to map a file (using already-allocated resources in terms of the system file cache), or a hardware address range (thus not allocating any physical system RAM or pagefile space), etc. (Or even an entire other process running in the system, given sufficient access-rights.)

It sounded like you were suggesting that the "PF Usage" accounting, was including uncommited VM address allocations, which didn't make a lot of sense to me. My question was more pointed at, if it was a count of committed VM, then how were shared page mappings accounted for? Because those could make the displayed number inaccurate as well.
 

kylef

Golden Member
Jan 25, 2000
1,430
0
0
Originally posted by: Nothinman
...so that we could avoid all of the "OMG I have 12G memory and Windows is using 4G of my pagefile, why does windows suck so bad?!?!?!?!" posts.



I'll pass along the feedback, but I've got the (unsubstantiated) feeling that Task Manager is probably not on the list of features getting an overhaul in LH.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
I'll pass along the feedback, but I've got the (unsubstantiated) feeling that Task Manager is probably not on the list of features getting an overhaul in LH.

If it won't be fixed until LH then it's irrelevant anyway, that'll leave us with another ~5 years of crying based on the XP label and it'll be ingrained into another generation's mind that Pagefile = VM and Windows sucks at memory usage because it uses a ton of pagefile no matter how much memory you have.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |