Кроссплатформенная библиотека Python для получения данных об использовании процессов и системы: CPU, памяти, дисков, сети и датчиков.
shirou/gopsutil
Порт psutil на Go для получения информации о системе: процессоре, памяти, дисках, сети и процессах на разных платформах.
- Звёзды
- 11,938
- Форки
- 1,691
- Открытые issues
- 219
- Последний коммит
- позавчера
Что это?
gopsutil — библиотека для Go, которая предоставляет единую API для получения системных метрик и информации о процессах и построена по образцу Python-библиотеки psutil. С её помощью программы на Go могут запрашивать время и загрузку CPU, данные о виртуальной памяти и swap, разделах и использовании дисков, счётчиках сетевого ввода-вывода и соединениях, сведения о хосте и загрузке, пользователях, а также данные об отдельных процессах — например, об использовании памяти и CPU и открытых файлах.
Библиотека поддерживает Linux, FreeBSD, OpenBSD, macOS (Darwin), Windows и Solaris на нескольких архитектурах, а также частично DragonFly BSD и Linux RISC-V. Она реализована без cgo: необходимые C-структуры перенесены на Go, поэтому библиотеку можно собирать и кросс-компилировать стандартными инструментами. Специфичные для платформы данные доступны через структуры `Ex`, например `ExLinux` и `ExWindows`.
В проекте используется календарная схема версионирования (vMAJOR.YY.MM), требуется Go 1.18 или новее. В комплект входят несколько помощников только для Linux: для получения статистики CPU и памяти cgroup контейнеров Docker и счётчиков conntrack в netfilter. Пути к каталогам, например /proc и /sys, можно переопределить с помощью переменных окружения или значения в контексте.
Ключевые возможности
- 01Кроссплатформенные метрики CPU, памяти, дисков и сети через единую API на Go
- 02Информация об отдельных процессах: память, CPU, открытые файлы и соединения
- 03Не требует cgo: C-структуры перенесены на Go
- 04Дополнительные платформенные данные через структуры `Ex`, например `ExLinux` и `ExWindows`
- 05Настраиваемые системные пути для контейнеров и альтернативных точек монтирования
Сценарии использования
- Создание агентов мониторинга или exporters, которые собирают метрики хоста на Go
- Разработка CLI-инструментов для отображения состояния системы в Linux, macOS и Windows
- Сбор данных об использовании ресурсов отдельными процессами для диагностики или дашбордов
- Получение статистики cgroup контейнеров Docker из Linux-хоста
Быстрый старт
- 1
Установите библиотеку в свой модуль Go
go get github.com/shirou/gopsutil/v4 - 2
Импортируйте пакет, например mem, и считывайте статистику системной памяти в коде
Что важно знать
- Требуется Go 1.18 или выше.
- Поддержка зависит от платформы; некоторые функции работают частично или некорректно в отдельных операционных системах.
Темы
Частые вопросы
- Что такое gopsutil?
- Порт psutil на Go для получения информации о системе: процессоре, памяти, дисках, сети и процессах на разных платформах. gopsutil — библиотека для Go, которая предоставляет единую API для получения системных метрик и информации о процессах и построена по образцу Python-библиотеки psutil. С её помощью программы на Go могут запрашивать время и загрузку CPU, данные о виртуальной памяти и swap, разделах и использовании дисков, счётчиках сетевого ввода-вывода и соединениях, сведения о хосте и загрузке, пользователях, а также данные об отдельных процессах — например, об использовании памяти и CPU и открытых файлах.
- gopsutil можно использовать бесплатно? Какая у него лицензия?
- gopsutil распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- gopsutil всё ещё поддерживается?
- Активно поддерживается. Последний коммит в gopsutil — 5 нояб. 2026 г..
- Для чего можно использовать gopsutil?
- Создание агентов мониторинга или exporters, которые собирают метрики хоста на Go Разработка CLI-инструментов для отображения состояния системы в Linux, macOS и Windows Сбор данных об использовании ресурсов отдельными процессами для диагностики или дашбордов Получение статистики cgroup контейнеров Docker из Linux-хоста
- Как установить gopsutil?
- Установите библиотеку в свой модуль Go: go get github.com/shirou/gopsutil/v4 Импортируйте пакет, например mem, и считывайте статистику системной памяти в коде
- Где скачать gopsutil?
- Исходный код и инструкции по установке — на GitHub: https://github.com/shirou/gopsutil
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Приложение для строки меню macOS, которое в реальном времени показывает статистику CPU, GPU, памяти, диска, сети, батареи, датчиков и Bluetooth.
Терминальный интерфейс для графиков температуры, частоты, энергопотребления и загрузки CPU со встроенным стресс-тестом.
Быстрый аналог neofetch для командной строки: показывает сведения о системе рядом с настраиваемым ASCII-логотипом.
htop — интерактивный просмотрщик процессов в терминале для Linux, BSD и macOS с прокруткой, сортировкой, фильтрацией и управлением процессами.
Библиотека .NET для запуска процессов командной строки с гибкой настройкой, перенаправлением stdin/stdout/stderr и асинхронной отменой.