mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 17:26:28 +00:00
This commits an initial version of the Memorizer tracing tool. It collects and outputs detailed data on the objects (traced from kmalloc/kmem_cache_alloc) and accesses, tracking the context of each event with respect to thread ID, program counter, and for allocations name of process. Signed-off-by: Nathan Dautenhahn <ndd@cis.upenn.edu>
34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
# Memorizer
|
|
|
|
Memorizer is a tool to trace fine-grained intra-kernel
|
|
operations. The goal is to track interactions with memory
|
|
objects for the purpose of analyzing fine-grained
|
|
interactions amongst components and execution contexts.
|
|
Memorizer tracks the following object operations: creation
|
|
(alloc), destruction (free), modify (store), access (load),
|
|
call, and return.
|
|
|
|
Nathan D. ([@ndauten]) presented the umbrella project,
|
|
Opportunistic Privilege Separation (OPS), and Memorizer at
|
|
the [7/9/17 LinuxKit SIG](../../reports/2017-07-09.md) and
|
|
[slides](http://nathandautenhahn.com/talks/2017-06-21_ops+memorizer-linuxkit-sig/linuxkit-sig-remark.html#1)
|
|
|
|
## Usage
|
|
|
|
See [manual usage docs](./docs/memorizer.txt). Be careful
|
|
though because if the event queues are not drained then the
|
|
system will run out of memory.
|
|
|
|
For controlled use see [script + readme](./docs/memorizer/).
|
|
This script is not automatically inserted into the runtime
|
|
yet.
|
|
|
|
## Issues
|
|
|
|
- KASAN is reporting some errors within itself. This is
|
|
noisy. Can reduce the console log output level to < 3,
|
|
e.g., `echo 3 > /proc/sys/kernel/printk`
|
|
|
|
- Source should be included soon, but for now there is an
|
|
image on Docker Hub.
|