`damo report heatmap` modernization for snapshots, page level monitoring and intervals auto-tuning

TL; DR: damo report heatmap has recently advanced to support modern DAMON features including age tracking, snapshots, page level monitoring, and monitoring intervals auto-tuning. It will help users intuitively understand the monitored access patterns at a glance. DAMON in The Past: Full Recording based Monitoring At the beginning, DAMON was providing only the access frequency of each memory region in real time. Hence heatmap visualization, which shows the access frequency of each memory area in the timeline was the first and one of the best ways to see the access pattern....

June 8, 2025 · 10 min · 1989 words · Me

Why the heatmap is not showing the expected access patterns?

TL; DR: try --draw_range all option of damo report heatmap if it shows not what you expected. --interactive_edit option can also be helpful, like below. Problem: Scoping of Huge Time/Space damo report heatmap outputs sometimes show no expected access pattern. It is sometimes just entirely black, or shows some access pattern but not what the user expected. This post is for explaining the reason and how you can work around....

March 16, 2025 · 3 min · 534 words · Me

Upcoming feature: Page level peroperties based access monitoring

We’re working on making DAMON to be used for page level properties based access monitoring. The idea is to let users describe specific page level properties that are interested in, and provides the size of the type of memory in each regions that DAMON found unique access pattern. Hence, users can know how much of memory of specific access temperature is having the type. For example, you can know how much of memory that not accessed for more than 20 minutes are having how much file-backed pages of a cgroup....

December 23, 2024 · 3 min · 470 words · Me

damo v2.5.7 new features: temperature filtering and formatting

damo v2.5.7 is released on 2024-11-25. Two new major features on this version are temperature-based regions filtering and formatting. Temperature “Temperature” of each memory region represents relative access hotness of the region. It is calculated as weighted sum of size, access rate (a.k.a nr_accesses) and age of each region. By default, the weights for the three properties are 0, 100, and 100. Users can manually set it using --temperature_weights option....

November 25, 2024 · 3 min · 510 words · Me

Auto-tuning DAMOS using `damo`

Starting from Linux v6.9, DAMON provides DAMOS quota auto-tuning. It allows users to set a target metric and value. Then, DAMOS will adjust its aggressiveness (effective quota) to achieve the target. damo users can also use the feature using --damos_quota_goal option. But apparently the usage is not well documented. Maybe it should be documented somewhere on USAGE.md of damo, but I cannot find a good splot for now. So I’m explaining the usage in more informal way on this post....

November 3, 2024 · 4 min · 702 words · Me

Creating DAMON logo using DAMON

I just made a DAMON logo using DAMON, like below. $ git clone https://github.com/sjp38/masim && cd masim $ cat damon_pixel_2 11111111 11 11 111111 11111111 11 11 11111111 11111111 1111 11111111 11111111 11 11 11111111 11111111 1111 11111111 $ ./pixels_to_access_config.py ./damon_pixel_2 $((100*1024*1024)) 300 damon.cfg $ sudo damo record "./masim ./configs/stairs.cfg" $ sudo damo report heatmap --output damon.png The output is below: The cropped one:

July 13, 2024 · 1 min · 64 words · Me