1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 08:08:12 +00:00

Kernel+SystemMonitor: Add fault counters

This patch adds three separate per-process fault counters:

- Inode faults

    An inode fault happens when we've memory-mapped a file from disk
    and we end up having to load 1 page (4KB) of the file into memory.

- Zero faults

    Memory returned by mmap() is lazily zeroed out. Every time we have
    to zero out 1 page, we count a zero fault.

- CoW faults

    VM objects can be shared by multiple mappings that make their own
    unique copy iff they want to modify it. The typical reason here is
    memory shared between a parent and child process.
This commit is contained in:
Andreas Kling 2019-10-02 14:13:49 +02:00
parent c33ac7f170
commit 35138437ef
7 changed files with 62 additions and 0 deletions

View file

@ -21,6 +21,9 @@ public:
Virtual,
Physical,
Syscalls,
InodeFaults,
ZeroFaults,
CowFaults,
__Count
};
@ -49,6 +52,9 @@ private:
size_t amount_virtual;
size_t amount_resident;
unsigned syscall_count;
unsigned inode_faults;
unsigned zero_faults;
unsigned cow_faults;
float cpu_percent;
int icon_id;
};