Việc thường xuyên kiểm tra bộ nhớ trong Linux là công việc vô cùng quan trọng của các quản trị viên, giúp đảm bảo hệ thống luôn hoạt động ở mức tối ưu. Ở bài viết này Vietnix sẽ hướng dẫn bạn 10 cách kiểm tra bộ nhớ trong Linux nhanh nhất. Cùng tham khảo ngay nhé!
10 cách kiểm tra bộ nhớ trong Linux dễ dàng
- Kiểm tra thông tin bộ nhớ bằng lệnh cat
- Kiểm tra bộ nhớ bằng lệnh free
- Dùng lệnh vmstat để xem thống kê bộ nhớ ảo
- Kiểm tra bộ nhớ trong Linux bằng lệnh top
- Dùng lệnh htop để kiểm tra bộ nhớ
- Kiểm tra bộ nhớ trong Linux bằng GUI
- Sử dụng lênh smem để kiểm tra bô nhớ trong Linux
- Kiểm tra bộ nhớ Linux được sử dụng bằng lệnh df
- Sử dụng lệnh Ps-mem để kiểm tra bộ nhớ trong Linux
- Sử dụng lệnh glances để kiểm tra việc sử dụng bộ
Cách 1: Kiểm tra thông tin bộ nhớ bằng lệnh cat
Lệnh cat /proc/meminfo cho phép mở file /proc/meminfo. Đây là một file cung cấp thông tin về bộ nhớ đã dùng và còn trống trên hệ thống theo thời gian thực. Bên cạnh đó, file cũng cũng chứa buffer và lượng bộ nhớ dùng chung được sử dụng bởi kernel. Output của lệnh cat có thể khác một chút tùy theo kiếm trúc và từng hệ điều hành.
Trên Ubuntu 18.04 ta sẽ có output như dưới đây:
Ngoài ra bạn có thể tham khảo một số bài viết khác về các câu lệnh Linux cơ bản mà Vietnix đã tổng hợp.
Cách 2: Kiểm tra bộ nhớ bằng lệnh free
Nhập lệnh free trong terminal cho phép người dùng kiểm tra thông tin về bộ nhớ và swap memory (đơn vị: kilobyte).
So với file /proc/meminfo thì lệnh free cung cấp ít thông tin hơn, nhưng lại dễ hiểu hơn cho người dùng. Bên cạnh đó lệnh free còn cung cấp nhiều option để định dạng lại output của lệnh:
- -b: Hiển thị output ở đơn vị byte
- -kb: Đơn vị kibibyte
- -m: Đơn vị megabyte
- -g: Đơn vị gigabyte
- -l: Thống kê bộ nhớ
- -o: Định dạng cũ (không có dòng -/+buffers/cache)
- -t: Tổng RAM+swap
- -s: Cập nhật mỗi giây
- -c: Cập nhật số lần đếm
Cách 3: Dùng lệnh vmstat để xem thống kê bộ nhớ ảo
Lệnh vmstat cung cấp thông tin tổng quát về các process, bộ nhớ, paging, IO và hoạt động của CPU.
Cách 4: Kiểm tra bộ nhớ trong Linux bằng lệnh top
Lệnh top cũng là một công cụ vô cùng mạnh mẽ để kiểm tra bộ nhớ và CPU của từng process trong thời gian thực.
Một số thông tin được cung cấp bởi lệnh top gồm có:
- Uptime
- Tải trung bình
- Các task đang chạy
- Số lượng user đang đăng nhập
- Số lượng/mức sử dụng CPU
- Các tiến trình bộ nhớ/swap
Bên cạnh đó, lệnh top cũng cung cấp một giao diện cho phép người dùng tương tác để xử lý và thiết lập thông qua các option có trên command line.
Cách 5: Dùng lệnh htop để kiểm tra bộ nhớ
Lệnh htop cũng có kết quả tương tự như lệnh top, tuy nhiên htop cung cấp môi trường thân thiện với người dùng hơn, đồng thời cũng cho khả năng kiểm soát cao hơn.
htop
Output:
Bạn có thể sử dụng dòng lệnh sudo bên dưới để thực hiện cài đặt:
sudo snap install htop
# hoặc
sudo apt install htop
Cách 6: Kiểm tra bộ nhớ trong Linux bằng GUI
Bên cạnh việc sử dụng lệnh trong terminal/command-line, bạn cũng hoàn toàn có thể sử dụng giao diện đồ họa để quản trị và kiểm tra bộ nhớ.
- Vào Show Applications.
- Nhập System Monitor vào thanh tìm kiếm rồi truy cập công cụ.
- Chọn sang tab Resources.
- Bây giờ màn hình sẽ hiển thị lượng tiêu thụ tài nguyên và bộ nhớ trong thời gian thực.
Cách 7: Sử dụng lệnh smem để kiểm tra bộ nhớ trong Linux
Smem là một dòng lệnh cung cấp nhiều báo cáo sử dụng bộ nhớ cho các hệ thống Linux bao gồm:
- Kích thước tập hợp tỷ lệ (PSS): Tổng lượng bộ nhớ mà một tiến trình đang sử dụng, bao gồm cả phần chia sẻ như số lượng thư viện, các ứng dụng được sử dụng trong hệ thống bộ nhớ ảo.
- Kích thước cài đặt duy nhất (USS): Phần bộ nhớ chỉ riêng một tiến trình đang sử dụng (bộ nhớ không chia sẻ).
- Kích thước cài đặt thường trú (RSS): Bộ nhớ được chia sẻ bởi nhiều quy trình (bộ nhớ vật lý), thường cao hơn mức sử dụng bộ nhớ.
# smem -tk
PID User Command Swap USS PSS RSS
3383 daygeek cat 0 92.0K 123.0K 1.7M
3384 daygeek cat 0 100.0K 129.0K 1.7M
1177 daygeek /usr/lib/gnome-session-ctl 0 436.0K 476.0K 4.6M
1171 daygeek /usr/bin/dbus-daemon --conf 0 524.0K 629.0K 3.8M
1238 daygeek /usr/lib/xdg-permission-sto 0 592.0K 681.0K 5.9M
1350 daygeek /usr/lib/gsd-screensaver-pr 0 652.0K 701.0K 5.8M
1135 daygeek /usr/lib/gdm-x-session --ru 0 648.0K 723.0K 6.0M
.
.
1391 daygeek /usr/lib/evolution-data-ser 0 16.5M 25.2M 63.3M
1416 daygeek caffeine-ng 0 28.7M 31.4M 66.2M
4855 daygeek /opt/google/chrome/chrome - 0 38.3M 46.3M 120.6M
2174 daygeek /usr/lib/firefox/firefox -c 0 44.0M 50.7M 120.3M
1254 daygeek /usr/lib/goa-daemon 0 46.7M 53.3M 80.4M
3416 daygeek /opt/google/chrome/chrome - 0 44.7M 54.2M 103.3M
4782 daygeek /opt/google/chrome/chrome - 0 57.2M 65.8M 142.3M
1137 daygeek /usr/lib/Xorg vt2 -displayf 0 77.2M 129.6M 192.3M
3376 daygeek /opt/google/chrome/chrome 0 117.8M 131.0M 210.9M
4448 daygeek /usr/lib/firefox/firefox -c 0 124.4M 133.8M 224.1M
3558 daygeek /opt/google/chrome/chrome - 0 157.3M 165.7M 242.2M
2310 daygeek /usr/lib/firefox/firefox -c 0 159.6M 169.4M 259.6M
4331 daygeek /usr/lib/firefox/firefox -c 0 176.8M 186.2M 276.8M
4034 daygeek /opt/google/chrome/chrome - 0 179.3M 187.9M 264.6M
3911 daygeek /opt/google/chrome/chrome - 0 183.1M 191.8M 269.4M
3861 daygeek /opt/google/chrome/chrome - 0 199.8M 208.2M 285.2M
2746 daygeek /usr/bin/../lib/notepadqq/n 0 193.5M 217.5M 261.5M
1194 daygeek /usr/bin/gnome-shell 0 203.7M 219.0M 285.1M
2945 daygeek /usr/lib/firefox/firefox -c 0 294.5M 308.0M 410.2M
2786 daygeek /usr/lib/firefox/firefox -c 0 341.2M 354.3M 459.1M
4193 daygeek /usr/lib/firefox/firefox -c 0 417.4M 427.6M 519.3M
2651 daygeek /usr/lib/firefox/firefox -c 0 417.0M 430.1M 535.6M
2114 daygeek /usr/lib/firefox/firefox -c 0 430.6M 473.9M 610.9M
2039 daygeek /usr/lib/firefox/firefox -- 0 601.3M 677.5M 840.6M
-------------------------------------------------------------------------------
90 1 0 4.8G 5.2G 8.0G
Cách 8: Kiểm tra bộ nhớ Linux được sử dụng bằng lệnh df
Lệnh df được sử dụng để hiển thị thông tin về hệ thống file và dung lượng ổ đĩa trên hệ thống. Từ các thông tin tổng quan về dung lượng đĩa đã sử dụng, dung lượng còn trống, bạn có thể kiểm tra bộ nhớ trong Linux một cách chi tiết, hiệu quả.
Dưới đây là 6 thông tin hiển thị khi sử dụng lệnh df:
- Filesystem: Tên hệ thống tệp hoặc điểm gắn kết
- Size: Tổng kích thước của phân vùng
- Used: Dung lượng đã sử dụng
- Avail: Dung lượng còn trống
- Use%: Phần trăm dung lượng đã sử dụng
- Mounted on: Điểm gắn kết
Cách 9: Sử dụng lệnh Ps-mem để kiểm tra bộ nhớ trong Linux
ps_mem là một dòng lệnh viết bằng Python nhằm để xem việc sử dụng bộ nhớ hiện tại trong hệ thống. Dòng lệnh có thể xác định lượng bộ nhớ được sử dụng trên mỗi bộ nhớ
Để tính bộ nhớ được sử dụng bởi mỗi chương trình, bạn sử dụng công thức:
Ngoài ra, công thức còn tự chọn chọn phương thức chính xác nhất cho kernel đang chạy
# ps_mem
Private + Shared = RAM used Program
180.0 KiB + 30.0 KiB = 210.0 KiB xf86-video-intel-backlight-helper (2)
192.0 KiB + 66.0 KiB = 258.0 KiB cat (2)
312.0 KiB + 38.5 KiB = 350.5 KiB lvmetad
380.0 KiB + 25.5 KiB = 405.5 KiB crond
392.0 KiB + 32.5 KiB = 424.5 KiB rtkit-daemon
852.0 KiB + 117.0 KiB = 969.0 KiB gnome-session-ctl (2)
928.0 KiB + 56.5 KiB = 984.5 KiB gvfs-mtp-volume-monitor
1.0 MiB + 42.5 KiB = 1.0 MiB dconf-service
1.0 MiB + 106.5 KiB = 1.1 MiB gvfs-goa-volume-monitor
1.0 MiB + 180.5 KiB = 1.2 MiB gvfsd
.
.
5.3 MiB + 3.0 MiB = 8.3 MiB evolution-addressbook-factory
8.5 MiB + 1.2 MiB = 9.7 MiB gnome-session-binary (4)
7.5 MiB + 3.1 MiB = 10.5 MiB polkitd
7.4 MiB + 3.3 MiB = 10.7 MiB pulseaudio (2)
7.0 MiB + 7.0 MiB = 14.0 MiB msm_notifier
12.7 MiB + 2.3 MiB = 15.0 MiB evolution-source-registry
13.3 MiB + 2.5 MiB = 15.8 MiB gnome-terminal-server
15.8 MiB + 1.0 MiB = 16.8 MiB tracker-miner-fs
18.7 MiB + 1.8 MiB = 20.5 MiB python3.7
16.6 MiB + 4.0 MiB = 20.5 MiB evolution-calendar-factory
22.3 MiB + 753.0 KiB = 23.0 MiB gsd-keyboard (2)
22.4 MiB + 832.0 KiB = 23.2 MiB gsd-wacom (2)
20.8 MiB + 2.5 MiB = 23.3 MiB blueman-tray
22.0 MiB + 1.8 MiB = 23.8 MiB blueman-applet
23.1 MiB + 934.0 KiB = 24.0 MiB gsd-xsettings (2)
23.7 MiB + 1.2 MiB = 24.9 MiB gsd-media-keys (2)
23.4 MiB + 1.6 MiB = 25.0 MiB gsd-color (2)
23.9 MiB + 1.2 MiB = 25.1 MiB gsd-power (2)
16.5 MiB + 8.9 MiB = 25.4 MiB evolution-alarm-notify
27.2 MiB + 2.0 MiB = 29.2 MiB systemd-journald
28.7 MiB + 2.8 MiB = 31.5 MiB c
29.6 MiB + 2.2 MiB = 31.8 MiB chrome-gnome-sh (2)
43.9 MiB + 6.8 MiB = 50.7 MiB WebExtensions
46.7 MiB + 6.7 MiB = 53.5 MiB goa-daemon
86.5 MiB + 55.2 MiB = 141.7 MiB Xorg (2)
191.4 MiB + 24.1 MiB = 215.4 MiB notepadqq-bin
306.7 MiB + 29.0 MiB = 335.7 MiB gnome-shell (2)
601.6 MiB + 77.7 MiB = 679.2 MiB firefox
1.0 GiB + 109.7 MiB = 1.1 GiB chrome (15)
2.3 GiB + 123.1 MiB = 2.5 GiB Web Content (8)
----------------------------------
5.6 GiB
==================================
Cách 10: Sử dụng lệnh glances để kiểm tra bộ nhớ sử dụng trong Linux
Glances được xem là dòng lệnh giám sát hệ thống đa nền tảng được viết bằng Python. Với công cụ này, bạn có thể xem tất cả thông tin và thông số ở một nơi như: Sử dụng CPU, sử dụng bộ nhớ, quy trình đang chạy, giao diện mạng, I / O đĩa, RAID, cảm biến, thông tin hệ thống tệp, Docker, thông tin hệ thống, thời gian chạy, v.v.
Sử dụng lệnh glances để kiểm tra bộ nhớ sử dụng trong Linux
Dưới đây là một thông tin quan trọng của lệnh Glances khi tiến hành kiểm tra bộ nhớ sử dụng trong:
- Mem Total: Tổng dung lượng bộ nhớ vật lý (RAM) của hệ thống.
- Mem Used: Tổng dung lượng bộ nhớ đã sử dụng.
- Mem Free: Tổng dung lượng bộ nhớ còn trống.
- Mem Buff/cache: Dung lượng bộ nhớ đang được sử dụng làm bộ đệm (buffer) và bộ nhớ cache.
- Swap Total: Tổng dung lượng bộ nhớ ảo (swap).
- Swap Used: Tổng dung lượng bộ nhớ ảo đã sử dụng.
- Swap Free: Tổng dung lượng bộ nhớ ảo còn trống.
Câu hỏi thường gặp
Cách xác định kích thước tối ưu của vùng swap trên Linux
Có 3 yếu tố để xác định:
– Lượng RAM: Với lượng RAM lớn, nhu cầu sử dụng vùng swap sẽ ít hơn.
– Loại ứng dụng: Các ứng dụng đòi hỏi nhiều bộ nhớ sẽ làm tăng nhu cầu sử dụng swap.
– Thói quen sử dụng: Nếu chạy nhiều ứng dụng cùng lúc, bạn cần một vùng swap lớn hơn.
Bạn nên sử dụng lệnh nào để theo dõi mức sử dụng bộ nhớ theo thời gian?
Có 2 lệnh để theo dõi:
– free -m
: Cung cấp một cái nhìn tổng quan về sử dụng bộ nhớ hiện tại. Bạn có thể thêm tùy chọn -h để hiển thị kết quả dưới dạng dễ đọc hơn (MB, GB).
– vmstat 1
: Hiển thị thông tin thống kê về hệ thống, bao gồm cả việc sử dụng bộ nhớ, mỗi giây.
Lời kết
Bài viết trên đã hướng dẫn bạn 10 cách khác nhau để kiểm tra bộ nhớ trong Linux thông qua lệnh trong terminal và cả giao diện đồ họa. Hy vọng qua bài viết, bạn đọc đã có được các phương pháp và công cụ cần thiết để phân tích dữ liệu và quản trị hệ thống tốt hơn. Vietnix chúc bạn thực hiện thành công.