syswatch

matthart1983MIT活跃维护

在终端里查看 macOS 和 Linux 的系统诊断信息,实时追踪资源占用并回溯近期活动,适合排查性能问题。

System diagnostics in your terminal. Investigate resource use and revisit recent activity on macOS and Linux.

v0.14.5发布于 2026-11-03 10:01 UTC925star +4 / 7 天43fork同步于 2026-11-10 17:54 UTC

怎么上手

由 README 提炼,执行前请确认
brew install syswatch
syswatch
硬件要求按 README 说明

README 未说明具体硬件要求;仅支持 macOS 与 Linux,预编译二进制覆盖 x86_64、aarch64,另有面向老 NAS 的 armv5te 与静态 Linux 构建。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

终端里的系统诊断工具,实时查看 CPU、内存、磁盘、进程等资源占用并回溯近期活动

在终端里查看 macOS 和 Linux 的系统诊断信息,实时追踪资源占用并回溯近期活动,适合排查性能问题。

核心能力

  • 十二个标签页覆盖 CPU、内存、磁盘、进程、GPU、电源、网络与服务
  • 支持历史回刷,默认保留 120 个采样点供回溯
  • 可录制会话、保存快照并回放,支持 diff 对比两次录制
  • 用启发式异常卡片定位资源尖峰并推荐排查标签页
  • 提供 Lite 80×24 与 Dense 130×44 两种紧凑视图

容易踩的坑

只读运行且无需 sudo,但可用的测量项取决于平台与权限;GPU 等部分指标仅在支持的平台上可用;录制长会话需写入磁盘并按 --keep 轮转清理。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.14.5
  1. v0.14.5最新正式版2026-11-03 · 2026-11-03 10:01 UTC

    Security

    • Recordings from R and --record, S snapshots and the config are now created readable only by your user, with files at 0600 and directories at 0700. Recordings and snapshots contain every visible process's full command line, and earlier versions created them under your umask, which usually let other users read them. syswatch narrows its sessions, ring and snapshots directories to 0700 the next time it writes to each one. To protect files an earlier version wrote right away, run chmod -R go= ~/.local/share/syswatch on Linux or chmod -R go= ~/Library/Application\ Support/syswatch on macOS, and check any copies you keep elsewhere.
    • S always creates a new snapshot file and never opens an existing entry at the same name. The config is saved through a temporary file and a rename.
    • Startup no longer reads other processes' environment variables. A full sysinfo refresh at startup read /proc/<pid>/environ for every readable process and kept the values in memory, though syswatch never showed them.
    • zstd's decoders for pre-1.0 formats are no longer built into syswatch. No version of syswatch wrote those formats.

    Changed

    • The minimum supported Rust is now 1.89. Cargo.toml declares it, and CI builds on it.
    • Updated dependencies, which clears the published advisories against anyhow, tokio, zstd, zstd-safe and zstd-sys. Removed tokio, which nothing used.
    • The published crate leaves out the demo GIFs. It is 259 KB, down from 6.1 MB.

    Fixed

    • The Homebrew tap formula's test expected syswatch --help to exit 1. It exits 0.
    • Dense no longer crashes in a terminal 3 to 8 rows tall, or on a key press in one, which used to leave the terminal in raw mode (#39).
    • --record now flushes its current chunk and exits cleanly on SIGTERM (systemctl stop) and SIGHUP, not only on Ctrl-C, and still ignores SIGHUP under nohup (#41).

    Release process

    • A release now stops before it builds anything unless its tag matches Cargo.toml, this file has a section for it, the commit is on main, and CI's Linux, macOS, release-guard, cargo-deny and MSRV jobs passed on that commit. Windows CI still runs, but doesn't hold a release.
    • scripts/release.sh X.Y.Z "summary" makes the release commit and its tag.
    • A failed release can run again against the same tag: gh workflow run release.yml --ref main -f tag=vX.Y.Z. A version that is already on crates.io counts as published.
    • A tag with a hyphen, such as v0.15.0-rc.1, makes a GitHub pre-release. It never goes to crates.io and never becomes the latest release. Only the newest release updates the Homebrew tap.
    • Releases carry SHA256SUMS, and take their notes from this file.
    • Workflows are read-only by default, with every action pinned to a commit. CI adds cargo-deny, an MSRV build and nextest, and Dependabot opens grouped updates weekly. The Nix build has its own workflow and a flake.lock.
  2. v0.14.42026-10-17 · 2026-10-17 21:38 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/matthart1983/syswatch/compare/v0.14.3...v0.14.4

  3. v0.14.32026-10-10 · 2026-10-10 23:15 UTC
    查看更新说明
  4. v0.14.22026-09-14 · 2026-09-14 09:14 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/matthart1983/syswatch/compare/v0.14.1...v0.14.2

  5. v0.14.12026-09-12 · 2026-09-12 02:07 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/matthart1983/syswatch/compare/v0.14.0...v0.14.1

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Monitor CPU, memory, disks, processes, GPU, power and network activity on macOS and Linux. Scrub recent history, record sessions, and investigate spikes with heuristic anomaly cards. SysWatch is read-only and runs without sudo; available measurements depend on your platform and permissions.

    Install

    brew install syswatch                 # macOS / Linux
    nix-shell -p syswatch                 # NixOS / Nix
    paru -S syswatch                      # Arch (AUR)
    cargo install syswatch                # build from source with Rust
    

    Prebuilt binaries are available for macOS and Linux (x86_64 and aarch64), with static Linux builds and an armv5te build for older NAS hardware. Build from source.

    Run

    syswatch                       # twelve tabs, default 1 Hz refresh
    syswatch --lite                # one 80×24 screen
    syswatch --dense               # all main subsystems, designed for 130×44
    syswatch --tab procs           # start on Processes
    

    1–9, 0, - and + switch tabs. V cycles views, ? shows help, q quits. Use ← / → to scrub recent history and End to return live.

    Every keybinding · Full-view demo

    The tabs

    KeyTabShows
    1OverviewActivity across subsystems
    2CPUCPU usage, load and per-core activity
    3MemoryMemory use, swap and pressure
    4DisksDisk read/write activity
    5FilesystemsCapacity, inode use and mounts
    6ProcsProcesses, resource use, sorting and filtering
    7GPUUtilisation and memory, where available
    8PowerBattery and available power measurements
    9Servicessystemd or launchd services
    0NetNetwork traffic
    -TimelineSession events and history scrubbing
    +InsightsAnomalies and suggested tabs to investigate

    Views

    ViewSizeFor
    FullTabbedExploring individual subsystems
    Lite (--lite)80×24SSH sessions and small terminals
    Dense (--dense)Designed for 130×44CPU, memory, network, cores, disk and processes together

    In Dense, 1–6 zoom a panel and Esc restores the grid. View details · Lite demo

    Record and report

    Press R to record an interactive session or S to save a snapshot.

    syswatch --record --keep 24h          # foreground recording without a TUI
    syswatch --replay session.swr         # replay a recording
    syswatch snapshot --json             # one live sample
    syswatch why                         # sample for 30s, explain detected anomalies
    syswatch diff before.swr after.swr   # compare recordings
    

    Live scrubbing holds 120 samples (two minutes at the default refresh rate). Record longer sessions to disk. Headless recording rotates files and prunes old chunks according to --keep; it runs until stopped. Recording and report details.

    Docs

    ReferenceControls, views, recording and reports
    Platform supportSensors, permissions, NVIDIA support and ZFS
    ArchitectureCollectors, history, rendering and refresh model
    SecuritySecurity policy

    Related

    NetWatch covers network diagnostics; DiskWatch covers disk activity. They share the terminal layout and palette.

    Thanks

    Community packagers maintain the Nix and Arch packages. Repology tracks package versions. File packaging issues with the packagers and SysWatch bugs here.

    License

    MIT