Skip to main content

Supported Platforms

gopsutil provides comprehensive system and process monitoring capabilities across multiple operating systems and architectures. The library is implemented entirely in Go without cgo dependencies.

Primary Platform Support

Linux

Full support for i386, amd64, arm, and RISC-V architectures

Windows

Complete support for i386, amd64, arm, and arm64 architectures

macOS

Native support for both Intel (amd64) and Apple Silicon (arm64)

FreeBSD

Supports i386, amd64, and arm architectures

OpenBSD

Wide architecture support including i386, amd64, armv7, arm64, and riscv64

Solaris

Support for amd64 on SmartOS/Illumos

Partial Support

The following platforms have limited functionality:
  • DragonFly BSD: CPU monitoring only
  • Linux RISC-V: Host information only
  • AIX: Various system metrics with some limitations
  • Plan 9: Basic metrics available

Feature Compatibility Matrix

The following table shows which features are available on each major platform:

System Metrics

FeatureLinuxFreeBSDOpenBSDmacOSWindowsSolarisPlan 9AIX
cpu_times⚠️
cpu_count
cpu_percent
cpu_times_percent
virtual_memory⚠️
swap_memory
disk_partitions
disk_io_counters
disk_usage
net_io_counters⚠️
boot_time
users
pids
pid_exists
net_connections
net_protocols
net_if_addrs
net_if_stats
netfilter_conntrack
sensors_temperature
Legend:
  • ✓ = Fully supported
  • ⚠️ = Partially supported or with known issues
  • Empty cell = Not supported

Process Information

FeatureLinuxFreeBSDOpenBSDmacOSWindows
pid
ppid
name
cmdline
create_time
status
cwd
exe
uids
gids
terminal
io_counters
nice
num_fds
num_ctx_switches
num_threads
cpu_times
memory_info
memory_maps
open_files
send_signal
suspend
resume
terminate
kill
username
rlimit
threads
cpu_percent
memory_percent
parent
children
connections
page_faults

Architecture Support

Linux

  • i386: 32-bit Intel/AMD processors
  • amd64: 64-bit Intel/AMD processors
  • arm: ARM processors (including Raspberry Pi)
  • RISC-V: Emerging RISC-V architecture (host information only)

Windows

  • i386: 32-bit x86
  • amd64: 64-bit x86-64
  • arm: 32-bit ARM
  • arm64: 64-bit ARM

macOS (Darwin)

  • amd64: Intel-based Macs
  • arm64: Apple Silicon (M1, M2, M3, etc.)

BSD Variants

  • FreeBSD: i386, amd64, arm
  • OpenBSD: i386, amd64, armv7, arm64, riscv64
  • DragonFly BSD: CPU monitoring only

Other Platforms

  • Solaris: amd64 (SmartOS/Illumos)
  • AIX: Various architectures with partial support
  • Plan 9: Basic support

Implementation Notes

All platform implementations are written in pure Go without CGO dependencies. This ensures:
  • Easy cross-compilation
  • No C compiler requirements
  • Better portability
  • Simplified deployment

Next Steps

Platform-Specific Details

Learn about the Ex structs for platform-specific information

Environment Configuration

Configure custom paths for system directories

Build docs developers (and LLMs) love