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 free
, top
, ps
, 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.
Long living the peace