On Apr 1, 2010, at 9:41 PM, Abdullah Al-Dahlawi wrote: > Hi all > > I ran a workload that reads & writes within 10 files each file is 256M, ie, > (10 * 256M = 2.5GB total Dataset Size). > > I have set the ARC max size to 1 GB on etc/system file > > In the worse case, let us assume that the whole dataset is hot, meaning my > workingset size= 2.5GB > > My SSD flash size = 8GB and being used for L2ARC > > No slog is used in the pool > > My File system record size = 8K , meaning 2.5% of 8GB is used for L2ARC > Directory in ARC. which ultimately mean that available ARC is 1024M - 204.8M > = 819.2M Available ARC (Am I Right ?)
this is worst case > Now the Question ... > > After running the workload for 75 minutes, I have noticed that L2ARC device > has grown to 6 GB !!!!!!! ???? You're not interpreting the values properly, see below. > What is in L2ARC beyond my 2.5GB Workingset ?? something else is has been > added to L2ARC !!!! ZFS is COW, so modified data is written to disk and the L2ARC. > Here is a 5 minute interval of Zpool iostat [snip] > Also, a FULL Kstat ZFS for 5 minutes Interval [snip] > module: zfs instance: 0 > name: arcstats class: misc > c 1073741824 > c_max 1073741824 Max ARC size is limited to 1GB > c_min 134217728 > crtime 28.083178473 > data_size 955407360 > deleted 966956 > demand_data_hits 843880 > demand_data_misses 452182 > demand_metadata_hits 68572 > demand_metadata_misses 5737 > evict_skip 82548 > hash_chain_max 18 > hash_chains 61732 > hash_collisions 1444874 > hash_elements 329553 > hash_elements_max 329561 > hdr_size 46553328 > hits 978241 > l2_abort_lowmem 0 > l2_cksum_bad 0 > l2_evict_lock_retry 0 > l2_evict_reading 0 > l2_feeds 4738 > l2_free_on_write 184 > l2_hdr_size 17024784 size of L2ARC headers is approximately 17MB > l2_hits 252839 > l2_io_error 0 > l2_misses 203767 > l2_read_bytes 2071482368 > l2_rw_clash 13 > l2_size 2632226304 currently, there is approximately 2.5GB in the L2ARC > l2_write_bytes 6486009344 total amount of data written to L2ARC since boot is 6+ GB > l2_writes_done 4127 > l2_writes_error 0 > l2_writes_hdr_miss 21 > l2_writes_sent 4127 > memory_throttle_count 0 > mfu_ghost_hits 120524 > mfu_hits 500516 > misses 468227 > mru_ghost_hits 61398 > mru_hits 412112 > mutex_miss 511 > other_size 56325712 > p 775528448 > prefetch_data_hits 50804 > prefetch_data_misses 7819 > prefetch_metadata_hits 14985 > prefetch_metadata_misses 2489 > recycle_miss 13096 > size 1073830768 ARC size is 1GB The best way to understand these in detail is to look at the source which is nicely commented. L2ARC design is commented near http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/arc.c#3590 -- richard ZFS storage and performance consulting at http://www.RichardElling.com ZFS training on deduplication, NexentaStor, and NAS performance Las Vegas, April 29-30, 2010 http://nexenta-vegas.eventbrite.com _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss