@@ -42,32 +42,45 @@ the execution. ::
4242
4343 $ git clone https://github.com/sjp38/masim; cd masim; make
4444 $ sudo damo start "./masim ./configs/stairs.cfg --quiet"
45- $ sudo ./damo show
46- 0 addr [85.541 TiB , 85.541 TiB ) (57.707 MiB ) access 0 % age 10.400 s
47- 1 addr [85.541 TiB , 85.542 TiB ) (413.285 MiB) access 0 % age 11.400 s
48- 2 addr [127.649 TiB , 127.649 TiB) (57.500 MiB ) access 0 % age 1.600 s
49- 3 addr [127.649 TiB , 127.649 TiB) (32.500 MiB ) access 0 % age 500 ms
50- 4 addr [127.649 TiB , 127.649 TiB) (9.535 MiB ) access 100 % age 300 ms
51- 5 addr [127.649 TiB , 127.649 TiB) (8.000 KiB ) access 60 % age 0 ns
52- 6 addr [127.649 TiB , 127.649 TiB) (6.926 MiB ) access 0 % age 1 s
53- 7 addr [127.998 TiB , 127.998 TiB) (120.000 KiB) access 0 % age 11.100 s
54- 8 addr [127.998 TiB , 127.998 TiB) (8.000 KiB ) access 40 % age 100 ms
55- 9 addr [127.998 TiB , 127.998 TiB) (4.000 KiB ) access 0 % age 11 s
56- total size: 577.590 MiB
57- $ sudo ./damo stop
45+ $ sudo damo report access
46+ heatmap: 641111111000000000000000000000000000000000000000000000[...]33333333333333335557984444[...]7
47+ # min/max temperatures: -1,840,000,000, 370,010,000, column size: 3.925 MiB
48+ 0 addr 86.182 TiB size 8.000 KiB access 0 % age 14.900 s
49+ 1 addr 86.182 TiB size 8.000 KiB access 60 % age 0 ns
50+ 2 addr 86.182 TiB size 3.422 MiB access 0 % age 4.100 s
51+ 3 addr 86.182 TiB size 2.004 MiB access 95 % age 2.200 s
52+ 4 addr 86.182 TiB size 29.688 MiB access 0 % age 14.100 s
53+ 5 addr 86.182 TiB size 29.516 MiB access 0 % age 16.700 s
54+ 6 addr 86.182 TiB size 29.633 MiB access 0 % age 17.900 s
55+ 7 addr 86.182 TiB size 117.652 MiB access 0 % age 18.400 s
56+ 8 addr 126.990 TiB size 62.332 MiB access 0 % age 9.500 s
57+ 9 addr 126.990 TiB size 13.980 MiB access 0 % age 5.200 s
58+ 10 addr 126.990 TiB size 9.539 MiB access 100 % age 3.700 s
59+ 11 addr 126.990 TiB size 16.098 MiB access 0 % age 6.400 s
60+ 12 addr 127.987 TiB size 132.000 KiB access 0 % age 2.900 s
61+ total size: 314.008 MiB
62+ $ sudo damo stop
5863
5964The first command of the above example downloads and builds an artificial
6065memory access generator program called ``masim ``. The second command asks DAMO
61- to execute the artificial generator process start via the given command and
62- make DAMON monitors the generator process. The third command retrieves the
63- current snapshot of the monitored access pattern of the process from DAMON and
64- shows the pattern in a human readable format.
65-
66- Each line of the output shows which virtual address range (``addr [XX, XX) ``)
67- of the process is how frequently (``access XX % ``) accessed for how long time
68- (``age XX ``). For example, the fifth region of ~9 MiB size is being most
69- frequently accessed for last 300 milliseconds. Finally, the fourth command
70- stops DAMON.
66+ to start the program via the given command and make DAMON monitors the newly
67+ started process. The third command retrieves the current snapshot of the
68+ monitored access pattern of the process from DAMON and shows the pattern in a
69+ human readable format.
70+
71+ The first line of the output shows the relative access temperature (hotness) of
72+ the regions in a single row hetmap format. Each column on the heatmap
73+ represents regions of same size on the monitored virtual address space. The
74+ position of the colun on the row and the number on the column represents the
75+ relative location and access temperature of the region. ``[...] `` means
76+ unmapped huge regions on the virtual address spaces. The second line shows
77+ additional information for better understanding the heatmap.
78+
79+ Each line of the output from the third line shows which virtual address range
80+ (``addr XX size XX ``) of the process is how frequently (``access XX % ``)
81+ accessed for how long time (``age XX ``). For example, the evelenth region of
82+ ~9.5 MiB size is being most frequently accessed for last 3.7 seconds. Finally,
83+ the fourth command stops DAMON.
7184
7285Note that DAMON can monitor not only virtual address spaces but multiple types
7386of address spaces including the physical address space.
@@ -95,7 +108,7 @@ Visualizing Recorded Patterns
95108You can visualize the pattern in a heatmap, showing which memory region
96109(x-axis) got accessed when (y-axis) and how frequently (number).::
97110
98- $ sudo damo report heats -- heatmap stdout
111+ $ sudo damo report heatmap
99112 22222222222222222222222222222222222222211111111111111111111111111111111111111100
100113 44444444444444444444444444444444444444434444444444444444444444444444444444443200
101114 44444444444444444444444444444444444444433444444444444444444444444444444444444200
@@ -160,6 +173,6 @@ Data Access Pattern Aware Memory Management
160173Below command makes every memory region of size >=4K that has not accessed for
161174>=60 seconds in your workload to be swapped out. ::
162175
163- $ sudo damo schemes --damos_access_rate 0 0 --damos_sz_region 4K max \
164- --damos_age 60s max --damos_action pageout \
165- <pid of your workload>
176+ $ sudo damo start --damos_access_rate 0 0 --damos_sz_region 4K max \
177+ --damos_age 60s max --damos_action pageout \
178+ <pid of your workload>
0 commit comments