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
01/05/2024
Lượt xem

Hướng dẫn các cách kiểm tra RAM trong Linux nhanh chóng

01/05/2024
17 phút đọc
Lượt xem

Đánh giá

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

RAM là một thành phần vô cùng quan trọng trong mọi hệ thống Linux và luôn cần được giám sát chặt chẽ vì việc hết bộ nhớ có thể khiến server phản hồi rất chậm hay thậm chí không phản hồi. Cùng Vietnix tham khảo qua bài viết dưới đây để tìm hiểu rõ hơn bạn nhé.

Kiểm tra bằng lệnh free

Lệnh phổ biến nhất để kiểm tra RAM trên Linux là lệnh free:

$ free               total        used        free      shared  buff/cache   available Mem:        4039588     3475216      137584       39596      426788      287580 Swap:             0           0           0

Output của lệnh được chia thành 2 mục: bộ nhớ (RAM thực/memory) và swap (bộ nhớ ảo). Một số thông tin ta có được từ lệnh là:

  • total: tổng bộ nhớ được cài đặt trên hệ thống, tính theo đơn vị kilobyte.
  • used: tổng RAM được dùng trên hệ thống, đơn vị kilobyte.
  • free: tổng bộ nhớ còn trống và khả dụng trên hệ thống (kilobyte).
  • shared: phần bộ nhớ được dùng bởi tmpfs – một filesystem ảo.
  • buffer: bộ nhớ dùng bởi kernel buffer.
  • cache: tổng bộ nhớ dùng bởi trang cache – nơi lưu trữ dữ liệu trước khi ghi vào đĩa.
  • available: tổng bộ nhớ khả dụng trên hệ thống (kilobyte).

Trong đó, phần bộ nhớ được dùng bởi cache hoặc buffer đều có thể được giải phóng bởi Kernel mỗi khi hệ thống cần.

Bên cạnh đó, ta cũng có thể thêm option -h vào lệnh free để hiển thị kết quả ở định dạng dễ đọc hơn:

              total        used        free      shared  buff/cache   available Mem:           3.9G        3.3G        127M         38M        400M        256M Swap:            0B          0B          0B

Tương tự, ta cũng có thể hiển thị thêm cột Total bằng option -t:

$ free -t               total        used        free      shared  buff/cache   available Mem:        4039588     3499392      128828       39596      411368      263292 Swap:             0           0           0 Total:      4039588     3499392      128828

Kết hợp -t-h:

$ free -th               total        used        free      shared  buff/cache   available Mem:           3.9G        3.3G        125M         38M        402M        257M Swap:            0B          0B          0B Total:         3.9G        3.3G        125M

Bạn đọc có thể tham khảo qua một số bài viết cùng chủ để Linu mà Vietnix đã tổng hợp:

Kiểm tra RAM trong Linux bằng lệnh vmstat

Lệnh vmstat cũng có phép kiểm tra phần bộ nhớ ảo trên hệ thống:

$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st  1  0      0 149720  49080 371348    0    0   125   121    1    1  2  1 96  0  0

Output sẽ hơi khó hiểu hơn một chút, với các thông tin như sau:

  • r: số lượng process chạy được có ở trên hệ thống.
  • b: số lượng process trong trạng thái sleep liên tục.
  • swpd: lượng RAM đang được sử dụng.
  • free: bộ nhớ còn trống.
  • buff, cache: RAM được dùng bởi kernel buffer và cache trang.
  • inactive, active: số lượng bộ nhớ đang ở trang thái hoạt động và không hoạt động.
  • si: swap được dùng bởi đĩa.
  • so: tổng bộ nhớ swap được swap sang đĩa.

Các cột khác là những thông tin liên quan đến CPU và I/O, vì ta chỉ cần kiểm tra RAM trong Linux nên có thể bỏ qua những thông số này.

$ vmstat -s       4039588 K total memory                3460532 K used memory                 3398428 K active memory                198356 K inactive memory              162648 K free memory                   48904 K buffer memory                367504 K swap cache                        0 K total swap                        0 K used swap                         0 K free swap  

Ở các dòng đầu tiên của output, bạn có thể biết được thông tin khá giống với lệnh free bao gồm:

  • Tổng bộ nhớ
  • Bộ nhớ đã được sử dụng,
  • Bộ nhớ đang ở trạng thái hoạt động,
  • Bộ nhớ ở trạng thái không hoạt động
  • Bộ nhớ còn trống.

Kiểm tra RAM trong Linux bằng file /proc/meminfo

Kernel chính là thành phần ảo hóa filesystem và cung cấp các điểm truy cập cho một số thiết bị trên hệ thống. Trong đó, thư mục /proc thường sẽ lưu trữ các tham chiếu đến những process trên hệ thống, còn /dev lưu trữ tham chiếu đến các thiết bị ảo. Bên cạnh đó, trong thư mục /proc còn có file meminfo cũng có thể được dùng để kiểm tra RAM trong Linux

$ cat /proc/meminfo  MemTotal:        4039588 kB MemFree:          142400 kB MemAvailable:     267144 kB Buffers:           39216 kB Cached:           292508 kB SwapCached:            0 kB Active:          3436724 kB Inactive:         180432 kB Active(anon):    3285468 kB Inactive(anon):    38960 kB Active(file):     151256 kB Inactive(file):   141472 kB Unevictable:          36 kB Mlocked:              36 kB SwapTotal:             0 kB SwapFree:              0 kB Dirty:               708 kB

Thông tin được cung cấp cũng khớp với kết quả trả về từ lệnh freevmstat. File /proc/meminfo cho biết thông tin về tổng bộ nhớ trên hệ thống, bộ nhớ còn trống, bộ nhớ khả dụng và buffer, page cache.

Kiểm tra bằng demidecode

Cần lưu ý rằng các lệnh trên chỉ dùng để kiểm tra RAM trong Linux tại một thời điểm nhất định.

Nếu muốn kiểm tra phần cứng RAM thì ta có thể dùng lệnh dmidecode (chạy bằng quyền sudo):

$ sudo dmidecode  # dmidecode 3.1 Getting SMBIOS data from sysfs. SMBIOS 2.4 present. 13 structures occupying 405 bytes. Table at 0x000F10D0.  Handle 0x0000, DMI type 0, 24 bytes BIOS Information         Vendor: Private         Version: 20171212         Release Date: 12/12/2017         Address: 0xE8000         Runtime Size: 96 kB         ROM Size: 64 kB         Characteristics:                 BIOS characteristics not supported                 Targeted content 

Theo mặc định thì lệnh dmidecode được dùng để dump (kết xuất) tất cả phần cứng có trên hệ thống. Nếu muốn xem thông tin gần cứng riêng của bộ nhớ thì ta cần chỉ định thêm loại phần cứng như sau:

$ sudo dmidecode --type memory  # dmidecode 3.1                                Getting SMBIOS data from sysfs.                SMBIOS 2.4 present.                                                                           Handle 0x1000, DMI type 16, 15 bytes           Physical Memory Array                                  Location: Other                                Use: System Memory                             Error Correction Type: Multi-bit ECC           Maximum Capacity: 4 GB                         Error Information Handle: Not Provided         Number Of Devices: 1                                                                  Handle 0x1100, DMI type 17, 21 bytes           Memory Device                                          Array Handle: 0x1000                           Error Information Handle: 0x0000               Total Width: 64 bits                           Data Width: 64 bits                            Size: 4096 MB                                  Form Factor: DIMM                              Set: None                                      Locator: DIMM 0                                Bank Locator: Not Specified                    Type: RAM                                      Type Detail: None       

Kiểm tra RAM bằng Prometheus

Bên cạnh cách sử dụng lệnh truyền thống, bạn có thể sử dụng những công cụ giám sát hiện đại như Prometheus và Grafana. Prometheus cho phép sử dụng công cụ Node Exporter để thu thập các chỉ số host, chẳng hạn như chỉ số về bộ nhớ trong file /proc/meminfo.

Sau khi thu thập xong, bạn import một dashboard có sẵn vào Grafana để giám sát thông số bộ nhớ trong thời gian thực.

Kiểm tra Ram bằng Prometheus
Kiểm tra Ram bằng Prometheus

Kiểm tra RAM bằng lệnh top/htop

Một cách phổ biến nữa để kiểm tra RAM trong Linux là dùng lệnh top hay htop. Trong đó top đã được cài đặt sẵn trên hệ thống:

$ top  top - 12:16:27 up 306 days,  7:11,  2 users,  load average: 0.00, 0.00, 0.00 Tasks: 256 total,   1 running, 214 sleeping,   0 stopped,   0 zombie %Cpu(s):  1.3 us,  0.7 sy,  0.0 ni, 97.8 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st KiB Mem :  4039588 total,   314884 free,  3436960 used,   287744 buff/cache KiB Swap:        0 total,        0 free,        0 used.   325952 avail Mem    PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND 23616 telegraf  20   0 1201168  19808   4944 S   1.3  0.5   1051:02 telegraf 23120 influxdb  20   0 2043020 250208   9956 S   0.7  6.2 715:58.34 influxd  3688 root      20   0 1031632  43296      0 S   0.3  1.1 497:27.81 mongod

Bên cạnh thông tin về CPU thì lệnh top còn cho phép kiểm tra RAM có trên hệ thống.

Lệnh htop cũng cho phép kiểm tra bộ nhớ trên server, nhưng có thể chưa có sẵn trên máy. Ta có thể cài đặt qua yum hoặc apt như sau:

$ sudo apt-get install htop $ sudo yum install htop

Kiểm tra RAM bằng lệnh htop:

$ htop     1  [|                                        2.0%]   Tasks: 192, 608 thr; 1 running   2  [|                                        0.7%]   Load average: 0.16 0.07 0.02   Mem[||||||||||||||||||||||||||||||||||3.32G/3.85G]   Uptime: 306 days(!), 07:16:02   Swp[                                        0K/0K]    PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command 29728 user      20   0 26336  4520  3148 R  1.3  0.1  0:01.11 htop                                           328872 logstash   39  19 3679M  721M     0 S  0.7 18.3 11h58:46 /usr/bin/java -Xms1g -Xmx1g -

Lệnh htop cũng cho ra kết quả tương tự, nhưng ở định dạng thân thiện hơn với người dùng.

Lời kết

Trong bài viết này, Vietnix đã hướng dẫn nhiều cách khác nhau để kiểm tra RAM trong Linux thông qua việc sử dụng lệnh và cả những công cụ giám sát hiện đại như Prometheus hặc Grafana. Việc giám sát RAM thường xuyên là vô cùng quan trọng đối với mọi quản trị viên của hệ thống, nếu bạn đọc hứng thú với chủ đề quản trị hệ thống Linux thì đừng bỏ lỡ những bài viết sắp tới của Vietnix nhé!

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