mirror of https://github.com/xzeldon/htop.git
consider only shrinkable ZFS ARC as cache on Linux
This commit is contained in:
parent
98cbdc6dca
commit
491c6f1044
|
@ -1922,6 +1922,7 @@ static inline void LinuxProcessList_scanZfsArcstats(LinuxProcessList* lpl) {
|
||||||
|
|
||||||
switch (buffer[0]) {
|
switch (buffer[0]) {
|
||||||
case 'c':
|
case 'c':
|
||||||
|
tryRead("c_min", &lpl->zfs.min);
|
||||||
tryRead("c_max", &lpl->zfs.max);
|
tryRead("c_max", &lpl->zfs.max);
|
||||||
tryReadFlag("compressed_size", &lpl->zfs.compressed, lpl->zfs.isCompressed);
|
tryReadFlag("compressed_size", &lpl->zfs.compressed, lpl->zfs.isCompressed);
|
||||||
break;
|
break;
|
||||||
|
@ -1956,6 +1957,7 @@ static inline void LinuxProcessList_scanZfsArcstats(LinuxProcessList* lpl) {
|
||||||
|
|
||||||
lpl->zfs.enabled = (lpl->zfs.size > 0 ? 1 : 0);
|
lpl->zfs.enabled = (lpl->zfs.size > 0 ? 1 : 0);
|
||||||
lpl->zfs.size /= 1024;
|
lpl->zfs.size /= 1024;
|
||||||
|
lpl->zfs.min /= 1024;
|
||||||
lpl->zfs.max /= 1024;
|
lpl->zfs.max /= 1024;
|
||||||
lpl->zfs.MFU /= 1024;
|
lpl->zfs.MFU /= 1024;
|
||||||
lpl->zfs.MRU /= 1024;
|
lpl->zfs.MRU /= 1024;
|
||||||
|
|
|
@ -358,8 +358,13 @@ void Platform_setMemoryValues(Meter* this) {
|
||||||
this->values[4] = pl->availableMem;
|
this->values[4] = pl->availableMem;
|
||||||
|
|
||||||
if (lpl->zfs.enabled != 0 && !Running_containerized) {
|
if (lpl->zfs.enabled != 0 && !Running_containerized) {
|
||||||
this->values[0] -= lpl->zfs.size;
|
// ZFS does not shrink below the value of zfs_arc_min.
|
||||||
this->values[3] += lpl->zfs.size;
|
unsigned long long int shrinkableSize = 0;
|
||||||
|
if (lpl->zfs.size > lpl->zfs.min)
|
||||||
|
shrinkableSize = lpl->zfs.size - lpl->zfs.min;
|
||||||
|
this->values[0] -= shrinkableSize;
|
||||||
|
this->values[3] += shrinkableSize;
|
||||||
|
this->values[4] += shrinkableSize;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ in the source distribution for its full text.
|
||||||
typedef struct ZfsArcStats_ {
|
typedef struct ZfsArcStats_ {
|
||||||
int enabled;
|
int enabled;
|
||||||
int isCompressed;
|
int isCompressed;
|
||||||
|
unsigned long long int min;
|
||||||
unsigned long long int max;
|
unsigned long long int max;
|
||||||
unsigned long long int size;
|
unsigned long long int size;
|
||||||
unsigned long long int MFU;
|
unsigned long long int MFU;
|
||||||
|
|
Loading…
Reference in New Issue