Linux Terminal Memory Usage
27 points
2 hours ago
| 11 comments
| gilesorr.com
| HN
amarshall
43 minutes ago
[-]
Probably want `kitty --single-instance` to reduce memory usage when opening multiple.

https://sw.kovidgoyal.net/kitty/invocation/#cmdoption-kitty-...

reply
jiqiren
1 hour ago
[-]
Why not try Ghostty? https://ghostty.org
reply
skeledrew
1 hour ago
[-]
He said it: because it isn't in Debian repos.
reply
esseph
1 hour ago
[-]
One of many reasons I left Debian behind for desktop things over a decade ago. I love the project and appreciate the history, but things can get pretty long in the tooth after awhile. Flatpaks help.
reply
ac29
21 minutes ago
[-]
Its horrible with memory, launching a single empty terminal uses 307MiB on my Linux system
reply
sebtron
1 hour ago
[-]
> I expected gnome-terminal's memory usage to be in line with konsole (KDE's default terminal), but gnome-terminal shows remarkably well in this test

In tipical GNOME fashion, they have decided to replace this largely working piece of software with on with one that places solidly at the bottom of the article's list (ptyxis).

reply
audidude
1 hour ago
[-]
Almost all of that is Mesa shaders and GTK's CPU side font-cache for GL/Vulkan, compiled CSS state, FWIW.

If you run:

GSK_RENDERER=cairo ptyxis -s

You can verify that with 69,985 here RES and 52,428 of that SHR. With 5 tabs open it jumped to 71,208 here. Presumably for the encrypted scrollback pre-allocations.

You still may not choose to use it, but it should stay relatively similar the more tabs you open.

Also, it's not a core GNOME app. It's just an app I wrote for me that the distros seem to have liked for its design/platform integration.

reply
scheme271
1 hour ago
[-]
ptyxis has a few features that gnome-terminal doesn't and which are really handy. Namely, being able to list containers running on the system and then being able to select one to get a terminal running inside the container. Not sure that warrants replacing gnome-terminal but it is really handy if you use containers a lot.
reply
audidude
1 hour ago
[-]
The good news is that before writing Ptyxis, I also ported GNOME Terminal to GTK 4 and doubled the performance of VTE. So you know, use whatever you like.
reply
kokada
35 minutes ago
[-]
Wait, what? ptyxis is not the default GNOME termjnal. It is the terminal of choice for both Ubuntu and Fedora, but the default terminam in GNOME is Console, internally known as kgx: https://en.wikipedia.org/wiki/GNOME_Terminal.
reply
jstimpfle
58 minutes ago
[-]
I've been on xterm since I've started using Linux seriously in 2008. I probably wouldnt have tested it because was probably a bit obscure then like it is now. It's not perfect, it' baroque, has terrible configurability, no tabs and an ugly context menu. But it's honestly the only usable terminal, none other has stuck with me. Most are far too sluggish to even start up. Then there is key input latency. Then some of the newer ones are only usable with good gpu support, but not from a VM like Virtualbox or maybe VMware where graphics isnt working great.

Another thing for a very long time has been that most other terminals don't support bitmap fonts. This was/is critical for lower DPI monitors. Today I've mostly made the switch to TTF fonts.

reply
celrod
38 minutes ago
[-]
foot also offers a client/server architecture. If you start a foot server (e.g. with a systemd service), you can use `footclient -N`. This may reduce the memory pressure of running many terminals.

This is similar to the `kitty --singleinstance` mentioned in another comment by amarshall.

reply
magios
1 hour ago
[-]
i've been using xst https://github.com/gnotclub/xst, a fork of suckless st https://st.suckless.org/ for a long period, but there's also st-flexipatch https://github.com/bakkeby/st-flexipatch available which now includes sixel support

edit: the article did mention st but claimed it had no scrollback, that's what the patches are for. st-flexipatch makes it easy to enable or disable the patches via c preprocessor defines.

reply
ventana
2 hours ago
[-]
Today I learned (thanks to this article) that I can use timg to display images right in my standard macOS terminal, even without switching to kitty or any other fancy thing. Not pixel perfect of course, but still, much faster to go through icons or other pictures than opening in a separate Preview window. A simple "brew install timg" worked for me. Will surely save me some clicks!
reply
menno-sh
1 hour ago
[-]
For that specific use case you could also try `yazi`[0], which is a TUI file browser that has image (and other filetypes) preview built in.

[0] https://github.com/sxyazi/yazi

reply
dxxvi
52 minutes ago
[-]
I'm using wezterm in KDE Plamas in Wayland.
reply
Piraty
1 hour ago
[-]
there is more to your choice of terminal emulators than pure memory usage.

https://lwn.net/Articles/749992/

https://lwn.net/Articles/751763/

reply
eahm
1 hour ago
[-]
Why is xfce4-terminal missing?
reply
minus7
1 hour ago
[-]
It's just using libvte like gnome-terminal and lxterminal, so I doubt it's much different from them.
reply
jmclnx
2 hours ago
[-]
I use to have a few terms active in the very early days of Linux. When I heard about screen/tmux now I just have 1 term open and multiple tmux sessions.

I think if you can get use to tmux/screen you may like that better :)

reply
somat
15 minutes ago
[-]
I find A good window manager to be nicer for a bunch of terminals than tmux, where tmux really shines is when you want a bunch of terminals on a remote system.
reply
skeledrew
1 hour ago
[-]
I've faced the many terminal tabs issue. In a way tmux actually makes it worse as I'm used to the running app being in the title, and tmux obscures that (now there's just "client"). But also better as I found a great session restore plugin; always drove me a bit crazy when something happened that either killed the terminal app or triggered a full restart, and my tabs were lost.
reply