Home Máy chủ LinuxLinux căn bản Cách kiểm tra Ram trên Linux

Cách kiểm tra Ram trên Linux

by Hoàng Nam
Published: Last Updated on
A+A-
Reset

I. Giới thiệu

1. Ram là gì ?

RAM (Random Access Memory) là một thành phần quan trọng trong hệ thống máy tính, chạy song song với vi xử lý. Đây là bộ nhớ tạm thời giúp lưu trữ thông tin hiện tại để CPU có thể nhanh chóng truy xuất và xử lý.

Tính chất chính của RAM là không thể giữ lại dữ liệu khi không có nguồn điện cung cấp. Trong trường hợp máy tính mất nguồn hoặc được tắt, dữ liệu trong RAM sẽ bị mất.

Khi một ứng dụng trên máy chủ bắt đầu chạy, dữ liệu từ ổ đĩa cứng sẽ được chuyển vào RAM. Điều này giúp tăng tốc quá trình xử lý vì CPU có thể nhanh chóng truy xuất và lấy dữ liệu từ RAM thay vì từ ổ cứng, đáp ứng nhanh chóng các thao tác của người dùng.

2. Vai trò của Ram quan trọng thế nào

  1. Vai trò chính của RAM:
    • RAM cung cấp không gian lưu trữ tạm thời cho dữ liệu và chương trình đang chạy trong khi máy tính hoạt động.
    • Dữ liệu được lưu trữ tại RAM vì nó có tốc độ truy cập nhanh, giúp CPU đọc và ghi thông tin một cách hiệu quả.
  2. Loại RAM:
    • RAM có thể chia thành nhiều loại, bao gồm RAM động (DRAM) và RAM tĩnh (SRAM). DRAM là loại thường được sử dụng trong các máy tính cá nhân vì nó có chi phí thấp, trong khi SRAM thì nhanh hơn nhưng đắt đỏ và thường được sử dụng trong các ứng dụng đòi hỏi hiệu suất cao như bộ nhớ cache.
  3. Quản lý bộ nhớ:
    • Hệ điều hành quản lý việc sử dụng RAM thông qua quá trình quản lý bộ nhớ. Điều này bao gồm việc phân chia không gian bộ nhớ giữa các ứng dụng và hệ thống để đảm bảo tất cả chúng có đủ không gian để hoạt động mà không ảnh hưởng đến nhau.
  4. Swap Space:
    • Khi RAM đầy, hệ điều hành có thể chuyển một số dữ liệu không cần thiết từ RAM sang một phần của ổ đĩa cứng được gọi là swap space. Điều này giúp giải phóng không gian RAM cho các tác vụ quan trọng hơn.
  5. Hiệu suất và Dung lượng:
    • Hiệu suất của máy tính thường phụ thuộc vào dung lượng RAM và tốc độ của nó. Ứng dụng và hệ điều hành đương nhiên sẽ chạy nhanh hơn nếu có nhiều RAM hơn để làm việc.
    • Dung lượng RAM quyết định khả năng của hệ thống xử lý một lượng lớn dữ liệu và chương trình cùng một lúc.
  6. Phân loại RAM theo kích thước:
    • RAM được phân chia thành các đơn vị gọi là byte, và dung lượng của RAM thường được đo bằng kilobyte (KB), megabyte (MB), gigabyte (GB), và thậm chí terabyte (TB) trong các hệ thống máy tính hiện đại.
  7. Bộ nhớ Cache:
    • Một phần của RAM có thể được sử dụng làm bộ nhớ cache. Bộ nhớ cache lưu trữ các dữ liệu thường xuyên truy cập gần CPU, giảm thời gian truy cập và tăng tốc độ xử lý.

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

CleanShot 2024 01 17 at 09.35.33@2x

Như ảnh trên ta có các thông tin sau khi sử dụng free -h để kiểm tra.

  1. Mem (Bộ nhớ vật lý):
    • total: 3.8G, tổng dung lượng bộ nhớ vật lý là 3.8 gigabyte.
    • used: 2.1G, lượng bộ nhớ vật lý hiện tại đang được sử dụng là 2.1 gigabyte.
    • free: 128M, lượng bộ nhớ vật lý hiện tại không được sử dụng là 128 megabyte.
    • shared: 299M, lượng bộ nhớ được chia sẻ giữa các tiến trình là 299 megabyte.
    • buff/cache: 1.6G, tổng dung lượng bộ nhớ được sử dụng cho bộ đệm và cache là 1.6 gigabyte.
    • available: 1.2G, lượng bộ nhớ có sẵn để sử dụng cho các tiến trình mới là 1.2 gigabyte.
  2. Swap (Swap space):
    • total: 2.9G, tổng dung lượng swap space là 2.9 gigabyte.
    • used: 674M, lượng swap space đã được sử dụng là 674 megabyte.
    • free: 2.3G, lượng swap space còn trống là 2.3 gigabyte.

Tổng cộng, hệ thống của đang sử dụng một phần của bộ nhớ vật lý và một phần của swap space. Có tổng cộng 3.8G + 2.9G = 6.7G bộ nhớ có sẵn cho hệ thống của. Đang sử dụng khoảng 2.1G trong tổng bộ nhớ vật lý và 674M trong tổng swap space.

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). Trong trường hợp trên, có thể sử dụng khoảng 1.2G + 1.6G = 2.8G, chứ không chỉ là 128M (free).

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
CleanShot 2024 01 17 at 09.50.00@2x

Giải thích thêm ở hình.

  1. MemTotal:
    • Là tổng dung lượng bộ nhớ RAM.
    • Trong trường hợp này, tổng cộng có 4023464 kilobytes (kB) hoặc khoảng 3.83 gigabytes (GB).
  2. 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ó 141688 kB hoặc khoảng 138.29 megabytes (MB) bộ nhớ không được sử dụng.
  3. 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ó 1265480 kB hoặc khoảng 1235.59 MB bộ nhớ có sẵn.
  4. 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ó 1314376 kB hoặc khoảng 1282.61 MB bộ nhớ đang được sử dụng cho cache.
  5. SwapCached:
    • Là lượng dữ liệu từ swap space (đã được sử dụng) mà hệ thống giữ lại trong bộ nhớ.
    • Trong trường hợp này, có 26800 kB hoặc khoảng 26.17 MB swap space đã được giữ lại trong bộ nhớ.

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:

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

CleanShot 2024 01 17 at 10.19.25@2x 1


Thông tin về Swap mà bạn đã cung cấp là kết quả của lệnh free -h. Dưới đây là giải thích chi tiết về thông tin này:

  • Swap:: Đây là phần tổng của swap space trên hệ thống.
  • 2.9G: Tổng dung lượng swap space là khoảng 2.9 gigabyte (GB). Đây là tổng cộng dung lượng của phân vùng swap hoặc tệp swap.
  • 674M: Dung lượng swap đang được sử dụng hiện tại là khoảng 674 megabyte (MB). Đây là lượng dung lượng swap đã được sử dụng để lưu trữ dữ liệu từ bộ nhớ RAM.
  • 2.3G: Dung lượng swap space còn trống là khoảng 2.3 gigabyte (GB). Đây là không gian swap mà hệ thống có thể sử dụng thêm nếu cần.

Thông số trên cho thấy hệ thống của bạn có một tổng dung lượng swap là 2.9GB, trong đó có khoảng 674MB đã được sử dụng và khoảng 2.3GB còn trống.

Nếu lượng swap được sử dụng thường xuyên và gần giới hạn tối đa, có thể cần xem xét cấu hình và có thể tăng kích thước swap space nếu cần thiết để đảm bảo rằng hệ thống có đủ không gian để xử lý các tác vụ.

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

Lưu ý rằng quản lý bộ nhớ không chỉ là một nhiệm vụ một lần, mà là một quá trình liên tục và cần được theo dõi và cập nhật thường xuyên.

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:

Đánh giá

Tham gia nhóm hỗ trợ Server - Hosting

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Bài viết cùng chuyên mục

AZDIGI – Không chỉ là đơn vị hàng đầu trong lĩnh vực Web Hosting và Máy chủ, chúng tôi mong muốn mang lại những kiến thức bổ ích nhất và luôn cập nhật thường xuyên cho cộng đồng người đam mê thiết kế website, công nghệ,…

Vui lòng không sao chép nội dung nếu chưa xin phép. Designed and Developed by PenciDesign