So sánh mức tiêu thụ RAM của các trình giả lập Terminal trên Linux

Công nghệ11 tháng 5, 2026·7 phút đọc

Tác giả đã thực hiện một bài kiểm tra chi tiết mức tiêu thụ bộ nhớ của nhiều trình giả lập terminal phổ biến trên Linux như kitty, alacritty, xterm và st sau khi gặp vấn đề hiệu suất. Kết quả cho thấy sự chênh lệch rất lớn về tài nguyên hệ thống, trong đó st là trình nhẹ nhất trong khi kitty và ptyxis tiêu tốn nhiều RAM nhất.

Tôi là một người dùng terminal nặng ký. Trên hầu hết các máy tính, tôi thường mở từ năm đến mười cửa sổ terminal trải dài trên một đến bốn màn hình làm việc (trên máy tôi đang dùng để viết bài này có tới 12 terminal đang mở).

Bắt đầu sử dụng Linux từ năm 1996, tôi từng dùng xterm vì đây là lựa chọn cơ bản nhất. Khoảng năm 1998, tôi tìm thấy rxvt và sử dụng nó trong vài năm. Tôi không rõ hành trình đã chuyển dịch như thế nào, nhưng khoảng ba năm trước, tôi chủ yếu dùng lxterminal rồi chuyển sang alacritty vì phần mềm này làm tốt hầu hết mọi thứ và hoạt động trơn tru trên cả X11 và Wayland (tôi đang bị mắc kẹt giữa hai thế giới này).

Tuy nhiên, cách đây chưa đầy một năm, tôi phát hiện ra kitty. Nó rất hấp dẫn vì đáp ứng được các tiêu chí giống alacritty nhưng còn hỗ trợ kết xuất ảnh hoàn hảo theo từng điểm ảnh TRỰC TIẾP TRONG TERMINAL (sử dụng công cụ timg). Điều này cực kỳ hữu ích khi bạn SSH vào một máy chủ web từ xa. Tôi đã chuyển hầu hết các máy của mình sang sử dụng kitty.

Vấn đề về bộ nhớ

Khoảng sáu tuần trước, tôi nhận thấy một trong những máy tính của mình hoạt động cực kỳ chậm chạp vì bị "ngập" trong bộ nhớ swap (swap). Đây là một chiếc máy khá cũ với bộ vi xử lý i7 và ổ cứng HDD cơ học... nhưng nó có 16GB RAM và tôi không đang thực hiện bất kỳ tác vụ nào tốn nhiều bộ nhớ như chỉnh sửa video hay chạy cơ sở dữ liệu lớn.

Đây là một cơ hội để tôi học hỏi, và tôi đã tìm ra công cụ smem (có sẵn trong các kho của cả Fedora và Debian). Công cụ này báo cáo mức sử dụng bộ nhớ của các tiến trình (bao gồm USS, PSS - mà smem khẳng định là cách nhìn tốt hơn về việc sử dụng bộ nhớ, RSS và Swap).

Và điều tôi phát hiện ngay lập tức là mười phiên bản của kitty đã "nuốt chửng" toàn bộ bộ nhớ swap của tôi. Lên tới 50GB swap. (Tại sao lại có nhiều thế trên máy này thì tôi không biết - có thể là do một số thử nghiệm thất bại hoặc bị quên). Tôi đã đóng toàn bộ các phiên bản kitty và thay thế bằng mười phiên bản xterm, và 50GB swap vốn đang đầy ắp đã trở nên trống trơn.

xterm không thực sự đẹp mắt, nhưng tôi không sử dụng các tính năng mà người khác thường nhớ đến như các tab và menu. Tôi hơi nhớ tính năng trong suốt (transparency), nhưng đó không phải là vấn đề lớn. Tôi vẫn sẽ giữ kitty vì tính năng timg, dù đó là một trường hợp sử dụng khá hiếm gặp.

Tôi bắt đầu chuyển đổi hầu hết các máy của mình quay lại alacritty và tự hỏi mình nên dùng phần mềm nào lâu dài. Điều này đã truyền cảm hứng cho tôi để thiết kế một bài kiểm tra: Tôi sẽ chạy mọi terminal mà tôi đang cân nhắc cùng một lúc - tốt hơn là một bộ trên Wayland và một bộ trên X11 - sau đó chạy cùng một bộ lệnh trong mọi terminal. Và đo lường mức sử dụng bộ nhớ.

Kết quả kiểm tra

Dưới đây là bảng số liệu đo lường trên môi trường Openbox / X11 và KDE / Wayland trước và sau khi chạy các lệnh. Các chỉ số quan trọng bao gồm USS (Unique Set Size - bộ nhớ riêng biệt) và PSS (Proportional Set Size - bộ nhớ chia sẻ hiệu quả).

Openbox / X11

TerminalSwapUSS (Trước)PSS (Trước)USS (Sau)PSS (Sau)
st02592300833963834
xterm0680874141164012266
lxterminal065289891780011159
gnome-terminal010252149841069215416
alacritty034224434784018849444
kitty056376665847071680917
ptyxis054760676035825271107

KDE / Wayland

TerminalSwapUSS (Trước)PSS (Trước)USS (Sau)PSS (Sau)
st02924337432043820
xterm064606691988810119
foot050967110876411114
rxvt0893694401287213736
lxterminal0920014622982415343
gnome-terminal012168190051266019313
alacritty025468288373418837470
kitty046468515205304858032
konsole027348390683324448094
ptyxis073220792047506081130

Bạn có thể nhận thấy một số bất thường: rxvt không được đo trên một máy. Các điều khiển không thực sự chặt chẽ: các terminal có kích thước khác nhau, bộ đệm cuộn (scrollback) khác nhau, v.v. Nhưng vì kết quả trên cho thấy mức sử dụng bộ nhớ của trình nhỏ nhất ít hơn một phần mười so với trình lớn nhất, chúng ta không đang đo lường những sự khác biệt tinh tế ở đây. Vì vậy, tôi không quá lo lắng về điều đó.

Những nhận định thú vị

Kết quả thực sự rất thú vị:

  • Tôi không nghĩ mình sẽ tìm thấy một terminal sử dụng ít bộ nhớ hơn xterm - nhưng st đã vượt qua nó với một khoảng cách đáng kể.
  • Tôi không nghĩ mình sẽ tìm thấy một terminal "ngốn" bộ nhớ nhiều hơn kitty (mặc dù nếu bạn cộng thêm mức sử dụng bộ nhớ của ứng dụng phụ trợ kitten, có lẽ nó vẫn "đứng nhất").
  • Tôi expected mức sử dụng bộ nhớ của gnome-terminal sẽ ngang bằng với konsole (terminal mặc định của KDE), nhưng gnome-terminal thể hiện cực kỳ tốt trong bài kiểm tra này.
  • Môi trường (Fedora so với Debian, Wayland so với X11) dường như không tạo ra nhiều sự khác biệt nào cả.
  • Tôi ngạc nhiên khi phát hiện ra rằng konsole hỗ trợ hiển thị ảnh hoàn hảo từ timg. timg là lý do ban đầu tôi chuyển sang kitty và danh sách các terminal hỗ trợ timg ở cấp độ điểm ảnh rất ngắn. Những cái khác mà tôi biết là foot (chỉ kiểm tra dưới Wayland vì nó không hoạt động trên X11) và ghostty (không kiểm tra vì tôi chỉ gắn bó với các terminal trong kho Debian).
  • foot dường như chứng minh rằng bạn có thể có mức sử dụng bộ nhớ hợp lý và vẫn hỗ trợ timg - điều này rất tốt để biết.

Tôi nghĩ mình sẽ dùng thử st nhiều hơn. Không phải là máy của tôi bị hạn chế về bộ nhớ, nhưng nếu nó đáp ứng các nhu cầu khác của tôi, tại sao không dùng terminal ít "đói" bộ nhớ nhất? Vì tôi thường chạy mười terminal, con số này sẽ cộng lại rất lớn. Nếu st không phù hợp với tôi, tôi sẽ thử gnome-terminal.

Cập nhật

  • 2026-05-08: st hóa ra là KHÔNG có tính năng cuộn lại (scrollback). Hiện tại tôi đang nghiêng về lxterminal cho X11 và foot cho Wayland.
  • Tôi nên lưu ý: các terminal được biên dịch cho X11 chạy tốt trên Wayland nhờ lớp tương thích X11. Không có thứ gì như vậy hoạt động theo chiều ngược lại, vì vậy các terminal gốc Wayland (như foot) không chạy dưới X11.
Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗