[sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/admin-guide/mm/damon/startmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Simplified)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/zh_CN/admin-guide/mm/damon/startmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/it_IT/admin-guide/mm/damon/startmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ja_JP/admin-guide/mm/damon/startmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ko_KR/admin-guide/mm/damon/startmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/sp_SP/admin-guide/mm/damon/startmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Traditional)uh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh[/var/lib/git/docbuild/linux/Documentation/translations/zh_TW/admin-guide/mm/damon/start.rsthKubhwarning)}(hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。h]h paragraph)}(hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。h]hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_TW/disclaimer-zh_TW.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubhnote)}(h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<2023002089@link.tyut.edu.cn>。h]h)}(h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<2023002089@link.tyut.edu.cn>。h](h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<}(hhhhhNhNubh reference)}(h2023002089@link.tyut.edu.cnh]h2023002089@link.tyut.edu.cn}(hhhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:2023002089@link.tyut.edu.cnuh1hhhubh>。}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhhhKubh field_body)}(h-Documentation/admin-guide/mm/damon/start.rst h]h)}(h,Documentation/admin-guide/mm/damon/start.rsth]h,Documentation/admin-guide/mm/damon/start.rst}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj)}(hhh](j )}(h翻譯h]h翻譯}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj;hhhKubj)}(h-司延騰 Yanteng Si h]h)}(h,司延騰 Yanteng Si h](h司延騰 Yanteng Si <}(hjPhhhNhNubh)}(hsiyanteng@loongson.cnh]hsiyanteng@loongson.cn}(hjXhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:siyanteng@loongson.cnuh1hhjPubh>}(hjPhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjLubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj)}(hhh](j )}(h校譯h]h校譯}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j hj~hhhKubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhj~ubeh}(h]h ]h"]h$]h&]uh1jhhhK hjhhubeh}(h]h ]h"]h$]h&]uh1jhhhhhhhKubhsection)}(hhh](htitle)}(h 入門指南h]h 入門指南}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(hX本文通過演示DAMON的默認用戶空間工具,簡要地介紹瞭如何使用DAMON。請注意,爲了簡潔 起見,本文檔只描述了它的部分功能。更多細節請參考該工具的使用文檔。 `doc `_ .h](h本文通過演示DAMON的默認用戶空間工具,簡要地介紹瞭如何使用DAMON。請注意,爲了簡潔 起見,本文檔只描述了它的部分功能。更多細節請參考該工具的使用文檔。 }(hjhhhNhNubh)}(h=`doc `_h]hdoc}(hjhhhNhNubah}(h]h ]h"]h$]h&]namedocrefuri4https://github.com/damonitor/damo/blob/next/USAGE.mduh1hhjubhtarget)}(h7 h]h}(h]docah ]h"]docah$]h&]refurijuh1j referencedKhjubh .}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh](j)}(h 前提條件h]h 前提條件}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h內核h]h內核}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(hm首先,你要確保你當前系統中跑的內核構建時選定了這個功能選項 ``CONFIG_DAMON_*=y``.h](hX首先,你要確保你當前系統中跑的內核構建時選定了這個功能選項 }(hjhhhNhNubhliteral)}(h``CONFIG_DAMON_*=y``h]hCONFIG_DAMON_*=y}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]id3ah ]h"]內核ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h用戶空間工具h]h用戶空間工具}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9hhhhhKubh)}(h在演示中,我們將使用DAMON的默認用戶空間工具,稱爲DAMON Operator(DAMO)。它可以在 https://github.com/damonitor/damo找到。下面的例子假設DAMO在你的$PATH上。當然,但 這並不是強制性的。h](ho在演示中,我們將使用DAMON的默認用戶空間工具,稱爲DAMON Operator(DAMO)。它可以在 }(hjJhhhNhNubh)}(hhttps://github.com/damonitorh]hhttps://github.com/damonitor}(hjRhhhNhNubah}(h]h ]h"]h$]h&]refurijTuh1hhjJubhc/damo找到。下面的例子假設DAMO在你的$PATH上。當然,但 這並不是強制性的。}(hjJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hj9hhubh)}(h因爲DAMO使用了DAMON的sysfs接口(詳情請參考:doc:`usage`),你應該確保 :doc:`sysfs ` 被掛載。h](h=因爲DAMO使用了DAMON的sysfs接口(詳情請參考:doc:}(hjkhhhNhNubhtitle_reference)}(h`usage`h]husage}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jshjkubh),你應該確保 }(hjkhhhNhNubh)}(h!:doc:`sysfs `h]hinline)}(hjh]hsysfs}(hjhhhNhNubah}(h]h ](xrefstdstd-doceh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc-translations/zh_TW/admin-guide/mm/damon/start refdomainjreftypedoc refexplicitrefwarn reftarget/filesystems/sysfsuh1hhhhK%hjkubh 被掛載。}(hjkhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK%hj9hhubeh}(h]id4ah ]h"]用戶空間工具ah$]h&]uh1jhjhhhhhKubeh}(h]id2ah ]h"] 前提條件ah$]h&]uh1jhjhhhhhKubj)}(hhh](j)}(h記錄數據訪問模式h]h記錄數據訪問模式}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhK)ubh)}(hf下面的命令記錄了一個程序的內存訪問模式,並將監測結果保存到文件中。 ::h]hc下面的命令記錄了一個程序的內存訪問模式,並將監測結果保存到文件中。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjhhubh literal_block)}(h$ git clone https://github.com/sjp38/masim $ cd masim; make; ./masim ./configs/zigzag.cfg & $ sudo damo record -o damon.data $(pidof masim)h]h$ git clone https://github.com/sjp38/masim $ cd masim; make; ./masim ./configs/zigzag.cfg & $ sudo damo record -o damon.data $(pidof masim)}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhK-hjhhubh)}(hX"命令的前兩行下載了一個人工內存訪問生成器程序並在後臺運行。生成器將重複地逐一訪問兩個 100 MiB大小的內存區域。你可以用你的真實工作負載來代替它。最後一行要求 ``damo`` 將 訪問模式記錄在 ``damon.data`` 文件中。h](h命令的前兩行下載了一個人工內存訪問生成器程序並在後臺運行。生成器將重複地逐一訪問兩個 100 MiB大小的內存區域。你可以用你的真實工作負載來代替它。最後一行要求 }(hjhhhNhNubj)}(h``damo``h]hdamo}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 將 訪問模式記錄在 }(hjhhhNhNubj)}(h``damon.data``h]h damon.data}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 文件中。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK1hjhhubeh}(h]id5ah ]h"]記錄數據訪問模式ah$]h&]uh1jhjhhhhhK)ubj)}(hhh](j)}(h將記錄的模式可視化h]h將記錄的模式可視化}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/hhhhhK7ubh)}(h你可以在heatmap中直觀地看到這種模式,顯示哪個內存區域(X軸)何時被訪問(Y軸)以及訪 問的頻率(數字)。::h]h你可以在heatmap中直觀地看到這種模式,顯示哪個內存區域(X軸)何時被訪問(Y軸)以及訪 問的頻率(數字)。:}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hj/hhubj)}(hX9$ sudo damo report heats --heatmap stdout 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]hX9$ sudo damo report heats --heatmap stdout 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)}hjNsbah}(h]h ]h"]h$]h&]hhuh1jhhhK # 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 |***********************************************************|}hjjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKRhj/hhubh)}(hs在上述命令中使用 ``--sortby`` 選項,可以顯示工作集的大小是如何按時間順序變化的。::h](h在上述命令中使用 }(hjxhhhNhNubj)}(h ``--sortby``h]h--sortby}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjxubhM 選項,可以顯示工作集的大小是如何按時間順序變化的。:}(hjxhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKbhj/hhubj)}(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 |***************************** |}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKdhj/hhubeh}(h]id6ah ]h"]將記錄的模式可視化ah$]h&]uh1jhjhhhhhK7ubj)}(hhh](j)}(h'數據訪問模式感知的內存管理h]h'數據訪問模式感知的內存管理}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKvubh)}(h}以下三個命令使每一個大小>=4K的內存區域在你的工作負載中沒有被訪問>=60秒,就會被換掉。 ::h]hz以下三個命令使每一個大小>=4K的內存區域在你的工作負載中沒有被訪問>=60秒,就會被換掉。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhjhhubj)}(h$ echo "#min-size max-size min-acc max-acc min-age max-age action" > test_scheme $ echo "4K max 0 0 60s max pageout" >> test_scheme $ damo schemes -c test_scheme h]h$ echo "#min-size max-size min-acc max-acc min-age max-age action" > test_scheme $ echo "4K max 0 0 60s max pageout" >> test_scheme $ damo schemes -c test_scheme }hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKzhjhhubeh}(h]id7ah ]h"]'數據訪問模式感知的內存管理ah$]h&]uh1jhjhhhhhKvubeh}(h]id1ah ]h"] 入門指南ah$]h&]uh1jhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jjjjjjj6j3jjj,j)jjjju nametypes}(jjjj6jj,jjuh}(jjjjjjj3jjj9j)jjj/jju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]transform_messages] transformerN include_log]?Documentation/translations/zh_TW/admin-guide/mm/damon/start.rst(NNNNta decorationNhhub.