On hosts with a big page cache or ZFS ARC, used memory looks almost full and the memory alerts keep firing, even though that memory is reclaimable. ZFS is the worst case since MemAvailable doesn't count the ARC. There are also a few open issues about this.
Periphery now reports memory broken out into used, cache/buffers, ZFS ARC and swap, and keeps reclaimable memory out of "used" so the alerts track real pressure.
Notes for review:
bin/periphery/src/stats.rs was moved to stats/mod.rs to make room for the new stats/mem.rs (the /proc parsing and calculation).
historical.tsx has the largest diff — the memory chart went from a single line to a stacked composition.
Screenshot:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/moghtech/komodo/pull/1489
**Author:** [@ChanningHe](https://github.com/ChanningHe)
**Created:** 6/20/2026
**Status:** ✅ Merged
**Merged:** 6/30/2026
**Merged by:** [@mbecker20](https://github.com/mbecker20)
**Base:** `2.3.0` ← **Head:** `feat/memory-breakdown`
---
### 📝 Commits (1)
- [`6fabe42`](https://github.com/moghtech/komodo/commit/6fabe421084f8bb18ea6067c6ca6b353f7577f19) feat: break out cache/buffers and ZFS ARC from used memory
### 📊 Changes
**8 files changed** (+406 additions, -19 deletions)
<details>
<summary>View changed files</summary>
📝 `bin/core/src/monitor/record.rs` (+4 -0)
➕ `bin/periphery/src/stats/mem.rs` (+149 -0)
📝 `bin/periphery/src/stats/mod.rs` (+10 -5)
📝 `client/core/rs/src/entities/stats.rs` (+34 -1)
📝 `client/core/ts/src/types.ts` (+44 -1)
📝 `ui/public/client/types.d.ts` (+44 -1)
📝 `ui/src/resources/server/stats/current/ram.tsx` (+19 -4)
📝 `ui/src/resources/server/stats/historical.tsx` (+102 -7)
</details>
### 📄 Description
On hosts with a big page cache or ZFS ARC, used memory looks almost full and the memory alerts keep firing, even though that memory is reclaimable. ZFS is the worst case since `MemAvailable` doesn't count the ARC. There are also a few open issues about this.
Periphery now reports memory broken out into used, cache/buffers, ZFS ARC and swap, and keeps reclaimable memory out of "used" so the alerts track real pressure.
Notes for review:
- `bin/periphery/src/stats.rs` was moved to `stats/mod.rs` to make room for the new `stats/mem.rs` (the /proc parsing and calculation).
- `historical.tsx` has the largest diff — the memory chart went from a single line to a stacked composition.
Screenshot:
<img width="1960" height="274" alt="RAM Usage" src="https://github.com/user-attachments/assets/f81d6691-9661-4db3-b755-637f0ee3dcfa" />
<img width="1898" height="584" alt="Memory" src="https://github.com/user-attachments/assets/b5c5a2ab-0d23-4cd0-8744-e22b8fa33a03" />
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/moghtech/komodo/pull/1489
Author: @ChanningHe
Created: 6/20/2026
Status: ✅ Merged
Merged: 6/30/2026
Merged by: @mbecker20
Base:
2.3.0← Head:feat/memory-breakdown📝 Commits (1)
6fabe42feat: break out cache/buffers and ZFS ARC from used memory📊 Changes
8 files changed (+406 additions, -19 deletions)
View changed files
📝
bin/core/src/monitor/record.rs(+4 -0)➕
bin/periphery/src/stats/mem.rs(+149 -0)📝
bin/periphery/src/stats/mod.rs(+10 -5)📝
client/core/rs/src/entities/stats.rs(+34 -1)📝
client/core/ts/src/types.ts(+44 -1)📝
ui/public/client/types.d.ts(+44 -1)📝
ui/src/resources/server/stats/current/ram.tsx(+19 -4)📝
ui/src/resources/server/stats/historical.tsx(+102 -7)📄 Description
On hosts with a big page cache or ZFS ARC, used memory looks almost full and the memory alerts keep firing, even though that memory is reclaimable. ZFS is the worst case since
MemAvailabledoesn't count the ARC. There are also a few open issues about this.Periphery now reports memory broken out into used, cache/buffers, ZFS ARC and swap, and keeps reclaimable memory out of "used" so the alerts track real pressure.
Notes for review:
bin/periphery/src/stats.rswas moved tostats/mod.rsto make room for the newstats/mem.rs(the /proc parsing and calculation).historical.tsxhas the largest diff — the memory chart went from a single line to a stacked composition.Screenshot:


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.