
Инженер Microsoft создал gputaskman, чтобы показать, что занимает видеопамять
Инженер Microsoft Скотт Хансельман опубликовал gputaskman — терминальную утилиту, которая показывает, какие процессы используют GPU и сколько видеопамяти они занимают. Она также ищет сведения о запущенных локальных нейросетях. Хансельман развивает утилиту как личный экспериментальный проект с открытым кодом.
Что gputaskman показывает по каждому процессу
В списке процессов можно увидеть, сколько видеопамяти заняли браузер, игра или программа для запуска нейросети. В Windows утилита также показывает использование системной памяти, доступной GPU, и активность отдельных блоков видеокарты, если драйвер отдаёт эти данные.
Отдельная панель показывает общую загрузку GPU, температуру, частоты, энергопотребление и обмен данными по PCIe. На совместимом оборудовании видна и активность блоков кодирования и декодирования видео. Набор показателей зависит от системы, видеокарты и драйвера.
Как утилита оценивает расход памяти нейросетями
При запуске локальной нейросети gputaskman может определить её имя и показать архитектуру, формат квантования, число слоёв и размер весов. Для этого утилита использует файлы моделей, параметры запуска и данные программ вроде llama.cpp и Ollama. Она также может оценить размер KV-кеша — памяти, которая помогает модели учитывать уже обработанный контекст.
Расход памяти процесса берётся из доступных системных счётчиков. Разбивка по весам и кешу часто рассчитывается косвенно. Например, если процесс открыл файл модели, это ещё не показывает, какая часть весов находится на видеокарте.
Где скачать и как запустить gputaskman
В репозитории Хансельмана опубликован код под лицензией MIT. В версии 0.3.0 появилась поддержка AMD в Windows. Для Linux и WSL разработчик указывает поддержку NVIDIA. На Mac с Apple Silicon утилиту запускают из исходного кода. Там она показывает загрузку GPU и использование общей памяти.
На странице выпусков доступны переносимые сборки для Windows и Linux. В Windows распакуйте ZIP целиком и выполните .\gputaskman.exe в PowerShell из папки программы. Отдельная установка Python или CUDA Toolkit для готовой сборки не требуется.
Журналист Neowin Иван Енич попробовал Windows-версию. По его наблюдениям, она в основном работала как ожидалось, но показания температуры GPU иногда переставали обновляться.