Am 12.01.11 16:32, schrieb Jeff Savit:> Stephan,
>
> There are a bunch of tools you can use, mostly provided with Solaris
> 11 Express, plus arcstat, arc_summary that are available as
> downloads. The latter tools will tell you the size and state of ARC,
> which may be specific to your issues since you cite memory. For the
> list, could you describe the ZFS pool configuration (zpool status),
> and summarize output from vmstat, iostat, and zpool iostat? Also, it
> might be helpful to issue ''prstat -s rss'' to see if any
process is
> growing its resident memory size. An excellet source of information
> is the "ZFS evil tuning guide" (just Google those words), which
has a
> wealth of information.
>
> I hope that helps (for a start at least)
> Jeff
>
>
>
> On 01/12/11 08:21 AM, Stephan Budach wrote:
>> Hi all,
>>
>> I have exchanged my Dell R610 in favor of a Sun Fire 4170 M2 which
>> has 32 GB RAM installed. I am running Sol11Expr on this host and I
>> use it to primarily serve Netatalk AFP shares. From day one, I have
>> noticed that the amount of free RAM decereased and along with that
>> decrease the overall performance of ZFS decreased as well.
>>
>> Now, since I am still quite a Solaris newbie, I seem to cannot track
>> where the heck all the memory has gone and why ZFS performs so poorly
>> after an uptime of only 5 days.
>> I can reboot Solaris, which I did for testing, and that would bring
>> back the performance to reasonable levels, but otherwiese I am quite
>> at my witts end.
>> To give some numbers: the ZFS performance decreases down to 1/10th of
>> the initial throughput, either read or write.
>>
>> Anybody having some tips up their sleeves, where I should start
>> looking for the missing memory?
>>
>> Cheers,
>> budy
>
Sure - here we go. First of all, the zpool configuration:
zpool status -v
pool: obelixData
state: ONLINE
status: The pool is formatted using an older on-disk format. The pool can
still be used, but some features are unavailable.
action: Upgrade the pool using ''zpool upgrade''. Once this is
done, the
pool will no longer be accessible on older software versions.
scan: scrub repaired 0 in 15h29m with 0 errors on Mon Nov 15 21:42:52 2010
config:
NAME STATE READ WRITE CKSUM
obelixData ONLINE 0 0 0
c9t210000D023038FA8d0 ONLINE 0 0 0
c9t210000D02305FF42d0 ONLINE 0 0 0
errors: No known data errors
This pool consists of two FC LUNS which are exported from two FC RAIDs
(no comments on that one, please I am still working on the transision to
another zpool config! ;) )
Next up are arcstat.pl and arc_summary.pl:
perl /usr/local/de.jvm.scripts/arcstat.pl
time read miss miss% dmis dm% pmis pm% mmis mm% arcsz c
17:13:33 0 0 0 0 0 0 0 0 0 15G 16G
17:13:34 71 0 0 0 0 0 0 0 0 15G 16G
17:13:35 3 0 0 0 0 0 0 0 0 15G 16G
17:13:36 30K 0 0 0 0 0 0 0 0 15G 16G
17:13:37 13K 0 0 0 0 0 0 0 0 15G 16G
17:13:38 72 0 0 0 0 0 0 0 0 15G 16G
17:13:39 12 0 0 0 0 0 0 0 0 15G 16G
17:13:40 45 0 0 0 0 0 0 0 0 15G 16G
17:13:41 57 0 0 0 0 0 0 0 0 15G 16G
<State Changed>
17:13:42 1.3K 8 0 8 0 0 0 6 0 15G 16G
17:13:43 45 0 0 0 0 0 0 0 0 15G 16G
17:13:44 1.5K 15 1 13 0 2 50 4 0 15G 16G
17:13:45 122 0 0 0 0 0 0 0 0 15G 16G
17:13:46 74 0 0 0 0 0 0 0 0 15G 16G
17:13:47 88 0 0 0 0 0 0 0 0 15G 16G
17:13:48 19K 67 0 25 0 42 4 24 0 16G 16G
17:13:49 24K 31 0 0 0 31 9 0 0 15G 16G
17:13:50 41 0 0 0 0 0 0 0 0 15G 16G
perl /usr/local/de.jvm.scripts/arc_summary.pl
System Memory:
Physical RAM: 32751 MB
Free Memory : 5615 MB
LotsFree: 511 MB
ZFS Tunables (/etc/system):
set zfs:zfs_arc_max = 17179869184
ARC Size:
Current Size: 16383 MB (arcsize)
Target Size (Adaptive): 16384 MB (c)
Min Size (Hard Limit): 2048 MB (zfs_arc_min)
Max Size (Hard Limit): 16384 MB (zfs_arc_max)
ARC Size Breakdown:
Most Recently Used Cache Size: 73% 12015 MB (p)
Most Frequently Used Cache Size: 26% 4368 MB (c-p)
ARC Efficency:
Cache Access Total: 300030668
Cache Hit Ratio: 92% 277102547 [Defined State for
buffer]
Cache Miss Ratio: 7% 22928121 [Undefined State for
Buffer]
REAL Hit Ratio: 84% 253621864 [MRU/MFU Hits Only]
Data Demand Efficiency: 98%
Data Prefetch Efficiency: 26%
CACHE HITS BY CACHE LIST:
Anon: 4% 12706439 [
New Customer, First Cache Hit ]
Most Recently Used: 12% 35919656 (mru) [
Return Customer ]
Most Frequently Used: 78% 217702208 (mfu) [
Frequent Customer ]
Most Recently Used Ghost: 0% 2469558 (mru_ghost) [
Return Customer Evicted, Now Back ]
Most Frequently Used Ghost: 2% 8304686 (mfu_ghost) [
Frequent Customer Evicted, Now Back ]
CACHE HITS BY DATA TYPE:
Demand Data: 38% 105648747
Prefetch Data: 1% 3607719
Demand Metadata: 53% 147826874
Prefetch Metadata: 7% 20019207
CACHE MISSES BY DATA TYPE:
Demand Data: 9% 2130351
Prefetch Data: 43% 9907868
Demand Metadata: 23% 5396413
Prefetch Metadata: 23% 5493489
---------------------------------------------
So, these show me, that ZFS ARC actually shouldn''t have grown over
16GB,
right?
Now for vmstat/iostat/prstat:
vmstat 10
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr s0 s1 s2 s3 in sy cs
us sy id
0 0 0 22210512 9676332 29 215 0 0 0 0 1 -0 8 8 40 6460 13462 5409
2 1 97
0 1 0 18193100 5752352 32 305 0 0 0 0 0 1 15 15 19 3245 29489 1786
0 1 98
0 1 0 18193112 5752084 11 223 0 0 0 0 0 0 5 5 19 3628 30364 2219
0 2 97
0 1 0 18193132 5752568 1 139 0 0 0 0 0 0 21 20 24 4125 31415 2432
0 2 98
0 1 0 18193140 5752592 25 89 0 0 0 0 0 0 0 0 19 3070 23238 1537
0 1 99
0 1 0 18193204 5752316 10 167 0 0 0 0 0 0 8 8 29 4117 14217 2810
0 2 98
As you can see, the free memory shrinked from 32 GB to approx 5 GB.
Substracting the ZFS ARC from the 32 GB, that''d leave another 16 GB for
Solaris and its crops. So actually there have been 11 GB consumed, which
I can''t pinpoint using prstat. Although 5 GB od freem RAM should be
still enough, the performance drops as soon as the free memory falls
below 10 GB, which is pretty much the case after 2 work days.
iostat 10
tty sd0 sd1 sd2 sd3 cpu
tin tout kps tps serv kps tps serv kps tps serv kps tps serv us
sy wt id
0 24 0 0 0 61 8 3 61 8 3 1107 40 6 2
1 0 97
0 97 0 0 0 160 16 3 160 16 3 170 15 5 0
2 0 98
0 175 0 0 0 168 20 3 168 20 3 105 15 3 0
2 0 98
0 111 0 0 0 0 0 0 0 0 0 90 14 4 0
1 0 99
0 62 0 0 0 146 13 3 146 13 3 422 31 5 0
2 0 98
iostat seems to show a quite idle system...
Last, but not least: zpool iostat barely sees read or write throughputs
above 35 MB/s.
Btw, this is regardless whether I use netatlk or smb for sharing.
Thanks,
budy
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://mail.opensolaris.org/pipermail/zfs-discuss/attachments/20110112/9b326e83/attachment.html>