К обсуждениям

WSL и рост kernel pool при работе через /mnt: локализуем границу без стресс-теста

Редакция VOne Технологии

Как безопасно проверить необычный рост paged и nonpaged pool при доступе WSL к Windows-файлам: базовая линия, малый синтетический набор, PoolMon и критерии немедленной остановки.

Разведите память Linux и пулы Windows

Высокая память процесса WSL и рост paged или nonpaged pool — разные наблюдения. PoolMon предназначен именно для отображения общих размеров пулов, числа выделений и тегов, поэтому сначала запишите базовую линию Windows до запуска дистрибутива. Затем зафиксируйте версии Windows, WSL, ядра и дистрибутива. Не ориентируйтесь только на общий процент памяти в Диспетчере задач: он не показывает, какой слой меняется. Если инструменты диагностики драйверов вам незнакомы, ограничьтесь штатными системными показателями и не устанавливайте случайные сборки PoolMon. Цель первого шага — подтвердить направление изменения, а не воспроизвести десятки гигабайт роста, описанные в чужом отчёте.

Сравните два малых одинаковых дерева

Создайте два синтетических набора из небольшого числа пустых файлов: один в домашнем каталоге Linux, второй в отдельной тестовой папке Windows, доступной через `/mnt`. Выполните одинаковое чтение списка имён с фиксированным пределом и завершите через заранее выбранное время. Microsoft рекомендует хранить файлы в той файловой системе, из которой вы работаете, прежде всего ради производительности; это не доказательство утечки, а полезный контроль границы. Не используйте реальный репозиторий, фотоархив или весь диск. Если рост наблюдается только на переходе между файловыми системами и повторяется на малом наборе, зафиксирована корреляция с границей. Если растут оба варианта, продолжайте искать нагрузку вне DrvFS.

Задайте стоп-пороги до эксперимента

Остановитесь при заметном ускорении роста пула, падении доступной памяти, задержках интерфейса или невозможности нормально завершить WSL. Не увеличивайте число файлов, чтобы получить эффект, и не собирайте долгую трассу на рабочей машине. Команда `wsl --shutdown` по официальной справке немедленно завершает все дистрибутивы и виртуальную машину WSL 2, но свежий issue утверждает, что в описанном случае память после этого не освобождалась. Это утверждение относится только к тому отчёту. Поэтому проверяйте показатели до и после завершения, не обещая результат. Если Windows становится нестабильной, сохраните работу в других приложениях и прекратите диагностику; повторная нагрузка опаснее, чем недостающий график.

Передайте версии и временной ряд, а не личные файлы

FAQ WSL просит указывать сборку Windows, режим WSL 1 или 2, версию ядра и дистрибутива, шаги, ожидаемое и фактическое поведение и подходящие диагностические данные. Добавьте короткий временной ряд: базовая линия, запуск WSL, контроль в Linux-каталоге, контроль через `/mnt`, остановка и состояние после `wsl --shutdown`. Для PoolMon достаточно релевантных тегов и агрегированных чисел; не публикуйте полный снимок процессов, имена рабочих файлов или тяжёлую ETL-трассу. Отдельно укажите, что тест был ограничен. Такой пакет позволяет сравнить среду с issue, не выдавая его предполагаемую атрибуцию к `wcifs.sys` за подтверждённую разработчиками причину.

Материал подготовлен редакцией VOne с применением ИИ для безопасной матрицы; факты сверены по Microsoft Learn, а численные утверждения issue не перенесены как установленные факты.

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

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.