NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
16/08/2024
Lượt xem

Cách kiểm tra bộ nhớ trong Linux

16/08/2024
17 phút đọc
Lượt xem

Đánh giá

5/5 - (198 bình chọn)

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é!

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:

Output kiểm tra thông tin bộ nhớ bằng lệnh cat
Output kiểm tra thông tin bộ nhớ bằng lệnh cat

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).

Lệnh free trên terminal
Lệnh free trên terminal

Trong đó:

  • total: Tổng bộ nhớ có trên hệ thống
  • used: Lượng bộ nhớ được dùng bởi các process (used = total – free – buff/cache)
  • free: Bộ nhớ còn trống (free = total – used – buff/cache)
  • shared: Lượng bộ nhớ được chia sẻ bởi các process
  • buffers: Lượng bộ nhớ dành riêng cho hệ thống để phân bổ thành buffer khi các process cần đến
  • cached: Các file được lưu trữ gần đây trong RAM
  • buff/cache: Tổng bộ nhớ trong buffers + cache
  • available: Lượng bộ nhớ khả dụng để khởi động ứng dụng mà không cần đến swap

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.

Lệnh Vmstat thống kê bộ nhớ ảo
Lệnh Vmstat thống kê bộ nhớ ảo

Trong đó:

  1. Procs

    • r: Số lượng process đang đợi để chạy.
    • b: Số lượng process trong trạng thái sleep (không can thiệp được).

  2. Memory

    • swpd: Lượng bộ nhớ ảo được sử dụng.
    • free: Bộ nhớ đang trong trạng thái rảnh rỗi (idle).
    • buff: Lượng bộ nhớ dùng làm buffer.
    • cache: Lượng bộ nhớ dùng làm cache.

  3. Swap

    • si: Lượng bộ nhớ swap vào đĩa (/s).
    • so: Lượng bộ nhớ được swap sang đĩa (/s).

  4. IO

    • bi: Các block được nhận từ thiết bị block (block/s).
    • bo: Các block được gửi đến thiết bị block (block/s).

  5. System

    • in: Số lần gián đoạn trong một giây, bao gồm cả clock.
    • cs: Số lần switch context trong một giây.

  6. CPU:

    • us: Lượng thời gian cho code không thuộc kernel (thời gian user).

    • sy: Thời gian chạy code kernel (thời gian hệ thống).
    • id: Thời gian ở trạng thái idle.
    • wa: Thời gian đợi IO.
    • st: Thời gian của máy ảo.

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.

Sử dụng lệnh top để kiểm tra bộ nhớ
Sử dụng lệnh top để kiểm tra bộ nhớ

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:

Dùng lệnh htop để kiểm tra bộ nhớ trong Linux
Dùng lệnh htop để kiểm tra bộ nhớ trong Linux

Trong đó:

  1. Phần trên tóm tắt các thông tin, đồng thời chứa.
  2. Phần thứ cung cấp dữ liệu chi tiết cho từng process.
  3. Phần cuối cùng hiển thị các phím tắt để người dùng nhanh chóng thao tác và tùy chỉnh từng process.

⚠️ Lưu ý: Nếu gặp lỗi Command htop not found khi chạy lệnh thì ta cần cài đặt lệnh htop trên hệ thống trước:

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ớ.

  1. Vào Show Applications.
  2. Nhập System Monitor vào thanh tìm kiếm rồi truy cập công cụ.
  3. Chọn sang tab Resources.
  4. 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.
Kiểm tra bộ nhớ trong Linux bằng GUI
Kiểm tra bộ nhớ trong Linux bằng GUI

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ả.

 Hiển thị dung lượng ổ đĩa với lệnh df trong Linux
Hiển thị dung lượng ổ đĩa với lệnh df trong Linux

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ớ 

Lưu ý: Không thể xem lượng bộ nhớ sử dụng ở mọi quy trì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: 

Tổng mức sử dụng = Lượng bộ nhớ riêng của quy trình chương trình + Lượng bộ nhớ được chia sẻ bởi quy trình chương trình

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
Sử dụng lệnh glances để kiểm tra bộ nhớ sử dụng trong Linux

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.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG