summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorthiagoftsm <thiagoftsm@gmail.com>2021-03-03 16:08:08 +0000
committerGitHub <noreply@github.com>2021-03-03 16:08:08 +0000
commit71e711430cd793daa0599c5f911018889778798b (patch)
tree3359b05451bb5d141e28f59fe26ed2b77af7c0c2 /web
parentd127d2f6818a6ac96be0d7954d63a882969e76c6 (diff)
Add Linux page cache metrics to eBPF (#10693)
Add new eBPF thread to display page cache utilization.
Diffstat (limited to 'web')
-rw-r--r--web/gui/dashboard_info.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/web/gui/dashboard_info.js b/web/gui/dashboard_info.js
index 4529413175..c8c7878f0f 100644
--- a/web/gui/dashboard_info.js
+++ b/web/gui/dashboard_info.js
@@ -1010,6 +1010,22 @@ netdataDashboard.context = {
info: 'Transparent HugePages (THP) is backing virtual memory with huge pages, supporting automatic promotion and demotion of page sizes. It works for all applications for anonymous memory mappings and tmpfs/shmem.'
},
+ 'mem.cachestat_ratio': {
+ info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is there, a page cache hit has occurred and the read is from the cache. If the entry is not there, a page cache miss has occurred and the kernel allocates a new entry and copies in data from the disk. Netdata calculates the percentage of accessed files that are cached on memory. <a href="https://github.com/iovisor/bcc/blob/master/tools/cachestat.py#L126-L138" target="_blank">The ratio</a> is calculated counting the accessed cached pages (without counting dirty pages and pages added because of read misses) divided by total access without dirty pages. The algorithm will not plot data when ratio is zero and our dashboard will interpolate the plot. '
+ },
+
+ 'mem.cachestat_dirties': {
+ info: 'Number of <a href="https://en.wikipedia.org/wiki/Page_cache#Memory_conservation" target="_blank">dirty(modified) pages</a> cache. Pages in the page cache modified after being brought in are called dirty pages. Since non-dirty pages in the page cache have identical copies in <a href="https://en.wikipedia.org/wiki/Secondary_storage" target="_blank">secondary storage</a> (e.g. hard disk drive or solid-state drive), discarding and reusing their space is much quicker than paging out application memory, and is often preferred over flushing the dirty pages into secondary storage and reusing their space.'
+ },
+
+ 'mem.cachestat_hits': {
+ info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is there, a page cache hit has occurred and the read is from the cache. Hits show pages accessed that were not modified (we are excluding dirty pages), this counting also excludes the recent pages inserted for read.'
+ },
+
+ 'mem.cachestat_misses': {
+ info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is not there, a page cache miss has occurred and the cache allocates a new entry and copies in data for the main memory. Misses count page insertions to the memory not related to writing.'
+ },
+
// ------------------------------------------------------------------------
// network interfaces