n1ro°
RU

Текст и данные · Инструкция

WSL kernelDebugPort: как настроить порт отладки ядра

Если нужен WSL kernelDebugPort, сначала отделите симптом от настройки. В `.wslconfig` параметр `kernelDebugPort` задаёт порт relay для отладчика Linux-ядра; 0 отключает отладку; конфигурация глобальна для WSL 2 и влияет на её виртуальную машину.

Редакция N1RO · Проверено

Короткий ответ

В `%UserProfile%\.wslconfig` задайте `kernelDebugPort=50000`, затем выполните `wsl --shutdown` и снова запустите WSL. Это не замена обычному dmesg и порт не стоит открывать без нужды.

Что делает `kernelDebugPort` в WSL 2

`kernelDebugPort` относится к глобальным настройкам WSL 2. Задаёт порт relay для отладчика linux-ядра; 0 отключает отладку. Это не то же самое, что `/etc/wsl.conf`: тот файл относится к отдельному дистрибутиву, а `.wslconfig` лежит в профиле Windows. Практический смысл настройки появляется, когда разработчику ядра нужен фиксированный порт отладчика. Если измеримого симптома нет, значение по умолчанию обычно лучше дополнительной нестандартной переменной. Перед изменением запишите текущее состояние и тест, по которому будете сравнивать результат.

Совет: Сохраните копию `.wslconfig` и меняйте один ключ за раз. Так проще понять, что именно повлияло на систему.

Как задать `kernelDebugPort` и применить конфигурацию

  1. Откройте PowerShell и выполните `notepad $env:USERPROFILE\.wslconfig`; если файла нет, создайте его без расширения `.txt`.
  2. В секции `[wsl2]` добавьте `kernelDebugPort=50000`. Если `kernelDebugPort` уже есть, измените существующую строку, а не создавайте дубликат.
  3. Сохраните файл и закройте работающие Linux-процессы, чтобы не потерять несохранённую работу.
  4. В Windows выполните `wsl --shutdown`. Простого закрытия окна терминала недостаточно, потому что VM может продолжать работать.
  5. Запустите дистрибутив снова и проверьте результат: убедитесь, что выбранный порт свободен и kernel debugger relay подключается именно к нему.

Предупреждение: Это не замена обычному dmesg и порт не стоит открывать без нужды. Если результат ухудшился, верните прежнее значение, снова выполните `wsl --shutdown` и повторите исходный тест.

Как проверить эффект `kernelDebugPort` после перезапуска

Не меняйте одновременно память, сеть, ядро и `kernelDebugPort`. Сначала воспроизведите проблему, зафиксируйте результат, затем примените только эту правку. После перезапуска выполните тот же сценарий: проверить отсутствие конфликта порта и подключение отладчика. Если улучшение не повторяется, причина может быть в службе дистрибутива, Windows-драйвере, VPN, файловой системе или другой части стека. Возврат к дефолту уменьшит число переменных и упростит следующую диагностику. Для длительного использования оставляйте параметр только при устойчивом, понятном результате.

Важно: Критерий успеха должен быть измеримым: время старта, число CPU, доступность сети, наличие модуля или созданный лог, а не ощущение «стало лучше».

Что зафиксировать до изменения `kernelDebugPort`

Перед правкой выполните `wsl -l -v` и запишите исходное поведение. Для `kernelDebugPort` важно иметь один повторяемый тест: убедитесь, что выбранный порт свободен и kernel debugger relay подключается именно к нему. Это позволит сравнить состояние до и после, а не оценивать изменение по общему впечатлению.

Как откатить `kernelDebugPort` без переустановки дистрибутива

Верните прежнюю строку или удалите явный `kernelDebugPort`, сохраните `.wslconfig` и выполните `wsl --shutdown`. После нового запуска WSL снова применит значение по умолчанию: 0. Файлы Linux при таком откате не удаляются.

Какая ошибка чаще всего мешает проверить `kernelDebugPort`

Не меняйте одновременно соседние параметры `.wslconfig`. Если вместе с `kernelDebugPort` изменить сеть, память или ядро, источник эффекта потеряется. Сначала меняйте только этот ключ, затем повторяйте тот же тест: убедитесь, что выбранный порт свободен и kernel debugger relay подключается именно к нему.

Когда оставить `kernelDebugPort`, а когда откатить

  • `.wslconfig` находится в `%UserProfile%` Windows
  • настройка относится к WSL 2, а не WSL 1
  • после изменения выполнен `wsl --shutdown`
  • проверена именно исходная задача, а не случайный соседний симптом
  • старое значение сохранено для быстрого отката

Что учитывать

Условия меняются. Страница отражает состояние на 2026-09-23; при расхождении с официальной документацией приоритет у первоисточника.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Advanced settings configuration in WSL). Пример и формулировки — редакция N1RO на 2026-09-23.