Khi khắc phục sự cố hệ thống hoặc ứng dụng bị chậm lại hoặc hoạt động sai, một trong những điều đầu tiên cần kiểm tra là mức sử dụng bộ nhớ hệ thống.

Bài viết này giải thích cách kiểm tra mức sử dụng RAM trong Linux bằng một số lệnh khác nhau.

Lệnh free

free là lệnh được sử dụng phổ biến nhất để kiểm tra việc sử dụng bộ nhớ của hệ thống Linux. Nó hiển thị thông tin về tổng bộ nhớ đã sử dụng, và bộ nhớ trống.

Nói chung, free được gọi vớitùy chọn -h có nghĩa là in đầu ra ở định dạng có thể đọc được:

free -h
              total        used        free      shared  buff/cache   available
Mem:           3936        1087         252         130        2596        2427
Swap:             0           0           0

Đây là ý nghĩa của mỗi cột:

  • Total – Tổng dung lượng bộ nhớ mà các ứng dụng có thể sử dụng.
  • used – Bộ nhớ đã sử dụng. Nó được tính như sau:used = total - free - buffers - cache
  • free – Bộ nhớ trống / không sử dụng.
  • shared – Có thể bỏ qua cột này; nó chỉ được hiển thị để tương thích ngược.
  • buff / cache – Bộ nhớ kết hợp được sử dụng bởi bộ đệm hạt nhân và bộ đệm trang và phiến. Bộ nhớ này có thể được lấy lại bất cứ lúc nào nếu ứng dụng cần.
  • available – Ước tính bộ nhớ có sẵn để khởi động các ứng dụng mới mà không cần hoán đổi.

Lệnh free in thông tin cho bộ nhớ vật lý và swap hệ thống .

Lệnh top

top là một tiện ích dòng lệnh hiển thị thông tin thời gian thực về các tiến trình đang chạy. Nó cũng hiển thị tóm tắt hệ thống, bao gồm cả việc sử dụng bộ nhớ.

Để gọi lệnh chỉ cần gõ top:

top

Đầu ra sẽ giống như sau:

Tiêu đề của đầu ra bao gồm thông tin về tổng bộ nhớ vật lý và bộ nhớ hoán đổi, miễn phí và đã sử dụng của hệ thống.

Cột %MEM cung cấp thông tin về tỷ lệ sử dụng bộ nhớ vật lý có sẵn cho mỗi quá trình chạy.

/proc/meminfo

Cách đơn giản nhất để kiểm tra mức sử dụng bộ nhớ RAM là hiển thị nội dung của tệp ảo /proc/meminfo. Tập tin này được sử dụng bởi các freetopps , và các lệnh hệ thống thông tin khác.

Sử dụng less hoặc cat để xem nội dung của tệp /proc/meminfo:

cat /proc/meminfo

Tệp này bao gồm một lượng lớn thông tin về bộ nhớ hệ thống và cách sử dụng hoán đổi:

MemTotal:        4030592 kB
MemFree:          401804 kB
MemAvailable:    2507504 kB
...

Thông tin từ  tệp/proc/meminfo có thể được phân tích cú pháp và sử dụng trong các tập lệnh shell.

Lệnh ps_mem

ps_mem là một tập lệnh Python báo cáo việc sử dụng bộ nhớ RAM cho mỗi chương trình. Nó hoạt động với cả Python 2 và 3 và có thể được cài đặt với pip:

sudo pip3 install ps_mem

Chạy ps_mem yêu cầu đặc quyền của quản trị viên:

sudo ps_mem

Đầu ra sẽ bao gồm việc sử dụng bộ nhớ của mỗi chương trình đang chạy theo thứ tự tăng dần:

 Private  +   Shared  =  RAM used  Program
...
 11.9 MiB +  20.2 MiB =  32.1 MiB nginx (4)
  8.2 MiB +  42.4 MiB =  50.6 MiB systemd-journald
 55.8 MiB + 307.2 MiB = 363.0 MiB php-fpm7.4 (6)
233.9 MiB + 234.0 MiB = 467.9 MiB redis-server
578.2 MiB + 578.6 MiB =   1.1 GiB mysqld
---------------------------------
                          2.2 GiB
=================================

Tập lệnh này hữu ích khi bạn muốn tìm hiểu chương trình đang chạy nào đang chiếm phần lớn bộ nhớ hệ thống của bạn.

Phần kết luận

Chúng ta đã tìm hiểu một số lệnh mà bạn có thể sử dụng để kiểm tra việc sử dụng bộ nhớ hệ thống.

Nếu bạn có bất kỳ câu hỏi hoặc nhận xét nào, vui lòng để lại bình luận bên dưới.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments