€•3jŒ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ŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/pt_BR/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”…””}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj&h²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 ”…””}”(hj7h²hh³Nh´NubhŒliteral”“”)”}”(hŒ``CONFIG_DAMON_*=y``”h]”hŒCONFIG_DAMON_*=y”…””}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj7ubhŒ.”…””}”(hj7h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj&h²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”…””}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjah²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 ”…””}”(hjrh²hh³Nh´Nubhè)”}”(hŒ!https://github.com/damonitor/damo”h]”hŒ!https://github.com/damonitor/damo”…””}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j|uh1hçhjrubhŒ". The examples below assume that ”…””}”(hjrh²hh³Nh´Nubj@)”}”(hŒ``damo``”h]”hŒdamo”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjrubhŒ is on your ”…””}”(hjrh²hh³Nh´Nubj@)”}”(hŒ ``$PATH``”h]”hŒ$PATH”…””}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjrubhŒ . It’s not mandatory, though.”…””}”(hjrh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khjah²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 hjah²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”…””}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj"h²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.”…””}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K(hj"h²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”…””}”hjCsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jAh³hÇh´K+hj"h²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 ”…””}”(hjQh²hh³Nh´Nubj@)”}”(hŒ ``masim``”h]”hŒmasim”…””}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjQubhX. 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.”…””}”(hjQh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K@hj"h²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. ”…””}”(hjqh²hh³Nh´Nubj@)”}”(hŒ ``[...]``”h]”hŒ[...]”…””}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hjqubhŒ means unmapped huge regions on the virtual address spaces. The second line shows additional information for better understanding the heatmap.”…””}”(hjqh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KGhj"h²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´KOhj"h²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´KUhj"h²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²hubjB)”}”(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Æuh1jAh³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”…””}”(hj2h²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”…””}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjRh²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).:”…””}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KlhjRh²hubjB)”}”(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)”…””}”hjqsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jAh³hÇh´KohjRh²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.:”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KƒhjRh²hubjB)”}”(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 |***********************************************************|”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jAh³hÇh´K†hjRh²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”…””}”(hj£h²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–hjRh²hubjB)”}”(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Æuh1jAh³hÇh´K™hjRh²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²hubjB)”}”(hŒ¹$ sudo damo start --damos_access_rate 0 0 --damos_sz_region 4K max \ --damos_age 60s max --damos_action pageout \ --target_pid ”h]”hŒ¹$ sudo damo start --damos_access_rate 0 0 --damos_sz_region 4K max \ --damos_age 60s max --damos_action pageout \ --target_pid ”…””}”hjðsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jAh³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”j1Œ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 jjjjjj^j[jjjèjåjOjLjÎjËjjuŒ nametypes”}”(j ‰jˆj‰j^‰j‰jè‰jO‰jΉj‰uh}”(jhÊjhýjjj[j&jjajåj"jLjëjËjRjjÑ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.