Cách kiểm tra Ram
1. Thực hiện lệnh free -h
free -h
Lệnh free -h được sử dụng để hiển thị thông tin về bộ nhớ (RAM) và swap space trên hệ thống Linux.
Như ảnh trên ta có các thông tin sau khi sử dụng free -h để kiểm tra.
Mem (Bộ nhớ vật lý):
total: 1.8G, tổng dung lượng bộ nhớ vật lý là 1.8 gigabyte.
used: 409M, lượng bộ nhớ vật lý hiện tại đang được sử dụng là 409M.
free: 317M, lượng bộ nhớ vật lý hiện tại không được sử dụng là 317 megabyte.
shared: 147M, lượng bộ nhớ được chia sẻ giữa các tiến trình là 147 megabyte.
buff/cache: 1.1G, tổng dung lượng bộ nhớ được sử dụng cho bộ đệm và cache là 1.1 gigabyte.
available: 1.1G, lượng bộ nhớ có sẵn để sử dụng cho các tiến trình mới là 1.1 gigabyte.
Swap (Swap space):0B
Lưu ý:
Lượng bộ nhớ thực sự có thể sử dụng được (available) là tổng hợp của bộ nhớ không được sử dụng (free) và lượng bộ nhớ được sử dụng cho bộ đệm và cache (buff/cache).
Lượng bộ nhớ được sử dụng cho bộ đệm và cache thường được cung cấp để cải thiện hiệu suất hệ thống bằng cách giảm thời gian truy cập đĩa và tăng tốc quá trình đọc/ghi dữ liệu. Điều này là một chiến lược hiệu quả để tận dụng tốc độ cao của bộ nhớ RAM so với ổ đĩa cứng.
2. Kiểm tra Ram vật lý đang sử dụng
Ngay ở file /proc/meminfo là một tập tin trong hệ thống Linux cung cấp thông tin chi tiết về việc sử dụng bộ nhớ. Lệnh free cũng dựa trên nó để hiển thị thông tin về bộ nhớ. Nếu bạn muốn kiểm tra nội dung của file /proc/meminfo trực tiếp, bạn có thể sử dụng lệnh cat hoặc more, để xem nhiều thông tin chi tiết hơn.
Các thông tin trong file này bao gồm nhiều mục như Total, Free, Buffers, Cached, SwapTotal, SwapFree, và nhiều thông tin khác liên quan đến bộ nhớ vật lý và swap space. Việc đọc thông tin từ /proc/meminfo có thể cung cấp cái nhìn chi tiết hơn về tình trạng sử dụng bộ nhớ của hệ thống.
egrep 'Mem|Cache' /proc/meminfo
cat /proc/meminfo
more /proc/meminfo
Giải thích thêm ở hình.
MemTotal:
Là tổng dung lượng bộ nhớ RAM.
Trong trường hợp này, tổng cộng có 1881804 kilobytes (kB) hoặc khoảng 1.8 gigabytes (GB).
MemFree:
Là lượng bộ nhớ RAM hiện tại không được sử dụng.
Trong trường hợp này, có 404188 kB hoặc khoảng 400 megabytes (MB) bộ nhớ không được sử dụng.
MemAvailable:
Là lượng bộ nhớ RAM hiện tại có thể sử dụng cho các tiến trình mới mà không cần thải bỏ bộ đệm hoặc cache.
Trong trường hợp này, có 1228920 kB hoặc khoảng 1229 MB bộ nhớ có sẵn.
Cached:
Là lượng bộ nhớ được sử dụng cho các mục dữ liệu mà hệ thống đã đọc từ đĩa và giữ lại trong bộ nhớ để tăng tốc quá trình truy cập sau.
Trong trường hợp này, có 1025208 kB hoặc khoảng 1025 MB bộ nhớ đang được sử dụng cho cache.
3. Tìm hiểu về Swap
Swap là một phân vùng trên ổ đĩa hoặc một tệp trên hệ thống tập tin dùng để lưu trữ dữ liệu từ bộ nhớ RAM khi bộ nhớ này đã bị sử dụng hết. Điều này giúp mở rộng dung lượng ảo của bộ nhớ, cho phép hệ thống tiếp tục hoạt động mặc dù có thể có nhiều ứng dụng và dịch vụ đang chạy.
Khi bộ nhớ RAM bắt đầu đầy, hệ thống sẽ chuyển một số dữ liệu từ bộ nhớ RAM sang phân vùng swap để tạo ra không gian mới cho ứng dụng khác. Quá trình này giúp tránh tình trạng “Out of Memory” (hết bộ nhớ) và giữ cho hệ thống vận hành mượt mà hơn.
Có hai hình thức của Swap:
Swap Partition (Phân vùng Swap):
Swap partition là một phần của ổ đĩa được cấu hình để hoạt động như một phân vùng swap riêng biệt. Hệ điều hành sẽ sử dụng phân vùng này khi cần thêm không gian bộ nhớ.
Swap File (Tệp Swap):
Swap file là một tệp đặc biệt trên hệ thống tập tin được sử dụng như một vùng trao đổi. Thay vì phân vùng riêng biệt, hệ thống sử dụng một tệp cụ thể để lưu trữ dữ liệu swap.
Việc sử dụng swap không phải lúc nào cũng là tốt, vì việc chuyển dữ liệu giữa RAM và swap có thể làm giảm hiệu suất, đặc biệt là trên ổ đĩa cơ cứng thay vì ổ đĩa SSD. Việc cân nhắc và tinh chỉnh cấu hình swap là một phần quan trọng của quản lý hệ thống.
III. Lời kết
Trong quá trình quản lý và duy trì máy chủ, việc hiểu rõ về tình trạng sử dụng bộ nhớ là rất quan trọng để đảm bảo hiệu suất hệ thống và tránh tình trạng thiếu hụt tài nguyên. Bạn đã thực hiện đúng khi sử dụng các lệnh như free, egrep, htop, và top để theo dõi và kiểm tra bộ nhớ trên máy chủ.
Nếu bạn gặp tình trạng thiếu hụt bộ nhớ, hãy kiểm tra các tiến trình đang chiếm nhiều bộ nhớ, xác định các nguyên nhân, và thực hiện các biện pháp như tối ưu hóa cấu hình, giải phóng bộ nhớ không cần thiết, và nâng cấp bộ nhớ nếu cần thiết.
Ngoài ra 10 điều cơ bản cần lưu y cần gửi đến bạn đang xem tài liệu để có giải pháp quản trị tốt hơn nhé.
1. Giám Sát Thường Xuyên: Làm thường xuyên việc giám sát sử dụng bộ nhớ trên máy chủ. Cài đặt các công cụ giám sát tự động để nhận cảnh báo khi có vấn đề về bộ nhớ.
2. Xử Lý Các Tiến Trình Lớn: Nếu có một hoặc vài tiến trình chiếm nhiều bộ nhớ, xem xét xem có cách nào để tối ưu hóa chúng hoặc có thể sử dụng các phiên bản nhẹ hơn.
3. Tối Ưu Hóa Cấu Hình Kernel: Đối với hệ thống Linux, kiểm tra và tối ưu hóa các cài đặt kernel như swappiness để đảm bảo việc sử dụng swap space là hiệu quả.
4. Quản Lý Swap Space: Đảm bảo swap space được cấu hình đúng. Nếu swap space thường xuyên bị sử dụng, có thể cần xem xét việc tăng kích thước.
5. Nâng Cấp Bộ Nhớ: Nếu sau tất cả các biện pháp tối ưu hóa vẫn còn thiếu hụt bộ nhớ, nâng cấp bộ nhớ vật lý là một giải pháp hiệu quả.
6. Kiểm Tra Log và Ghi Nhật Ký: Luôn kiểm tra log hệ thống để xem có thông báo nào liên quan đến bộ nhớ không. Có thể có cảnh báo hoặc lỗi cần được xử lý.
7. Định Kỳ Việc Bảo Trì: Lên lịch định kỳ cho việc kiểm tra và bảo trì hệ thống. Điều này giúp phát hiện và giải quyết vấn đề trước khi nó gây ra ảnh hưởng nghiêm trọng đến hiệu suất.
8. Tối Ưu Hóa Ứng Dụng: Nếu bạn là người phát triển ứng dụng, tối ưu hóa mã nguồn để giảm tiêu thụ bộ nhớ và tăng hiệu suất.
9. Tìm Hiểu Bộ Nhớ của Hệ Thống: Hiểu rõ cách hệ thống của bạn quản lý bộ nhớ và cách các yếu tố khác như cache, bộ đệm ảnh hưởng đến sự sẵn sàng của bộ nhớ.
10. Đọc Tài Liệu Hệ Thống: Luôn đọc và nắm vững tài liệu hệ thống, đặc biệt là những thông số và cài đặt liên quan đến bộ nhớ.