b4sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/scheduler/sched-debugmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/zh_TW/scheduler/sched-debugmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/it_IT/scheduler/sched-debugmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ja_JP/scheduler/sched-debugmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ko_KR/scheduler/sched-debugmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/sp_SP/scheduler/sched-debugmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhV/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/scheduler/sched-debug.rsthKubhnote)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]h paragraph)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_CN/disclaimer-zh_CN.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h(Documentation/scheduler/sched-debug.rst h]h)}(h'Documentation/scheduler/sched-debug.rsth]h'Documentation/scheduler/sched-debug.rst}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h翻译h]h翻译}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhKubh)}(h.唐艺舟 Tang Yizhou h]h)}(h-唐艺舟 Tang Yizhou h](h唐艺舟 Tang Yizhou <}(hj hhhNhNubh reference)}(htangyeechou@gmail.comh]htangyeechou@gmail.com}(hj*hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:tangyeechou@gmail.comuh1j(hj ubh>}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhj ubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhsection)}(hhh](htitle)}(h调度器debugfsh]h调度器debugfs}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjXhhhhhK ubh)}(h用配置项CONFIG_SCHED_DEBUG=y启动内核后,将可以访问/sys/kernel/debug/sched 下的调度器专用调试文件。其中一些文件描述如下。h]h用配置项CONFIG_SCHED_DEBUG=y启动内核后,将可以访问/sys/kernel/debug/sched 下的调度器专用调试文件。其中一些文件描述如下。}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjXhhubjW)}(hhh](j\)}(hnuma_balancingh]hnuma_balancing}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjyhhhhhKubh)}(hX`numa_balancing` 目录用来存放控制非统一内存访问(NUMA)平衡特性的相关文件。 如果该特性导致系统负载太高,那么可以通过 `scan_period_min_ms, scan_delay_ms, scan_period_max_ms, scan_size_mb` 文件控制NUMA缺页的内核采样速率。h](htitle_reference)}(h`numa_balancing`h]hnuma_balancing}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 目录用来存放控制非统一内存访问(NUMA)平衡特性的相关文件。 如果该特性导致系统负载太高,那么可以通过 }(hjhhhNhNubj)}(hE`scan_period_min_ms, scan_delay_ms, scan_period_max_ms, scan_size_mb`h]hCscan_period_min_ms, scan_delay_ms, scan_period_max_ms, scan_size_mb}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh/ 文件控制NUMA缺页的内核采样速率。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjyhhubjW)}(hhh](j\)}(hCscan_period_min_ms, scan_delay_ms, scan_period_max_ms, scan_size_mbh]hCscan_period_min_ms, scan_delay_ms, scan_period_max_ms, scan_size_mb}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjhhhhhKubh)}(hX自动NUMA平衡会扫描任务地址空间,检测页面是否被正确放置,或者数据是否应该被 迁移到任务正在运行的本地内存结点,此时需解映射页面。每个“扫描延迟”(scan delay) 时间之后,任务扫描其地址空间中下一批“扫描大小”(scan size)个页面。若抵达 内存地址空间末尾,扫描器将从头开始重新扫描。h]hX自动NUMA平衡会扫描任务地址空间,检测页面是否被正确放置,或者数据是否应该被 迁移到任务正在运行的本地内存结点,此时需解映射页面。每个“扫描延迟”(scan delay) 时间之后,任务扫描其地址空间中下一批“扫描大小”(scan size)个页面。若抵达 内存地址空间末尾,扫描器将从头开始重新扫描。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hX结合来看,“扫描延迟”和“扫描大小”决定扫描速率。当“扫描延迟”减小时,扫描速率 增加。“扫描延迟”和每个任务的扫描速率都是自适应的,且依赖历史行为。如果页面被 正确放置,那么扫描延迟就会增加;否则扫描延迟就会减少。“扫描大小”不是自适应的, “扫描大小”越大,扫描速率越高。h]hX结合来看,“扫描延迟”和“扫描大小”决定扫描速率。当“扫描延迟”减小时,扫描速率 增加。“扫描延迟”和每个任务的扫描速率都是自适应的,且依赖历史行为。如果页面被 正确放置,那么扫描延迟就会增加;否则扫描延迟就会减少。“扫描大小”不是自适应的, “扫描大小”越大,扫描速率越高。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjhhubh)}(hX更高的扫描速率会产生更高的系统开销,因为必须捕获缺页异常,并且潜在地必须迁移 数据。然而,当扫描速率越高,若工作负载模式发生变化,任务的内存将越快地迁移到 本地结点,由于远程内存访问而产生的性能影响将降到最低。下面这些文件控制扫描延迟 的阈值和被扫描的页面数量。h]hX更高的扫描速率会产生更高的系统开销,因为必须捕获缺页异常,并且潜在地必须迁移 数据。然而,当扫描速率越高,若工作负载模式发生变化,任务的内存将越快地迁移到 本地结点,由于远程内存访问而产生的性能影响将降到最低。下面这些文件控制扫描延迟 的阈值和被扫描的页面数量。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjhhubh)}(h``scan_period_min_ms`` 是扫描一个任务虚拟内存的最小时间,单位是毫秒。它有效地 控制了每个任务的最大扫描速率。h](hliteral)}(h``scan_period_min_ms``h]hscan_period_min_ms}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 是扫描一个任务虚拟内存的最小时间,单位是毫秒。它有效地 控制了每个任务的最大扫描速率。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK+hjhhubh)}(hg``scan_delay_ms`` 是一个任务初始化创建(fork)时,第一次使用的“扫描延迟”。h](j)}(h``scan_delay_ms``h]h scan_delay_ms}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhV 是一个任务初始化创建(fork)时,第一次使用的“扫描延迟”。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK.hjhhubh)}(h``scan_period_max_ms`` 是扫描一个任务虚拟内存的最大时间,单位是毫秒。它有效地 控制了每个任务的最小扫描速率。h](j)}(h``scan_period_max_ms``h]hscan_period_max_ms}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubh 是扫描一个任务虚拟内存的最大时间,单位是毫秒。它有效地 控制了每个任务的最小扫描速率。}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK0hjhhubh)}(hd``scan_size_mb`` 是一次特定的扫描中,要扫描多少兆字节(MB)对应的页面数。h](j)}(h``scan_size_mb``h]h scan_size_mb}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjKubhT 是一次特定的扫描中,要扫描多少兆字节(MB)对应的页面数。}(hjKhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK3hjhhubeh}(h]@scan-period-min-ms-scan-delay-ms-scan-period-max-ms-scan-size-mbah ]h"]Cscan_period_min_ms, scan_delay_ms, scan_period_max_ms, scan_size_mbah$]h&]uh1jVhjyhhhhhKubeh}(h]numa-balancingah ]h"]numa_balancingah$]h&]uh1jVhjXhhhhhKubeh}(h]debugfsah ]h"]调度器debugfsah$]h&]uh1jVhhhhhhhK ubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(j[N 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}(j|jyjtjqjljiu nametypes}(j|jtjluh}(jyjXjqjyjiju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log]:Documentation/translations/zh_CN/scheduler/sched-debug.rst(NNNNta decorationNhhub.