Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

When running "echo ::memstat | mdb -k" I get this result:

Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                    2349789              9178   14%
ZFS File Data             4251652             16608   25%
Anon                      8101424             31646   48%
Exec and libs               51583               201    0%
Page cache                1018684              3979    6%
Free (cachelist)             5049                19    0%
Free (freelist)            992659              3877    6%

Total                    16770840             65511
Physical                 16323297             63762

Everything I read online says that the the file system caching layer (ARC) in ZFS is "ZFS File Data". What does "Page cache" stand for? Why is it so large then?

I'm sorry if this is a basic question, but no google search I tried turned up any reasonable results.

share|improve this question

3 Answers 3

up vote 4 down vote accepted

Even when installed with a ZFS root disk, Solaris systems still make use of other filesystems that are not ZFS. For instance, tmpfs will use the VM page cache.

share|improve this answer
    
How about NFS - will it also be cached in this "Page Cache"? –  shlomoid May 26 '11 at 11:24
    
Yes. AFAIK, there is no special cache area for data so it must use the page cache offered by the virtual memory subsystem. –  gtirloni May 26 '11 at 18:44
    
That must explain it, since we're using NFS shares for home directories. Thanks! –  shlomoid May 31 '11 at 9:48
    
This is actually not 100% accurate - mmap for files in ZFS still uses the page cache, and will thus result in double buffering (ARC + page cache). –  Iwan Aucamp Sep 20 '13 at 10:50

The Page cache is the file system cache for non ZFS file systems. It's size will be as big as the system thinks it needs to be.

share|improve this answer

The page cache is for non ZFS file system (i.e. for example UFS) caching. I suspect you are not 100% ZFS.

share|improve this answer
    
It's strange, since this is Solaris 11, and the default for everything is ZFS. How can I tell / find what is non-ZFS? –  shlomoid May 17 '11 at 11:35
    
@shlomoid: Your question says it's Solaris 10 ? –  Iain May 17 '11 at 13:57
    
Solaris 11 is not out yet So I guess you mean Solaris 11 Express. I just had a look at the OpenSolaris source code cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/mdb/… and it seems the Page Cache metric is simply counting pages not identified as anything else (kind of "none of the above") so these pages might contain non file cache data after all ... What says df -k ? –  jlliagre May 17 '11 at 15:27
    
Yes, I mean Solaris 11 Express. df -k just lists the mounts and the free space - it doesn't say anything about what filesystem is mounted. What should I be looking for there? –  shlomoid May 18 '11 at 8:15
    
df -k list mounts and you'll very likely find some of them non ZFS based but still likely to use page cache. To know what file system type is used, I should have suggested mount -p. –  jlliagre May 18 '11 at 8:35

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.