Linux 终端内存使用大比拼:st 能否成为内存占用最少的王者?

Linux 终端使用经历

作者经常使用终端,在大多数机器上会在一到四个桌面上同时打开五到十个终端。作者从 1996 年开始使用 Linux,最初用 `xterm`,1998 年发现 `rxvt` 并使用几年,大约三年前主要用 `lxterminal`,后切换到 `alacritty`,因其在 X11 和 Wayland 环境下都能正常工作。不到一年前发现 `kitty`,它支持在终端中实现照片的像素级完美渲染,作者便把大部分机器换成了 `kitty`。

内存问题引发测试

大约六周前,作者一台配备 i7 处理器、机械硬盘和 16GB 内存的旧机器运行缓慢,交换空间被占满。作者发现 `smem` 可报告进程内存使用情况,结果发现十个 `kitty` 实例耗尽 50GB 交换空间。关闭 `kitty` 实例,用 `xterm` 替代后,交换空间瞬间清空。作者不在意 `xterm` 不美观及缺少标签和菜单等功能,虽怀念透明度但不是大问题。作者保留 `kitty` 是因其支持 `timg`,不过这是相对不常用功能。作者开始把大部分机器换回 `alacritty`,并设计测试:同时运行考虑使用的终端,在 Wayland 和 X11 环境下各运行一组,在每个终端中运行相同命令,最后测量内存使用情况。

Openbox / X11 测试结果

运行命令前:列出各终端(st、xterm、lxterminal 等)的 PID、命令、Swap、USS、PSS、RSS 数据。运行命令后:再次列出各终端相应数据。

KDE / Wayland 测试结果

运行命令前:列出各终端(st、xterm、foot 等)的 PID、命令、Swap、USS、PSS、RSS 数据。运行命令后:再次列出各终端相应数据。

测试结果分析

测试存在一些异常情况,如一台机器未对 `rxvt` 测量,终端大小和滚动缓冲区不同,但因最小内存使用量不到最大内存使用量的十分之一,作者不太担心。结果显示:没想到 `st` 内存使用量比 `xterm` 还低;没想到有比 `kitty` 更占内存的终端;原以为 `gnome - terminal` 内存使用情况和 `konsole` 差不多,实际 `gnome - terminal` 表现出色;环境(Fedora 与 Debian,Wayland 与 X11)影响不大;惊讶 `konsole` 支持 `timg` 像素级完美图像显示,已知支持 `timg` 的还有 `foot`(仅在 Wayland 下测试过)和 `ghostty`(未测试),`foot` 证明可在合理内存使用情况下支持 `timg`。

后续打算

作者打算深入测试 `st`,若其能满足需求,会使用内存占用最少的终端。若 `st` 不适合,会尝试 `gnome - terminal`。

更新情况

2026 年 5 月 8 日发现 `st` 没有滚动缓冲区,作者倾向于在 X11 环境下使用 `lxterminal`,在 Wayland 环境下使用 `foot`。还说明为 X11 编译的终端在 Wayland 下能运行,因有 X11 兼容层,但原生 Wayland 终端(如 `foot`)无法在 X11 下运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值