sysinfo

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

Library
Cargo
v0.39.6
2,753 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
80 /100 Excellent
Development Activity 100
Maintenance 52
Community 68
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
76 /100 Good
Architecture 80
Code Quality 82
Innovation 72
Learning Curve 70

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 22 apps in this directory

Rust
100%
Other

Meilisearch

Search

59,644

Lightning-fast hybrid search engine with AI-powered semantic and full-text retrieval for modern applications.

View details
90
Repo Health
88
Technical
67
Dependency
Built with
Rust 100%
Updated 6 days ago
TypeScript
95%
MIT

melty

AI Code Assistants · Code Editors · Developer Tools

5,462

The AI code editor where every chat message is a git commit you can revert, branch, or squash

View details
35
Repo Health
75
Technical
67
Dependency
Built with
TypeScript 95%
Updated 1 years ago
Svelte
63%
MIT

NeoHtop

Monitoring

9,399

A cross-platform desktop system monitor built with Rust, Tauri, and Svelte that gives real-time process visibility with a modern, themable UI.

View details
46
Repo Health
72
Technical
73
Dependency
Built with
Svelte 63%
TypeScript 23%
Rust 11%
Updated 7 months ago
Rust
91%
MIT

OpenPencil

AI Design Tools

6,464

An open-source, AI-native vector design tool with concurrent agent teams, design-as-code, a built-in MCP server, and multi-model intelligence — a distinct project from the similarly-named Figma-file-reading "open-pencil" editor.

View details
81
Repo Health
70
Technical
75
Dependency
Built with
Rust 91%
Updated 6 days ago
Rust
85%
AGPL 3.0

ParadeDB

Analytics · Databases · Search

9,436

Born out of Y Combinator's S2023 batch, ParadeDB is a Postgres extension that delivers Elasticsearch-quality BM25 search and real-time analytics without a separate search cluster to manage.

View details
89
Repo Health
87
Technical
68
Dependency
Built with
Rust 85%
PLpgSQL 15%
Updated 5 days ago
TypeScript
42%
MIT

Portpal

Developer Tools · Monitoring

525

A native desktop dashboard that shows every port your machine is listening on, kills the process blocking it in one click, and visualizes how your services are actually connected.

View details
29
Repo Health
44
Technical
78
Dependency
Built with
TypeScript 42%
Rust 24%
CSS 23%
Updated 6 months ago
Rust
90%
Apache 2.0

Qdrant

AI Development · Databases · Search

35,220

Open-source vector database and search engine built in Rust for production-grade AI applications — from semantic search to RAG pipelines and recommendation systems.

View details
92
Repo Health
87
Technical
62
Dependency
Built with
Rust 90%
Updated 6 days ago
Rust
63%
MIT

Readur

Bookmarks Archiving · File Storage · Knowledge Management

804

A self-hosted document management system that OCRs, indexes, and makes every PDF, scan, and Office file instantly searchable.

View details
83
Repo Health
78
Technical
67
Dependency
Built with
Rust 63%
TypeScript 32%
Updated 5 days ago
Rust
79%
AGPL 3.0

Spacedrive

Collaboration · File Storage

39,292

One file manager for all your devices and clouds — powered by a Virtual Distributed File System built in Rust.

View details
84
Repo Health
84
Technical
63
Dependency
Built with
Rust 79%
TypeScript 18%
Updated 2 weeks 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