Skip to content

【Zig 日报】zfetch—— 用 Zig 编写的高性能系统信息获取工具 #313

@jiacai2050

Description

@jiacai2050

zfetch 是一款轻量级、高性能的系统信息获取工具,灵感源自 fastfetch。“z” 既代表其编写语言 Zig,也代表 zap(⚡ 意为闪电般飞快)。它旨在通过避免外部进程调用,转而使用原生 C API 或虚拟文件系统,从而实现极速的运行性能。

下载地址:https://github.com/jiacai2050/zigcli/releases/tag/v0.4.0

主要特性:

  • 跨平台支持: 支持 macOS、Linux 和 FreeBSD。
  • 详尽的内存信息:
    • macOS: 提供应用程序内存、联动内存(Wired Memory)和压缩内存的明细(与系统自带的“活动监视器”保持一致)。
    • Linux: 提供 Swap(交换空间)的使用详情。
    • FreeBSD: 使用 sysctl 获取内存信息,通过 ACPI 获取电池状态。
  • 硬件洞察: 显示 CPU 核心分布(如 Apple Silicon 的性能核与能效核分布)、GPU(macOS)以及内存分页大小(Page Size)。
  • 极致性能: 在 macOS 上利用 sysctlIOKitCoreFoundation;在 Linux 上利用 procfssysfs;在 FreeBSD 上利用 sysctl

演示界面

macOS

                     ..'         jiacai@mario
                 ,xNMM.          ────────────
               .OMMMMo           操作系统      macOS 15.3 aarch64
               lMM"              主机          Mac14,10
     .;loddo:.  .olloddol;.      内核          25.3.0
   cKMMMMMMMMMMNWMMMMMMMMMM0:    运行时间      20 天, 11 小时, 6 分钟
 .KMMMMMMMMMMMMMMMMMMMMMMMWd.    Shell         bash
 XMMMMMMMMMMMMMMMMMMMMMMMX.      终端          ghostty
;MMMMMMMMMMMMMMMMMMMMMMMM:       分辨率        1728x1117 @ 120Hz
:MMMMMMMMMMMMMMMMMMMMMMMM:       主题          浅色 (Light)
.MMMMMMMMMMMMMMMMMMMMMMMMX.      CPU           Apple M2 Pro (12 核: 8P + 4E)
 kMMMMMMMMMMMMMMMMMMMMMMMWd.     内存          24.6 GiB / 32.0 GiB (77%) [App: 14.8 GiB, 联动: 3.5 GiB, 压缩: 6.2 GiB]
 'XMMMMMMMMMMMMMMMMMMMMMMMMMMk   磁盘          /: 827 GiB / 926 GiB (89%)
  'XMMMMMMMMMMMMMMMMMMMMMMMMK.   电池          80% [放电中]
    kMMMMMMMMMMMMMMMMMMMMMMd     分页大小      16 KiB
     ;KMMMMMMMWXXWMMMMMMMk.      本地 IP       10.192.157.86 (en0), 100.80.224.100 (utun0)
       "cooc*"    "*coo'"

Linux

        _nnnn_           jiacai@ThinkCentre-M760t
       dGGGGMMb          ───────────────────────
      @p~qp~~qMb         操作系统      Ubuntu 24.04.3 LTS x86_64
      M|@||@) M|         主机          LENOVO 12USCTO1WW
      @,----.JM|         内核          6.11.0-29-generic
     JS^\__/  qKL        运行时间      2 小时, 52 分钟
    dZP        qKRb      Shell         bash
   dZP          qKKb     终端          tmux
  fZP            SMMb    分辨率        2560x1440
  HZM            MMMM    主题          浅色 (Light)
  FqM            MMMM    CPU           13th Gen Intel(R) Core(TM) i7-13700 (24 逻辑核, 16 物理核)
 __| ".        |\dS"qML  内存          2.9 GiB / 30.9 GiB (9%) [Swap: 0 MiB / 59.6 GiB]
 |    `.       | `' \Zq  磁盘          /: 547 GiB / 878 GiB (62%)
_)      \.___.,|     .'  电池          无电池
\____   )MMMMMP|   .'    分页大小      4 KiB
     `-'       `--'      本地 IP       10.192.32.23 (eno1), 172.17.0.1 (docker0)

FreeBSD

 ```                        `      root@freebsd
  ` `.....---.......--.```   -/    ────────────
  +o   .--`         /y:`      +.   操作系统      FreeBSD 15.0-RELEASE x86_64
   yo`:.            :o      `+-    主机          FreeBSD
    y/               -/`   -o/     内核          15.0-RELEASE
   .-                  ::/sy+:.    运行时间      27 分钟, 15 秒
   /                     `--  /    Shell         sh
  `:                          :`   终端          vt100
  `:                          :`   分辨率        未知
   /                          /    主题          浅色 (Light)
   .-                        -.    CPU           QEMU Virtual CPU version 2.5+ (2 核)
    --                      -.     内存          171 MiB / 1.9 GiB (8%)
     `:`                  `:`      磁盘          /: 2 GiB / 4 GiB (67%)
       .--             `--.        电池          无电池
          .---.....----.           分页大小      4 KiB
                                   本地 IP       10.0.2.15 (vtnet0)

加入我们

Zig 中文社区是一个开放的组织,我们致力于推广 Zig 在中文群体中的使用,有多种方式可以参与进来:

  1. 供稿,分享自己使用 Zig 的心得
  2. 改进 ZigCC 组织下的开源项目
  3. 加入微信群Telegram 群组

Metadata

Metadata

Assignees

No one assigned

    Labels

    日报daily report

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions