top: Change the way the ZFS ARC compression ratio is calculated
Based on feedback from OpenZFS developers Matt Ahrens and George Wilson, the calculation of the ratio no longer takes in to account overhead. The old formula could result in reporting a negative compression ratio This could confuse the user or give a false impression that there would be an advantage to disabling the compressed ARC feature. The new formula will more closely match an average of the on-disk compression ratio, as reported by the ZFS property 'compressratio' MFC after: 3 days Sponsored by: ScaleEngine Inc.
This commit is contained in:
parent
ff6c17c94e
commit
d9a7232865
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=319866
@ -188,9 +188,9 @@ char *arcnames[] = {
|
||||
NULL
|
||||
};
|
||||
|
||||
int carc_stats[5];
|
||||
int carc_stats[4];
|
||||
char *carcnames[] = {
|
||||
"K Compressed, ", "K Uncompressed, ", ":1 Ratio, ", "K Overhead",
|
||||
"K Compressed, ", "K Uncompressed, ", ":1 Ratio, ",
|
||||
NULL
|
||||
};
|
||||
|
||||
@ -580,11 +580,9 @@ get_system_info(struct system_info *si)
|
||||
if (carc_enabled) {
|
||||
GETSYSCTL("kstat.zfs.misc.arcstats.compressed_size", arc_stat);
|
||||
carc_stats[0] = arc_stat >> 10;
|
||||
carc_stats[2] = arc_stat >> 10; /* For ratio */
|
||||
GETSYSCTL("kstat.zfs.misc.arcstats.uncompressed_size", arc_stat);
|
||||
carc_stats[1] = arc_stat >> 10;
|
||||
carc_stats[2] = arc_stats[0]; /* ARC Total */
|
||||
GETSYSCTL("kstat.zfs.misc.arcstats.overhead_size", arc_stat);
|
||||
carc_stats[3] = arc_stat >> 10;
|
||||
si->carc = carc_stats;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user