sysinfo

Cross-platform Rust library for fetching system information — CPU, memory, disks, processes, and networks

Library
Cargo
v0.39.6
2,736stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
79/100Good
Development Activity96
Maintenance52
Community68
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
76/100Good
Architecture80
Code Quality82
Innovation72
Learning Curve70

sysinfo is a Rust crate that provides a unified, cross-platform API for reading a machine’s live system information: CPU usage per core, total and used memory/swap, disk usage and I/O, network interface traffic, running processes (with per-process CPU, memory, and disk usage), hardware components and their temperatures, and user account listings. It supports Linux, macOS, Windows, FreeBSD, NetBSD, Android, iOS, and Raspberry Pi, gracefully returning empty values on unsupported platforms rather than failing to compile or run.

The crate is built around a long-lived System struct that must be refreshed (via refresh_all() or more targeted refresh_* methods) before reading up-to-date values, since many metrics (like CPU usage) are computed as a diff between successive reads. It also exposes a C-compatible interface for use from non-Rust codebases and is one of the most widely downloaded Rust crates for system monitoring, powering task managers, monitoring agents, and diagnostic tooling across the Rust ecosystem.

What You Get

  • A unified System struct exposing CPU, memory/swap, process, disk, network, and component (temperature) information across 8 supported OSes
  • Fine-grained refresh_specifics(...) methods to update only the metrics you need, avoiding the cost of a full refresh
  • Per-process details including CPU usage, memory usage, and disk I/O, keyed by PID
  • A C-compatible interface (c_interface.rs + sysinfo.h) for use from C or other FFI-capable languages
  • Graceful degradation on unsupported platforms — calls return empty values instead of failing to compile or panicking
  • Optional multithread feature for parallelized data collection on supported platforms

Common Use Cases

  • Building system monitoring dashboards or task-manager-style applications in Rust
  • Collecting host-level telemetry (CPU, memory, disk, network) for observability agents and exporters
  • Implementing resource-aware process managers or schedulers that need live CPU/memory usage per process
  • Cross-platform diagnostic and troubleshooting tools that need consistent system data across Linux, macOS, and Windows

Under The Hood

Architecture - sysinfo is architected around a common public API (lib.rs, common/) that dispatches to per-platform backend modules — unix/linux, unix/apple, unix/bsd, windows, and an unknown fallback — each implementing the same trait-like surface (System, Cpu, Disks, Networks, Components, Users) using that platform’s native syscalls or /proc//sys filesystem reads. This lets consumers write one code path (System::new_all(), sys.refresh_all()) that behaves consistently regardless of the underlying OS. Tech Stack - Pure Rust core with FFI (a c_interface.rs module and generated sysinfo.h) for C consumers; platform backends call directly into OS-specific APIs (Windows APIs on Windows, sysctl/IOKit on macOS, /proc and /sys on Linux) without going through heavier abstraction crates; an optional multithread feature parallelizes data collection at the cost of higher memory use on some platforms. Code Quality - The project maintains a dedicated tests/ directory with per-feature test files (cpu, disk, network, process, users, components) plus code_checkers tooling, and explicitly documents that tests should run with --test-threads=1 since system-level reads can interfere with each other in parallel; with 214 contributors and near-continuous commit activity, the crate shows an unusually mature maintenance process for a systems-level library. API Design - The API favors a long-lived, refreshable System instance over stateless calls (since metrics like CPU usage require a diff between two reads), and the README is explicit about this performance-sensitive usage pattern, plus offers refresh_specifics for consumers who only need a subset of data — a thoughtful ergonomic tradeoff for a library whose naive usage pattern could otherwise be a performance footgun.

Used by 18 apps in this directory

Dart
74%
AGPL 3.0

AppFlowy

Productivity · Project Management · Collaboration

75,729

The open-source AI workspace that puts your data, your rules — with local LLMs, CRDT collaboration, and full self-hosting built in.

View details
66
Repo Health
81
Technical
66
Dependency
Built with
Dart74%
Rust24%
Updated 1 weeks ago
TypeScript
55%
Other

Cap

Team Chat · Video Conferencing

20,986

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
65
Dependency
Built with
TypeScript55%
Rust40%
Updated yesterday
Go
32%
Apache 2.0

CubeSandbox

Developer Tools · Security · AI Agents

11,247

Instant, concurrent, hardware-isolated MicroVM sandboxes for AI agents — E2B-API compatible, sub-60ms cold starts, and a built-in zero-trust egress proxy, all self-hostable at scale.

View details
83
Repo Health
88
Technical
63
Dependency
Built with
Go32%
Rust31%
C21%
Updated today
Rust
87%
MIT

fabro

Developer Tools · Devops

1,516

Define AI agent workflows as code graphs, route tasks across any LLM, and intervene only where it matters.

View details
81
Repo Health
83
Technical
70
Dependency
Built with
Rust87%
TypeScript11%
Updated yesterday
TypeScript
67%
MIT

Hoppscotch

Developer Tools

80,055

A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.

View details
91
Repo Health
83
Technical
66
Dependency
Built with
TypeScript67%
Vue23%
Updated 3 days ago
Rust
72%
Other

iii

Developer Tools · Devops

18,604

Compose, extend, and observe every backend service in real time using three primitives: Workers, Functions, and Triggers.

View details
86
Repo Health
85
Technical
69
Dependency
Built with
Rust72%
TypeScript17%
Updated yesterday
Rust
96%
Apache 2.0

InfluxDB

Databases · Analytics

31,705

Open-source time-series database built for real-time ingest, fast SQL queries, and embedded Python automation — powered by Apache Arrow and Parquet.

View details
86
Repo Health
76
Technical
72
Dependency
Built with
Rust96%
Updated yesterday
TypeScript
75%
Other

Jan

AI Assistants

44,052

Run LLMs 100% locally with full privacy, or connect to cloud AI — your machine, your data, your control.

View details
90
Repo Health
81
Technical
66
Dependency
Built with
TypeScript75%
Rust21%
Updated today
Rust
46%
MIT

Meetily

Productivity · AI Assistants

29,484

Privacy-first AI meeting assistant that transcribes and summarizes your meetings entirely on your local machine — no cloud, no data leakage.

View details
70
Repo Health
72
Technical
71
Dependency
Built with
Rust46%
TypeScript30%
Updated 2 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search