A couple more questions here. [mpstat]
> CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl > 0 0 0 3109 3616 316 196 5 17 48 45 245 0 85 0 15 > 1 0 0 3127 3797 592 217 4 17 63 46 176 0 84 0 15 > CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl > 0 0 0 3051 3529 277 201 2 14 25 48 216 0 83 0 17 > 1 0 0 3065 3739 606 195 2 14 37 47 153 0 82 0 17 > CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl > 0 0 0 3011 3538 316 242 3 26 16 52 202 0 81 0 19 > 1 0 0 3019 3698 578 269 4 25 23 56 309 0 83 0 17 > > # lockstat -kIW -D 20 sleep 30 > > Profiling interrupt: 6080 events in 31.341 seconds (194 events/sec) > > Count indv cuml rcnt nsec Hottest CPU+PIL Caller > ------------------------------------------------------------------------------- > 2068 34% 34% 0.00 1767 cpu[0] deflate_slow > 1506 25% 59% 0.00 1721 cpu[1] longest_match > 1017 17% 76% 0.00 1833 cpu[1] mach_cpu_idle > 454 7% 83% 0.00 1539 cpu[0] fill_window > 215 4% 87% 0.00 1788 cpu[1] pqdownheap <snip> What do you have zfs compresison set to? The gzip level is tunable, according to zfs set, anyway: PROPERTY EDIT INHERIT VALUES compression YES YES on | off | lzjb | gzip | gzip-[1-9] You still have idle time in this lockstat (and mpstat). What do you get for a lockstat -A -D 20 sleep 30? Do you see anyone with long lock hold times, long sleeps, or excessive spinning? The largest numbers from mpstat are for interrupts and cross calls. What does intrstat(1M) show? Have you run dtrace to determine the most frequent cross-callers? #!/usr/sbin/dtrace -s sysinfo:::xcalls { @a[stack(30)] = count(); } END { trunc(@a, 30); } is an easy way to do this. -j _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss