Tomas Ögren writes: > On 13 November, 2006 - Sanjeev Bagewadi sent me these 7,1K bytes: > > > Tomas, > > > > comments inline... > > > > > > >>arc::print struct arc > > >> > > >> > > >{ > > > anon = ARC_anon > > > mru = ARC_mru > > > mru_ghost = ARC_mru_ghost > > > mfu = ARC_mfu > > > mfu_ghost = ARC_mfu_ghost > > > size = 0x6f7a400 > > > p = 0x5d9bd5a > > > c = 0x5f6375a > > > c_min = 0x4000000 > > > c_max = 0x2e82a000 > > > hits = 0x40e0a15 > > > misses = 0x1cec4a4 > > > deleted = 0x1b0ba0d > > > skipped = 0x24ea64e13 > > > hash_elements = 0x179d > > > hash_elements_max = 0x60bb > > > hash_collisions = 0x8dca3a > > > hash_chains = 0x391 > > > hash_chain_max = 0x8 > > > no_grow = 0x1 > > >} > > > > > >So, about 100MB and a memory crunch.. > > > > > > > > Interesting ! So, it is not the ARC which is consuming too much memory.... > > It is some other piece (not sure if it belongs to ZFS) which is causing > > the crunch... > > > > Or the other possibility is that ARC ate up too much and caused a near > > crunch situation > > and the kmem hit back and caused ARC to free up it's buffers (hence the > > no_grow flag enabled). > > So, it (ARC) could be osscillating between large caching and then > > purging the caches. > > > > You might want to keep track of these values (ARC size and no_grow flag) > > and see how they > > change over a period of time. This would help us understand the pattern. > > I would guess it grows after boot until it hits some max and then stays > there.. but I can check it out.. > > > And if we know it ARC which is causing the crunch we could manually > > change the values of > > c_max to a comfortable value and that would limit the size of ARC. > > But in the ZFS world, DNLC is part of the ARC, right? > My original question was how to get rid of "data cache", but keep > "metadata cache" (such as DNLC)... > > > However, I would suggest > > that you try it out on a non-production machine first. > > > > By, default the c_max is set to 75% of physmem and that is the hard > > limit. "c" is the soft limit and > > ARC would try and grow upto 'c". The value of "c" is adjusted when there > > is a need to cache more > > but, it will never exceed "c_max". > > > > Regarding the huge number of reads, I am sure you have already tried > > disabling the VDEV prefetch. > > If not, it is worth a try. > > That was part of my original question, how? :) > > /Tomas > -- > Tomas Ögren, [EMAIL PROTECTED], http://www.acc.umu.se/~stric/ > |- Student at Computing Science, University of Umeå > `- Sysadmin at {cs,acc}.umu.se > _______________________________________________ > zfs-discuss mailing list > zfs-discuss@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
Under memory pressure the arc will shrink and it will also shrink the dnlc by 3%. arc_reduce_dnlc_percent = 3 You could try to tune that number. -r _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss