Project

General

Profile

Bug #32793

Report actual physical (compressed) L2ARC size

Added by Buddy Butterfly over 1 year ago. Updated 6 months ago.

Status:
Done
Priority:
Nice to have
Assignee:
Ryan Moeller
Category:
OS
Target version:
Seen in:
Severity:
Low Medium
Reason for Closing:
Reason for Blocked:
Needs QA:
No
Needs Doc:
No
Needs Merging:
No
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

Freenas 11.1-U4 displays wrong L2ARC size in zfs report.
The report shows a usage of 196.7GB whereas the system currently only uses 84GB.
Value keeps increasing over time!

Result from command line (zpool list -v):

cache
  gptid/4646affb-4029-11e8-97ad-989096db91c2.eli   119G  84.0G  35.2G     -      0%    70%

screenshot-freenas-wrong-l2arc-display.png (33.6 KB) screenshot-freenas-wrong-l2arc-display.png Buddy Butterfly, 04/30/2018 06:44 AM
Screen Shot 2018-12-20 at 8.31.37 PM.png (519 KB) Screen Shot 2018-12-20 at 8.31.37 PM.png Fixed reporting shows expected values in legacy UI Ryan Moeller, 12/20/2018 08:35 PM
Screen Shot 2018-12-20 at 8.33.46 PM.png (115 KB) Screen Shot 2018-12-20 at 8.33.46 PM.png L2ARC size missing from new UI Ryan Moeller, 12/20/2018 08:37 PM
32793-l2arc-reporting-ui.png (34 KB) 32793-l2arc-reporting-ui.png Timothy Moore II, 02/12/2019 10:23 AM
32793-l2arc-reporting-cli.png (8.11 KB) 32793-l2arc-reporting-cli.png Timothy Moore II, 02/12/2019 10:23 AM
17076
46125
46134
54031
54040

Related issues

Copied to FreeNAS - Bug #68277: Report actual physical (compressed) L2ARC size in new UIDone

Associated revisions

Revision 7af618f8 (diff)
Added by Ryan Moeller 11 months ago

Fix L2ARC size reporting/accounting

The actual (compressed) size of the L2ARC is reported in a new sysctl MIB.
Expose this new MIB and use it for reporting/accounting instead of the
inflated size reported by the old MIB.

Ticket: #32793

Revision bcffc73c (diff)
Added by Ryan Moeller 11 months ago

[collectd] Fix L2ARC size reporting

Report L2ARC size using l2_asize kstat rather than l2_size.
The uncompressed size is reported by l2_size, while the actual
(compressed) size is reported by l2_asize.

Ticket: #32793

Revision aca47046 (diff)
Added by Ryan Moeller 11 months ago

[collectd] Bump port revision after updating patch

Ticket: #32793

Revision 50e66222 (diff)
Added by Ryan Moeller 11 months ago

[collectd] Fix L2ARC size reporting

Report L2ARC size using l2_asize kstat rather than l2_size.
The uncompressed size is reported by l2_size, while the actual
(compressed) size is reported by l2_asize.

Bump port revision after updating patch

Ticket: #32793

Revision ef39bf51 (diff)
Added by Ryan Moeller 11 months ago

Add reporting for actual (compressed) L2ARC size

The actual (compressed) size of the L2ARC is reported in a new sysctl MIB.
Expose this new MIB in SNMP and include it in the ARC summary.

Ticket: #32793

Revision 7c997b72 (diff)
Added by Ryan Moeller 8 months ago

[collectd] Fix L2ARC size reporting

Report L2ARC size using l2_asize kstat rather than l2_size.
The uncompressed size is reported by l2_size, while the actual
(compressed) size is reported by l2_asize.

Bump port revision after updating patch

Ticket: #32793

Revision 7376f46d (diff)
Added by Ryan Moeller 8 months ago

[arc_summary.py] Report actual size in l2_arc_size

This matches the way ZoL added l2_asize to their fork of arc_summary.py

Ticket: #32793

Revision e75eb24f (diff)
Added by Ryan Moeller 8 months ago

[snmp] Revert addition of new MIBs for l2_asize

The actual size will be reported by the existing MIB instead.

Ticket: #32793

Revision 2c330e71 (diff)
Added by Ryan Moeller 8 months ago

[arc_summary.py] Fix typo
Ticket: #32793

Revision 7eb08308 (diff)
Added by Ryan Moeller 8 months ago

[snmp-agent] Report actual (compressed) L2ARC size

`l2_size` gives the logical (uncompressed) L2ARC size, but we are more
interested in the physical (compressed) size, so use `l2_asize` instead.

Ticket: #32793

Revision 0a70edad (diff)
Added by Ryan Moeller 8 months ago

[arc_summary.py] Report actual size in l2_arc_size

This matches the way ZoL added l2_asize to their fork of arc_summary.py

Ticket: #32793

Revision c499d060 (diff)
Added by Ryan Moeller 4 months ago

[collectd] Fix L2ARC size reporting

Report L2ARC size using l2_asize kstat rather than l2_size.
The uncompressed size is reported by l2_size, while the actual
(compressed) size is reported by l2_asize.

Bump port revision after updating patch

Ticket: #32793

Revision 96f116a6 (diff)
Added by Ryan Moeller 4 months ago

[collectd] Fix L2ARC size reporting

Report L2ARC size using l2_asize kstat rather than l2_size.
The uncompressed size is reported by l2_size, while the actual
(compressed) size is reported by l2_asize.

Bump port revision after updating patch

Ticket: #32793

Revision 64531456 (diff)
Added by Ryan Moeller 4 months ago

[collectd] Fix L2ARC size reporting

Report L2ARC size using l2_asize kstat rather than l2_size.
The uncompressed size is reported by l2_size, while the actual
(compressed) size is reported by l2_asize.

Bump port revision after updating patch

Ticket: #32793

Revision ad6095e8 (diff)
Added by Ryan Moeller 4 months ago

[collectd] Fix L2ARC size reporting

Report L2ARC size using l2_asize kstat rather than l2_size.
The uncompressed size is reported by l2_size, while the actual
(compressed) size is reported by l2_asize.

Bump port revision after updating patch

Ticket: #32793

Revision 2811e0ce (diff)
Added by Ryan Moeller about 1 month ago

[collectd] Fix L2ARC size reporting

Report L2ARC size using l2_asize kstat rather than l2_size.
The uncompressed size is reported by l2_size, while the actual
(compressed) size is reported by l2_asize.

Bump port revision after updating patch

Ticket: #32793

History

#2 Updated by Dru Lavigne over 1 year ago

  • Assignee changed from Release Council to Alexander Motin

Sasha: is the plugin displaying the correct information?

#3 Updated by Alexander Motin over 1 year ago

  • Status changed from Unscreened to Not Started
  • Priority changed from No priority to Nice to have

I don't think it is a real problem. If I see correctly, that graph shows size of uncompressed L2ARC content, which indeed can be bigger then the device size, and continue grow as soon as L2ARC is still not filled completely. Though indeed we could review what stats show what info to make it consistent.

#4 Updated by Alexander Motin 12 months ago

After another look I am at the same opinion: L2ARC graph shows values of kstat.zfs.misc.arcstats.l2_size sysctl, reporting size of logical (uncompressed) data stored in L2ARC, that does not match ARC size reporting on the same graph physical (potentially compressed) data. Instead of that sysctl for L2ARC we should account and report kstat.zfs.misc.arcstats.l2_asize.

#5 Updated by Alexander Motin 11 months ago

  • Assignee changed from Alexander Motin to Ryan Moeller
  • Target version changed from Backlog to 11.2-U2

Ryan, please take a look on this. It should be quite trivial change to collectd. As I saw ZFS itself should calculate stats properly.

#6 Updated by Alexander Motin 11 months ago

  • Status changed from Not Started to Unscreened

#7 Updated by Ryan Moeller 11 months ago

  • Status changed from Unscreened to In Progress

#8 Updated by Ryan Moeller 11 months ago

#10 Updated by Bug Clerk 8 months ago

  • Status changed from In Progress to Ready for Testing

#11 Updated by Dru Lavigne 8 months ago

  • Status changed from Ready for Testing to In Progress

#12 Updated by Bug Clerk 8 months ago

  • Status changed from In Progress to Ready for Testing

#15 Updated by Dru Lavigne 8 months ago

  • Subject changed from Wrong size display for L2ARC report to Report actual physical (compressed) L2ARC size

#16 Updated by Erin Clark 8 months ago

  • Copied to Bug #68277: Report actual physical (compressed) L2ARC size in new UI added

#19 Updated by Timothy Moore II 6 months ago

54031
54040

Testing with FreeNAS system:

Build             FreeNAS-11.2-U2-INTERNAL86
Platform     AMD Ryzen 5 1600 Six-Core Processor
Memory       65446MB

Tested in legacy UI:

Created pool1 with cache device. Go to reporting and look up ARC Size graph. L2ARC entry reads 0.0 Min 357.2k Avg 1.1M Max 1.0M Last.
Switch to Shell and enter sysctl kstat.zfs.misc.arcstats.l2_asize. This returns a size of 1091584 (1.09 M).

#20 Updated by Dru Lavigne 6 months ago

  • Status changed from Passed Testing to Done

Also available in: Atom PDF