Здравствуйте, дорогие друзья!
Куда исчезают драгоценные гигабайты на системном диске?
Вы впервые запускаете Forge или ComfyUI или любой другой интерфейс, что-то качается, устанавливается — и через пару недель или дней Windows присылает то самое уведомление: «На диске C: заканчивается место». Открываете проводник, начинаете копать... и находите папку .cache в домашней директории на десятки гигабайт. Рядом ещё pip\cache и тоже немаленький. А вы даже и не знали, что они существуют.
Но не беспокойтесь. Это не вирус и не баг. Это Python и HuggingFace и другие, просто молча складывают всё на системный диск — и никто вас об этом не предупреждает. Сегодня разберёмся, как это исправить раз и навсегда.
Ниже три самых тяжёлых и самых известных виновника. Но на самом деле их значительно больше — .keras, .insightface, .triton, uv cache, LM Studio и другие, но о главных поговорим немного подробнее.
Прежде чем переносить — нужно понять, что именно, куда и как переносить.
pip cache живёт по адресу %LOCALAPPDATA%\pip\cache. Когда вы устанавливаете любой пакет через pip install, он сначала скачивается сюда в виде архива, а потом распаковывается. Кэш нужен, чтобы при повторной установке не качать то же самое заново. Весит обычно немного — несколько гигабайт, и особого вреда не наносит.
HuggingFace Hub — вот это настоящий пожиратель пространства. Живёт в папке %USERPROFILE%\.cache\huggingface\hub. Если более понятным языком — это путь C:\Users\ВашеИмя\.cache\huggingface\hub. Каждый раз, когда Forge, ComfyUI или любой Python-скрипт тянет модель через HuggingFace — её веса оседают именно здесь. Все модели, CLIP, VAE, ControlNet, IP-Adapter — всё туда. За месяц активной работы папка легко вырастает до 50–80 ГБ, и именно она обычно оказывается виновником забитого диска C:.
PyTorch Torch Hub ютится в %USERPROFILE%\.cache\torch. Скромнее предыдущего, но тоже потихоньку растёт при работе с предобученными PyTorch-моделями.
Ну и хорошая новость: почти все они переносятся без каких-либо последствий для работы программ. И многим абсолютно всё равно, на каком физическом диске лежат данные — лишь бы путь был правильный.
Метод первый: сказать программам, куда писать файлы
Самый чистый способ — объяснить инструментам, что системный диск для кэша больше не подходит. Делается это через настройки pip и переменные среды Windows. Звучит может быть сложно, но сейчас разберём всё по шагам.
pip
У pip есть свой маленький файл настроек — %APPDATA%\pip\pip.ini. Чтобы быстро попасть в нужную папку, нажмите Win + R, введите %APPDATA%\pip и нажмите Enter. Если такой папки нет — создайте её сами, а внутри создайте файл pip.ini. Откройте его блокнотом и напишите:
[global]
cache-dir = *:\AICache\pip
Вместо *:\AICache\pip подставьте свой путь на том диске, где есть место. Сохраните файл.
Или то же самое можно сделать одной командой в терминале (cmd или PowerShell):
pip config set global.cache-dir "ваш диск:\AICache\pip"
Проверить, куда pip пишет кэш прямо сейчас, можно командой:
pip cache dir
Небольшое, но важное замечание: в старых статьях (и, к сожалению, в некоторых свежих) до сих пор встречается параметр download-cache. Он был удалён ещё в pip 6.0 — в далёком 2014 году. Если напишете его — pip молча проигнорирует, кэш продолжит литься на C:. Только cache-dir — и никак иначе.
Ещё один момент, который часто понимают неправильно: команда pip cache purge удаляет только скачанные архивы-пакеты. Уже установленные библиотеки в site-packages она не трогает — бояться использовать её не стоит.
Переменные среды для HuggingFace и PyTorch
Для HuggingFace и PyTorch путь задаётся через переменные среды Windows. Это специальные настройки системы, которые программы читают при запуске — что-то вроде глобальных параметров для всего, что работает на вашем компьютере.
Минимально необходимые три переменные — HF_HOME, HF_HUB_CACHE и TORCH_HOME. Мой скрипт прописывает переменные для основных кэшей интерфейсов (но далеко не всех) сразу практически одним нажатием.
- HF_HOME со значением *:\AICache\huggingface — корневая папка для всего, что связано с HuggingFace
- HF_HUB_CACHE со значением *:\AICache\huggingface\hub — конкретно папка с весами моделей
- TORCH_HOME со значением *:\AICache\torch — кэш PyTorch
Пути подставьте свои — главное, чтобы диск существовал и на нём было свободное место.
Как это сделать — пошагово:
Нажмите Win + R, введите sysdm.cpl и нажмите Enter. Откроется окно «Свойства системы». Перейдите на вкладку «Дополнительно» и внизу нажмите кнопку «Переменные среды».
Перед вами два блока: верхний — переменные только для вашего пользователя, нижний — системные (для всех). Нам нужен нижний блок — «Системные переменные». Нажимаем кнопку «Создать» под ним.
Появится маленькое окошко с двумя полями. В поле «Имя переменной» вводим название переменной, в поле «Значение переменной» — путь. Нажали OK — переменная создана. Повторяем для каждой из трёх.
Например: (*-ваш диск) нажали «Создать» → имя HF_HOME → значение *:\AICache\huggingface → OK. Снова «Создать» → имя HF_HUB_CACHE → значение *:\AICache\huggingface\hub → OK. Снова «Создать» → имя TORCH_HOME → значение *:\AICache\torch → OK.
Когда все добавлены — нажимайте OK во всех открытых окнах и обязательно перезагрузите компьютер. Без перезагрузки программы новые переменные не увидят.
Чтобы убедиться, что всё прописалось правильно — откройте cmd или PowerShell и введите:
echo %HF_HOME%
Должен появиться ваш путь. Если видите %HF_HOME% буквально, как текст — значит либо перезагрузка ещё не была выполнена, либо что-то пошло не так при вводе.
Важный момент для тех, кто работал с нейросетями ещё в 2024–2025 году: переменная TRANSFORMERS_CACHE была полностью удалена в Transformers v5, вышедшем в январе 2026 года. Если она у вас прописана в системе — уберите её, она больше ничего не делает. Всё, что она раньше делала, теперь берёт на себя HF_HOME.
Метод второй: перенести уже накопленные данные
А что, если у вас уже лежат десятки гигабайт весов и качать всё заново совсем не хочется? Для этого есть отличное решение — junction-точки (directory junction).
Чтобы было понятно - вы переехали в новую квартиру, но на старом адресе на всякий случай оставили табличку: «Я теперь живу здесь → ...новый адрес». Почтальон приходит по старому адресу, видит табличку и идёт по новому (сомневаюсь конечно, но для примера сойдет))). Junction работает ровно так же: старый путь на диске C: остаётся, Windows автоматически перенаправляет все обращения в новую папку на другом диске. Программы ничего не замечают — они по-прежнему «думают», что данные лежат там, где всегда.
Откройте Командную строку — нажмите Win + R, введите cmd и нажмите Enter. Не PowerShell, а именно cmd — команда mklink является встроенной только в него. Затем вводите три команды по очереди:
robocopy "%USERPROFILE%\.cache\huggingface" "G:\AICache\huggingface" /E /NFL /NDL /NJH /NJS
rmdir /s /q "%USERPROFILE%\.cache\huggingface"
mklink /J "%USERPROFILE%\.cache\huggingface" "G:\AICache\huggingface"
Разберём, что делает каждая строка. Первая — копирует все файлы из старой папки в новую на диске G:. Вторая — удаляет старую папку (теперь она уже не нужна, данные в новом месте). Третья — создаёт на месте удалённой папки ту самую «табличку-перенаправление».
Почему именно такой порядок? Команда mklink /J создаёт junction только на том месте, где папки ещё нет. Попытаетесь создать её до удаления старой папки — получите ошибку. Поэтому сначала копируем, потом удаляем, и только потом создаём ссылку.
Те же самые три команды нужно повторить для pip cache и Torch cache и других, просто подставив нужные пути и имена.
Отдельно: где Forge и ComfyUI хранят сами модели
Кэш HuggingFace — это одно, но сами файлы моделей (.safetensors, .ckpt) Forge и ComfyUI хранят в своих папках внутри программы.
В Forge и Automatic1111 для этого есть специальные аргументы запуска. Откройте файл webui-user.bat в корне программы — он открывается обычным блокнотом. Найдите строку set COMMANDLINE_ARGS= и добавьте к ней:
set COMMANDLINE_ARGS=--ckpt-dir "G:\AIModels\Stable-diffusion" --lora-dir "G:\AIModels\Lora" --vae-dir "G:\AIModels\VAE"
После этого Forge будет искать модели именно в указанных папках. Пути в кавычках — обязательно, если в названии диска или папки есть пробелы.
В ComfyUI нужно отредактировать файл extra_model_paths.yaml, который лежит в корне программы. Если его нет — создайте сами. Содержимое выглядит так:
my_models:
base_path: G:/AIModels/
checkpoints: checkpoints/
vae: vae/
loras: loras/
clip: clip/
unet: unet/
Обратите внимание: слеши здесь должны быть именно прямыми /, а не обратными \ как обычно в Windows. Это особенность формата yaml — с обратными слешами файл может не распознаваться.
Если у вас возникают сложности с этим, то вы можете воспользоваться моими скриптами которые лежат в моем бусти, это практически однокликовые простые решения для Forge и для ComfyUI.
Если не хочется делать всё это вручную
Все описанные шаги — настройку переменных среды, перенос существующих данных через junction, очистку кэшей и диагностику занятого места — я упаковал в одном bat-скрипте. При запуске вы выбираете необходимый шаг и скрипт делает все за вас с проверкой ошибок и понятными сообщениями о том, что происходит. Никакого ручного ввода команд — скачал, поменял путь под свой диск, запустил.
Скачать их можно на Boosty — ссылка ниже.
После переноса скрипт умеет проверять не осталось ли чего лишнего на диске C: — покажет junction-точки и предупредит если где-то накопились реальные данные которые стоит перенести, и ваш диск наконец-то вздохнёт свободно.
На этом все. Надеюсь, информация была для вас полезной.
Ну и конечно же, если вам понравилась эта статья, буду рад вашим подпискам, комментариям и лайкам. Недавно я запустил Discord-канал и постараюсь поддерживать его насколько возможно, там вы сможете не только следить за новостями, но и общаться, делиться опытом и приобретать новые знания о нейросетях. Чтобы всегда быть в курсе моих новых материалов, подписывайтесь на мой Boosty, Telegram-канал и страницу "ВКонтакте". Пока что нас немного, но я надеюсь, что с течением времени сообщество станет больше. Это станет отличной мотивацией для меня активно работать и над другими социальными сетями.
Благодарю за внимание и всего доброго!