€•3iŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ./translations/zh_CN/admin-guide/mm/damon/start”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/zh_TW/admin-guide/mm/damon/start”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/it_IT/admin-guide/mm/damon/start”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ja_JP/admin-guide/mm/damon/start”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ko_KR/admin-guide/mm/damon/start”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/sp_SP/admin-guide/mm/damon/start”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒH/var/lib/git/docbuild/linux/Documentation/admin-guide/mm/damon/start.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒGetting Started”h]”hŒGetting Started”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h KubhŒ paragraph”“”)”}”(hX-This document briefly describes how you can use DAMON by demonstrating its default user space tool. Please note that this document describes only a part of its features for brevity. Please refer to the usage `doc `_ of the tool for more details.”h]”(hŒÒThis document briefly describes how you can use DAMON by demonstrating its default user space tool. Please note that this document describes only a part of its features for brevity. Please refer to the usage ”…””}”(hhËhžhhŸNh NubhŒ reference”“”)”}”(hŒ=`doc `_”h]”hŒdoc”…””}”(hhÕhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œdoc”Œrefuri”Œ4https://github.com/damonitor/damo/blob/next/USAGE.md”uh1hÓhhËubhŒtarget”“”)”}”(hŒ7 ”h]”h}”(h]”Œdoc”ah ]”h"]”Œdoc”ah$]”h&]”Œrefuri”hæuh1hçŒ referenced”KhhËubhŒ of the tool for more details.”…””}”(hhËhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhµ)”}”(hhh]”(hº)”}”(hŒ Prerequisites”h]”hŒ Prerequisites”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjhžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒKernel”h]”hŒKernel”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjhžhhŸh³h KubhÊ)”}”(hŒ[You should first ensure your system is running on a kernel built with ``CONFIG_DAMON_*=y``.”h]”(hŒFYou should first ensure your system is running on a kernel built with ”…””}”(hj#hžhhŸNh NubhŒliteral”“”)”}”(hŒ``CONFIG_DAMON_*=y``”h]”hŒCONFIG_DAMON_*=y”…””}”(hj-hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hj#ubhŒ.”…””}”(hj#hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khjhžhubeh}”(h]”Œkernel”ah ]”h"]”Œkernel”ah$]”h&]”uh1h´hjhžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒUser Space Tool”h]”hŒUser Space Tool”…””}”(hjPhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjMhžhhŸh³h KubhÊ)”}”(hŒúFor the demonstration, we will use the default user space tool for DAMON, called DAMON Operator (DAMO). It is available at https://github.com/damonitor/damo. The examples below assume that ``damo`` is on your ``$PATH``. It's not mandatory, though.”h]”(hŒ|For the demonstration, we will use the default user space tool for DAMON, called DAMON Operator (DAMO). It is available at ”…””}”(hj^hžhhŸNh NubhÔ)”}”(hŒ!https://github.com/damonitor/damo”h]”hŒ!https://github.com/damonitor/damo”…””}”(hjfhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jhuh1hÓhj^ubhŒ". The examples below assume that ”…””}”(hj^hžhhŸNh Nubj,)”}”(hŒ``damo``”h]”hŒdamo”…””}”(hjyhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hj^ubhŒ is on your ”…””}”(hj^hžhhŸNh Nubj,)”}”(hŒ ``$PATH``”h]”hŒ$PATH”…””}”(hj‹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hj^ubhŒ . It’s not mandatory, though.”…””}”(hj^hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KhjMhžhubhÊ)”}”(hŒšBecause DAMO is using the sysfs interface (refer to :doc:`usage` for the detail) of DAMON, you should ensure :doc:`sysfs ` is mounted.”h]”(hŒ4Because DAMO is using the sysfs interface (refer to ”…””}”(hj£hžhhŸNh Nubh)”}”(hŒ :doc:`usage`”h]”hŒinline”“”)”}”(hj­h]”hŒusage”…””}”(hj±hžhhŸNh Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-doc”eh"]”h$]”h&]”uh1j¯hj«ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œadmin-guide/mm/damon/start”Œ refdomain”j¼Œreftype”Œdoc”Œ refexplicit”‰Œrefwarn”ˆŒ reftarget”Œusage”uh1hhŸh³h K hj£ubhŒ- for the detail) of DAMON, you should ensure ”…””}”(hj£hžhhŸNh Nubh)”}”(hŒ!:doc:`sysfs `”h]”j°)”}”(hjÖh]”hŒsysfs”…””}”(hjØhžhhŸNh Nubah}”(h]”h ]”(j»Œstd”Œstd-doc”eh"]”h$]”h&]”uh1j¯hjÔubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÈŒ refdomain”jâŒreftype”Œdoc”Œ refexplicit”ˆŒrefwarn”ˆjÎŒ/filesystems/sysfs”uh1hhŸh³h K hj£ubhŒ is mounted.”…””}”(hj£hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hjMhžhubeh}”(h]”Œuser-space-tool”ah ]”h"]”Œuser space tool”ah$]”h&]”uh1h´hjhžhhŸh³h Kubeh}”(h]”Œ prerequisites”ah ]”h"]”Œ prerequisites”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kubhµ)”}”(hhh]”(hº)”}”(hŒSnapshot Data Access Patterns”h]”hŒSnapshot Data Access Patterns”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjhžhhŸh³h K&ubhÊ)”}”(hŒaThe commands below show the memory access pattern of a program at the moment of the execution. ::”h]”hŒ^The commands below show the memory access pattern of a program at the moment of the execution.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K(hjhžhubhŒ literal_block”“”)”}”(hX©$ git clone https://github.com/sjp38/masim; cd masim; make $ sudo damo start "./masim ./configs/stairs.cfg --quiet" $ sudo damo report access heatmap: 641111111000000000000000000000000000000000000000000000[...]33333333333333335557984444[...]7 # min/max temperatures: -1,840,000,000, 370,010,000, column size: 3.925 MiB 0 addr 86.182 TiB size 8.000 KiB access 0 % age 14.900 s 1 addr 86.182 TiB size 8.000 KiB access 60 % age 0 ns 2 addr 86.182 TiB size 3.422 MiB access 0 % age 4.100 s 3 addr 86.182 TiB size 2.004 MiB access 95 % age 2.200 s 4 addr 86.182 TiB size 29.688 MiB access 0 % age 14.100 s 5 addr 86.182 TiB size 29.516 MiB access 0 % age 16.700 s 6 addr 86.182 TiB size 29.633 MiB access 0 % age 17.900 s 7 addr 86.182 TiB size 117.652 MiB access 0 % age 18.400 s 8 addr 126.990 TiB size 62.332 MiB access 0 % age 9.500 s 9 addr 126.990 TiB size 13.980 MiB access 0 % age 5.200 s 10 addr 126.990 TiB size 9.539 MiB access 100 % age 3.700 s 11 addr 126.990 TiB size 16.098 MiB access 0 % age 6.400 s 12 addr 127.987 TiB size 132.000 KiB access 0 % age 2.900 s total size: 314.008 MiB $ sudo damo stop”h]”hX©$ git clone https://github.com/sjp38/masim; cd masim; make $ sudo damo start "./masim ./configs/stairs.cfg --quiet" $ sudo damo report access heatmap: 641111111000000000000000000000000000000000000000000000[...]33333333333333335557984444[...]7 # min/max temperatures: -1,840,000,000, 370,010,000, column size: 3.925 MiB 0 addr 86.182 TiB size 8.000 KiB access 0 % age 14.900 s 1 addr 86.182 TiB size 8.000 KiB access 60 % age 0 ns 2 addr 86.182 TiB size 3.422 MiB access 0 % age 4.100 s 3 addr 86.182 TiB size 2.004 MiB access 95 % age 2.200 s 4 addr 86.182 TiB size 29.688 MiB access 0 % age 14.100 s 5 addr 86.182 TiB size 29.516 MiB access 0 % age 16.700 s 6 addr 86.182 TiB size 29.633 MiB access 0 % age 17.900 s 7 addr 86.182 TiB size 117.652 MiB access 0 % age 18.400 s 8 addr 126.990 TiB size 62.332 MiB access 0 % age 9.500 s 9 addr 126.990 TiB size 13.980 MiB access 0 % age 5.200 s 10 addr 126.990 TiB size 9.539 MiB access 100 % age 3.700 s 11 addr 126.990 TiB size 16.098 MiB access 0 % age 6.400 s 12 addr 127.987 TiB size 132.000 KiB access 0 % age 2.900 s total size: 314.008 MiB $ sudo damo stop”…””}”hj/sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j-hŸh³h K+hjhžhubhÊ)”}”(hX•The first command of the above example downloads and builds an artificial memory access generator program called ``masim``. The second command asks DAMO to start the program via the given command and make DAMON monitors the newly started process. The third command retrieves the current snapshot of the monitored access pattern of the process from DAMON and shows the pattern in a human readable format.”h]”(hŒqThe first command of the above example downloads and builds an artificial memory access generator program called ”…””}”(hj=hžhhŸNh Nubj,)”}”(hŒ ``masim``”h]”hŒmasim”…””}”(hjEhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hj=ubhX. The second command asks DAMO to start the program via the given command and make DAMON monitors the newly started process. The third command retrieves the current snapshot of the monitored access pattern of the process from DAMON and shows the pattern in a human readable format.”…””}”(hj=hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K@hjhžhubhÊ)”}”(hXThe first line of the output shows the relative access temperature (hotness) of the regions in a single row hetmap format. Each column on the heatmap represents regions of same size on the monitored virtual address space. The position of the colun on the row and the number on the column represents the relative location and access temperature of the region. ``[...]`` means unmapped huge regions on the virtual address spaces. The second line shows additional information for better understanding the heatmap.”h]”(hXjThe first line of the output shows the relative access temperature (hotness) of the regions in a single row hetmap format. Each column on the heatmap represents regions of same size on the monitored virtual address space. The position of the colun on the row and the number on the column represents the relative location and access temperature of the region. ”…””}”(hj]hžhhŸNh Nubj,)”}”(hŒ ``[...]``”h]”hŒ[...]”…””}”(hjehžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hj]ubhŒ means unmapped huge regions on the virtual address spaces. The second line shows additional information for better understanding the heatmap.”…””}”(hj]hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KGhjhžhubhÊ)”}”(hXTEach line of the output from the third line shows which virtual address range (``addr XX size XX``) of the process is how frequently (``access XX %``) accessed for how long time (``age XX``). For example, the evelenth region of ~9.5 MiB size is being most frequently accessed for last 3.7 seconds. Finally, the fourth command stops DAMON.”h]”(hŒOEach line of the output from the third line shows which virtual address range (”…””}”(hj}hžhhŸNh Nubj,)”}”(hŒ``addr XX size XX``”h]”hŒaddr XX size XX”…””}”(hj…hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hj}ubhŒ$) of the process is how frequently (”…””}”(hj}hžhhŸNh Nubj,)”}”(hŒ``access XX %``”h]”hŒ access XX %”…””}”(hj—hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hj}ubhŒ) accessed for how long time (”…””}”(hj}hžhhŸNh Nubj,)”}”(hŒ ``age XX``”h]”hŒage XX”…””}”(hj©hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hj}ubhŒ—). For example, the evelenth region of ~9.5 MiB size is being most frequently accessed for last 3.7 seconds. Finally, the fourth command stops DAMON.”…””}”(hj}hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KOhjhžhubhÊ)”}”(hŒ†Note that DAMON can monitor not only virtual address spaces but multiple types of address spaces including the physical address space.”h]”hŒ†Note that DAMON can monitor not only virtual address spaces but multiple types of address spaces including the physical address space.”…””}”(hjÁhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KUhjhžhubeh}”(h]”Œsnapshot-data-access-patterns”ah ]”h"]”Œsnapshot data access patterns”ah$]”h&]”uh1h´hh¶hžhhŸh³h K&ubhµ)”}”(hhh]”(hº)”}”(hŒRecording Data Access Patterns”h]”hŒRecording Data Access Patterns”…””}”(hjÚhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj×hžhhŸh³h KZubhÊ)”}”(hŒoThe commands below record the memory access patterns of a program and save the monitoring results to a file. ::”h]”hŒlThe commands below record the memory access patterns of a program and save the monitoring results to a file.”…””}”(hjèhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K\hj×hžhubj.)”}”(hŒP$ ./masim ./configs/zigzag.cfg & $ sudo damo record -o damon.data $(pidof masim)”h]”hŒP$ ./masim ./configs/zigzag.cfg & $ sudo damo record -o damon.data $(pidof masim)”…””}”hjösbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j-hŸh³h K_hj×hžhubhÊ)”}”(hX-The line of the commands run the artificial memory access generator program again. The generator will repeatedly access two 100 MiB sized memory regions one by one. You can substitute this with your real workload. The last line asks ``damo`` to record the access pattern in the ``damon.data`` file.”h]”(hŒìThe line of the commands run the artificial memory access generator program again. The generator will repeatedly access two 100 MiB sized memory regions one by one. You can substitute this with your real workload. The last line asks ”…””}”(hjhžhhŸNh Nubj,)”}”(hŒ``damo``”h]”hŒdamo”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hjubhŒ% to record the access pattern in the ”…””}”(hjhžhhŸNh Nubj,)”}”(hŒ``damon.data``”h]”hŒ damon.data”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hjubhŒ file.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kbhj×hžhubeh}”(h]”Œrecording-data-access-patterns”ah ]”h"]”Œrecording data access patterns”ah$]”h&]”uh1h´hh¶hžhhŸh³h KZubhµ)”}”(hhh]”(hº)”}”(hŒVisualizing Recorded Patterns”h]”hŒVisualizing Recorded Patterns”…””}”(hjAhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj>hžhhŸh³h KjubhÊ)”}”(hŒŠYou can visualize the pattern in a heatmap, showing which memory region (x-axis) got accessed when (y-axis) and how frequently (number).::”h]”hŒ‰You can visualize the pattern in a heatmap, showing which memory region (x-axis) got accessed when (y-axis) and how frequently (number).:”…””}”(hjOhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Klhj>hžhubj.)”}”(hX*$ sudo damo report heatmap 22222222222222222222222222222222222222211111111111111111111111111111111111111100 44444444444444444444444444444444444444434444444444444444444444444444444444443200 44444444444444444444444444444444444444433444444444444444444444444444444444444200 33333333333333333333333333333333333333344555555555555555555555555555555555555200 33333333333333333333333333333333333344444444444444444444444444444444444444444200 22222222222222222222222222222222222223355555555555555555555555555555555555555200 00000000000000000000000000000000000000288888888888888888888888888888888888888400 00000000000000000000000000000000000000288888888888888888888888888888888888888400 33333333333333333333333333333333333333355555555555555555555555555555555555555200 88888888888888888888888888888888888888600000000000000000000000000000000000000000 88888888888888888888888888888888888888600000000000000000000000000000000000000000 33333333333333333333333333333333333333444444444444444444444444444444444444443200 00000000000000000000000000000000000000288888888888888888888888888888888888888400 [...] # access_frequency: 0 1 2 3 4 5 6 7 8 9 # x-axis: space (139728247021568-139728453431248: 196.848 MiB) # y-axis: time (15256597248362-15326899978162: 1 m 10.303 s) # resolution: 80x40 (2.461 MiB and 1.758 s for each character)”h]”hX*$ sudo damo report heatmap 22222222222222222222222222222222222222211111111111111111111111111111111111111100 44444444444444444444444444444444444444434444444444444444444444444444444444443200 44444444444444444444444444444444444444433444444444444444444444444444444444444200 33333333333333333333333333333333333333344555555555555555555555555555555555555200 33333333333333333333333333333333333344444444444444444444444444444444444444444200 22222222222222222222222222222222222223355555555555555555555555555555555555555200 00000000000000000000000000000000000000288888888888888888888888888888888888888400 00000000000000000000000000000000000000288888888888888888888888888888888888888400 33333333333333333333333333333333333333355555555555555555555555555555555555555200 88888888888888888888888888888888888888600000000000000000000000000000000000000000 88888888888888888888888888888888888888600000000000000000000000000000000000000000 33333333333333333333333333333333333333444444444444444444444444444444444444443200 00000000000000000000000000000000000000288888888888888888888888888888888888888400 [...] # access_frequency: 0 1 2 3 4 5 6 7 8 9 # x-axis: space (139728247021568-139728453431248: 196.848 MiB) # y-axis: time (15256597248362-15326899978162: 1 m 10.303 s) # resolution: 80x40 (2.461 MiB and 1.758 s for each character)”…””}”hj]sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j-hŸh³h Kohj>hžhubhÊ)”}”(hŒVYou can also visualize the distribution of the working set size, sorted by the size.::”h]”hŒUYou can also visualize the distribution of the working set size, sorted by the size.:”…””}”(hjkhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Kƒhj>hžhubj.)”}”(hXû$ sudo damo report wss --range 0 101 10 # # target_id 18446632103789443072 # avr: 107.708 MiB 0 0 B | | 10 95.328 MiB |**************************** | 20 95.332 MiB |**************************** | 30 95.340 MiB |**************************** | 40 95.387 MiB |**************************** | 50 95.387 MiB |**************************** | 60 95.398 MiB |**************************** | 70 95.398 MiB |**************************** | 80 95.504 MiB |**************************** | 90 190.703 MiB |********************************************************* | 100 196.875 MiB |***********************************************************|”h]”hXû$ sudo damo report wss --range 0 101 10 # # target_id 18446632103789443072 # avr: 107.708 MiB 0 0 B | | 10 95.328 MiB |**************************** | 20 95.332 MiB |**************************** | 30 95.340 MiB |**************************** | 40 95.387 MiB |**************************** | 50 95.387 MiB |**************************** | 60 95.398 MiB |**************************** | 70 95.398 MiB |**************************** | 80 95.504 MiB |**************************** | 90 190.703 MiB |********************************************************* | 100 196.875 MiB |***********************************************************|”…””}”hjysbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j-hŸh³h K†hj>hžhubhÊ)”}”(hŒvUsing ``--sortby`` option with the above command, you can show how the working set size has chronologically changed.::”h]”(hŒUsing ”…””}”(hj‡hžhhŸNh Nubj,)”}”(hŒ ``--sortby``”h]”hŒ--sortby”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j+hj‡ubhŒc option with the above command, you can show how the working set size has chronologically changed.:”…””}”(hj‡hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K–hj>hžhubj.)”}”(hX $ sudo damo report wss --range 0 101 10 --sortby time # # target_id 18446632103789443072 # avr: 107.708 MiB 0 3.051 MiB | | 10 190.703 MiB |***********************************************************| 20 95.336 MiB |***************************** | 30 95.328 MiB |***************************** | 40 95.387 MiB |***************************** | 50 95.332 MiB |***************************** | 60 95.320 MiB |***************************** | 70 95.398 MiB |***************************** | 80 95.398 MiB |***************************** | 90 95.340 MiB |***************************** | 100 95.398 MiB |***************************** |”h]”hX $ sudo damo report wss --range 0 101 10 --sortby time # # target_id 18446632103789443072 # avr: 107.708 MiB 0 3.051 MiB | | 10 190.703 MiB |***********************************************************| 20 95.336 MiB |***************************** | 30 95.328 MiB |***************************** | 40 95.387 MiB |***************************** | 50 95.332 MiB |***************************** | 60 95.320 MiB |***************************** | 70 95.398 MiB |***************************** | 80 95.398 MiB |***************************** | 90 95.340 MiB |***************************** | 100 95.398 MiB |***************************** |”…””}”hj§sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j-hŸh³h K™hj>hžhubeh}”(h]”Œvisualizing-recorded-patterns”ah ]”h"]”Œvisualizing recorded patterns”ah$]”h&]”uh1h´hh¶hžhhŸh³h Kjubhµ)”}”(hhh]”(hº)”}”(hŒ+Data Access Pattern Aware Memory Management”h]”hŒ+Data Access Pattern Aware Memory Management”…””}”(hjÀhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hj½hžhhŸh³h K«ubhÊ)”}”(hŒ‚Below command makes every memory region of size >=4K that has not accessed for >=60 seconds in your workload to be swapped out. ::”h]”hŒBelow command makes every memory region of size >=4K that has not accessed for >=60 seconds in your workload to be swapped out.”…””}”(hjÎhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K­hj½hžhubj.)”}”(hŒ¬$ sudo damo start --damos_access_rate 0 0 --damos_sz_region 4K max \ --damos_age 60s max --damos_action pageout \ ”h]”hŒ¬$ sudo damo start --damos_access_rate 0 0 --damos_sz_region 4K max \ --damos_age 60s max --damos_action pageout \ ”…””}”hjÜsbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j-hŸh³h K°hj½hžhubeh}”(h]”Œ+data-access-pattern-aware-memory-management”ah ]”h"]”Œ+data access pattern aware memory management”ah$]”h&]”uh1h´hh¶hžhhŸh³h K«ubeh}”(h]”Œgetting-started”ah ]”h"]”Œgetting started”ah$]”h&]”uh1h´hhhžhhŸh³h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¹NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j÷jôhòhïj jjJjGjjjÔjÑj;j8jºj·jïjìuŒ nametypes”}”(j÷‰hòˆj ‰jJ‰j‰jÔ‰j;‰jº‰jï‰uh}”(jôh¶hïhéjjjGjjjMjÑjj8j×j·j>jìj½uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.