.. SPDX-License-Identifier: GPL-2.0 .. include:: ../disclaimer-zh_CN.rst :Original: Documentation/scheduler/sched-debug.rst :翻译: å”艺舟 Tang Yizhou <tangyeechou@gmail.com> ============= 调度器debugfs ============= 用é…置项CONFIG_SCHED_DEBUG=yå¯åŠ¨å†…æ ¸åŽï¼Œå°†å¯ä»¥è®¿é—®/sys/kernel/debug/sched 下的调度器专用调试文件。其ä¸ä¸€äº›æ–‡ä»¶æ述如下。 numa_balancing ============== `numa_balancing` 目录用æ¥å˜æ”¾æŽ§åˆ¶éžç»Ÿä¸€å†…å˜è®¿é—®ï¼ˆNUMA)平衡特性的相关文件。 如果该特性导致系统负载太高,那么å¯ä»¥é€šè¿‡ `scan_period_min_ms, scan_delay_ms, scan_period_max_ms, scan_size_mb` 文件控制NUMAç¼ºé¡µçš„å†…æ ¸é‡‡æ ·é€ŸçŽ‡ã€‚ scan_period_min_ms, scan_delay_ms, scan_period_max_ms, scan_size_mb ------------------------------------------------------------------- 自动NUMA平衡会扫æ任务地å€ç©ºé—´ï¼Œæ£€æµ‹é¡µé¢æ˜¯å¦è¢«æ£ç¡®æ”¾ç½®ï¼Œæˆ–者数æ®æ˜¯å¦åº”该被 è¿ç§»åˆ°ä»»åŠ¡æ£åœ¨è¿è¡Œçš„本地内å˜ç»“点,æ¤æ—¶éœ€è§£æ˜ 射页é¢ã€‚æ¯ä¸ªâ€œæ‰«æ延迟â€ï¼ˆscan delay) 时间之åŽï¼Œä»»åŠ¡æ‰«æ其地å€ç©ºé—´ä¸ä¸‹ä¸€æ‰¹â€œæ‰«æ大å°â€ï¼ˆscan size)个页é¢ã€‚若抵达 内å˜åœ°å€ç©ºé—´æœ«å°¾ï¼Œæ‰«æ器将从头开始é‡æ–°æ‰«æ。 结åˆæ¥çœ‹ï¼Œâ€œæ‰«æ延迟â€å’Œâ€œæ‰«æ大å°â€å†³å®šæ‰«æ速率。当“扫æ延迟â€å‡å°æ—¶ï¼Œæ‰«æ速率 å¢žåŠ ã€‚â€œæ‰«æ延迟â€å’Œæ¯ä¸ªä»»åŠ¡çš„扫æ速率都是自适应的,且ä¾èµ–历å²è¡Œä¸ºã€‚如果页é¢è¢« æ£ç¡®æ”¾ç½®ï¼Œé‚£ä¹ˆæ‰«æå»¶è¿Ÿå°±ä¼šå¢žåŠ ï¼›å¦åˆ™æ‰«æ延迟就会å‡å°‘。“扫æ大å°â€ä¸æ˜¯è‡ªé€‚应的, “扫æ大å°â€è¶Šå¤§ï¼Œæ‰«æ速率越高。 更高的扫æé€ŸçŽ‡ä¼šäº§ç”Ÿæ›´é«˜çš„ç³»ç»Ÿå¼€é”€ï¼Œå› ä¸ºå¿…é¡»æ•èŽ·ç¼ºé¡µå¼‚常,并且潜在地必须è¿ç§» æ•°æ®ã€‚然而,当扫æ速率越高,若工作负载模å¼å‘生å˜åŒ–,任务的内å˜å°†è¶Šå¿«åœ°è¿ç§»åˆ° 本地结点,由于远程内å˜è®¿é—®è€Œäº§ç”Ÿçš„性能影å“å°†é™åˆ°æœ€ä½Žã€‚下é¢è¿™äº›æ–‡ä»¶æŽ§åˆ¶æ‰«æ延迟 的阈值和被扫æ的页é¢æ•°é‡ã€‚ ``scan_period_min_ms`` 是扫æ一个任务虚拟内å˜çš„最å°æ—¶é—´ï¼Œå•ä½æ˜¯æ¯«ç§’。它有效地 控制了æ¯ä¸ªä»»åŠ¡çš„最大扫æ速率。 ``scan_delay_ms`` 是一个任务åˆå§‹åŒ–创建(fork)时,第一次使用的“扫æ延迟â€ã€‚ ``scan_period_max_ms`` 是扫æ一个任务虚拟内å˜çš„最大时间,å•ä½æ˜¯æ¯«ç§’。它有效地 控制了æ¯ä¸ªä»»åŠ¡çš„最å°æ‰«æ速率。 ``scan_size_mb`` 是一次特定的扫æä¸ï¼Œè¦æ‰«æ多少兆å—节(MB)对应的页é¢æ•°ã€‚