CPU, 메모리, 디스크, 네트워크, 센서 등의 프로세스 및 시스템 사용량 정보를 조회하는 크로스 플랫폼 Python 라이브러리입니다.
shirou/gopsutil
여러 플랫폼에서 CPU, 메모리, 디스크, 네트워크 및 프로세스 통계를 조회하는 psutil의 Go 포트입니다.
- 스타
- 11,938
- 포크
- 1,691
- 열린 이슈
- 219
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
gopsutil은 Python psutil 라이브러리를 모델로 삼아 단일 API로 시스템 메트릭과 프로세스 정보를 제공하는 Go 라이브러리입니다. Go 프로그램에서 CPU 시간과 사용량, 가상 메모리와 스왑 메모리, 디스크 파티션과 사용량, 네트워크 I/O 카운터, 연결 정보, 호스트 및 부팅 정보, 사용자 정보와 메모리·CPU·열린 파일 등의 프로세스별 세부 정보를 조회할 수 있습니다.
이 라이브러리는 여러 아키텍처에서 Linux, FreeBSD, OpenBSD, macOS(Darwin), Windows, Solaris를 지원하며 DragonFly BSD와 Linux RISC-V는 일부 지원합니다. 관련 C 구조체를 Go로 포팅해 cgo 없이 구현했기 때문에 표준 툴체인으로 빌드하고 크로스 컴파일할 수 있습니다. `ExLinux`, `ExWindows` 같은 `Ex` 구조체를 통해 플랫폼별 세부 정보도 확인할 수 있습니다.
프로젝트는 달력 버전 관리(vMAJOR.YY.MM)를 사용하며 Go 1.18 이상이 필요합니다. Docker 컨테이너의 CPU 및 메모리 cgroup 통계와 netfilter conntrack 카운터를 조회하는 Linux 전용 헬퍼도 포함되어 있습니다. 환경 변수나 컨텍스트 값을 사용해 /proc, /sys 같은 디렉터리 경로를 다른 경로로 지정할 수 있습니다.
핵심 기능
- 01단일 Go API로 여러 플랫폼의 CPU, 메모리, 디스크, 네트워크 메트릭 조회
- 02메모리, CPU, 열린 파일, 연결 정보 등의 프로세스별 정보 제공
- 03cgo 의존성 없이 C 구조체를 Go로 포팅해 구현
- 04`ExLinux`, `ExWindows` 같은 `Ex` 구조체를 통한 플랫폼별 추가 정보 제공
- 05컨테이너나 다른 마운트 지점에 맞게 시스템 경로 설정 가능
활용 사례
- Go로 호스트 메트릭을 보고하는 모니터링 에이전트나 익스포터 구축
- Linux, macOS, Windows에서 시스템 상태를 표시하는 CLI 도구 작성
- 진단이나 대시보드를 위해 프로세스별 리소스 사용량 수집
- Linux 호스트 내부에서 Docker 컨테이너의 cgroup 통계 조회
빠른 시작
- 1
라이브러리를 Go 모듈에 설치합니다
go get github.com/shirou/gopsutil/v4 - 2
mem과 같은 패키지를 가져와 코드에서 시스템 메모리 통계를 읽습니다
사용 전 알아둘 점
- Go 1.18 이상이 필요합니다.
- 플랫폼별 지원 범위가 다릅니다. 일부 함수는 특정 운영체제에서 부분적으로만 작동하거나 제대로 작동하지 않을 수 있습니다.
토픽
자주 묻는 질문
- gopsutil은(는) 무엇인가요?
- 여러 플랫폼에서 CPU, 메모리, 디스크, 네트워크 및 프로세스 통계를 조회하는 psutil의 Go 포트입니다. gopsutil은 Python psutil 라이브러리를 모델로 삼아 단일 API로 시스템 메트릭과 프로세스 정보를 제공하는 Go 라이브러리입니다. Go 프로그램에서 CPU 시간과 사용량, 가상 메모리와 스왑 메모리, 디스크 파티션과 사용량, 네트워크 I/O 카운터, 연결 정보, 호스트 및 부팅 정보, 사용자 정보와 메모리·CPU·열린 파일 등의 프로세스별 세부 정보를 조회할 수 있습니다.
- gopsutil은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- gopsutil은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- gopsutil은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. gopsutil의 마지막 커밋은 2026년 11월 5일입니다.
- gopsutil은(는) 어디에 사용할 수 있나요?
- Go로 호스트 메트릭을 보고하는 모니터링 에이전트나 익스포터 구축 Linux, macOS, Windows에서 시스템 상태를 표시하는 CLI 도구 작성 진단이나 대시보드를 위해 프로세스별 리소스 사용량 수집 Linux 호스트 내부에서 Docker 컨테이너의 cgroup 통계 조회
- gopsutil는 어떻게 설치하나요?
- 라이브러리를 Go 모듈에 설치합니다: go get github.com/shirou/gopsutil/v4 mem과 같은 패키지를 가져와 코드에서 시스템 메모리 통계를 읽습니다
- gopsutil은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/shirou/gopsutil
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
CPU, GPU, 메모리, 디스크, 네트워크, 배터리, 센서 및 Bluetooth 통계를 실시간으로 보여주는 macOS 메뉴 막대 앱입니다.
CPU 온도, 주파수, 전력, 사용률을 그래프로 보여 주고 CPU 스트레스 테스트를 내장한 터미널 UI입니다.
시스템 정보를 사용자 지정 ASCII 로고와 함께 표시하는 빠르고 neofetch와 유사한 명령줄 도구입니다.
htop은 Linux, BSD, macOS에서 스크롤, 정렬, 필터링, 프로세스 제어를 지원하는 대화형 터미널 프로세스 뷰어입니다.