Máy tính của chúng tôi có nhiều bộ nhớ hơn chúng từng có. Rất có thể điều này là đúng bất kể bạn đang đọc nó khi nào. Điều đó nói lên rằng, bất kể bạn có bao nhiêu bộ nhớ, nó dường như không bao giờ là đủ.
Bạn có thể đóng gói máy tính hoặc máy chủ của mình đầy tất cả bộ nhớ RAM mà nó sẽ sử dụng và một thứ gì đó sẽ luôn tìm thấy cách sử dụng cho nó. Hầu hết thời gian đây là một điều tốt. Rốt cuộc, tất cả RAM đó sẽ có ích lợi gì nếu bạn không sử dụng nó? Mặt khác, nếu bạn có hạn, thì việc hết bộ nhớ có thể là một vấn đề.
Bạn có chắc chắn về việc sử dụng bộ nhớ của mình không?
Trước khi bắt đầu tìm cách giải phóng bộ nhớ, bạn cần đảm bảo rằng có thứ gì đó đang thực sự sử dụng nó. Do cách Linux xử lý bộ nhớ, có vẻ như có thứ gì đó đang sử dụng tất cả bộ nhớ có sẵn của bạn.
Như Linux Ate My RAM giải thích, top
lệnh hiển thị rằng bạn sắp hết bộ nhớ có thể không có nghĩa là bạn nghĩ. Theo mặc định, Linux dành bộ nhớ không sử dụng cho bộ nhớ đệm trên đĩa, điều này thực sự giúp tăng tốc máy tính của bạn.
Điều đó nói rằng, có thể có một số dịch vụ hoặc ứng dụng có vấn đề đang thực sự sử dụng nhiều RAM hơn mức bình thường.
Chẩn đoán mức sử dụng bộ nhớ
Để chẩn đoán bộ nhớ của bạn, bạn sẽ cần sử dụng một số lệnh khác nhau. top
lệnh rất tốt để xem xét bất kỳ ứng dụng nào có thể ngốn quá nhiều RAM - đừng chỉ dựa vào chỉ số PhysMem hiển thị ở trên cùng.
Bạn có thể sử dụng free
và ps
các lệnh để giúp chẩn đoán mọi vấn đề về RAM. Để sử dụng free
, chỉ cần chạy như sau:
free -m
Bạn sẽ nhận thấy rằng số liệu "tổng số" và "đã sử dụng" sẽ tương tự nhau. Như chúng tôi đã đề cập ở trên, đây là hành vi bình thường đối với Linux, vì vậy đừng lo lắng về điều này. Điều quan trọng nhất cần chú ý là phần “đã sử dụng” trong hàng “bộ đệm / được lưu trong bộ đệm”, vì đây là những ứng dụng và dịch vụ đang thực sự sử dụng.
Bạn có thể sử dụng ps
tương tự với top
để xác định ứng dụng nào đang sử dụng nhiều bộ nhớ nhất. Đối với điều này, chỉ cần chạy như sau:
ps aux
Điều này sẽ cho bạn biết ứng dụng nào đang sử dụng nhiều bộ nhớ nhất và hiển thị cho bạn ID quy trình của chúng.
Khắc phục mức sử dụng bộ nhớ cao của bạn
Có một vài thủ phạm phổ biến khi nói đến việc sử dụng bộ nhớ cao trên Linux. Một trong những kẻ vi phạm chính là Java. Cho dù bạn đang sử dụng môi trường thời gian chạy Java chính thức hay môi trường thay thế do GNU cung cấp, điều này có thể khiến bạn gặp rắc rối. Nếu bạn gặp sự cố này trên máy chủ, thì có thể do JBoss hoặc Tomcat gây ra. Bạn sẽ tìm thấy các tệp cấu hình của chúng ở đâu đó như sau:
/usr/local/jboss/bin/run.conf /usr/local/tomcat/bin/setenv.sh
Các thủ phạm khác có thể là Apache hoặc MySQL. Bài viết này không chỉ cho bạn biết chính xác cách định cấu hình các dịch vụ này, nhưng bạn có thể kiểm tra các tệp nhật ký của mình để tìm lỗi hoặc cảnh báo từ các dịch vụ này.
Kết luận
Nếu bạn đang tìm cách tăng hiệu suất hoặc để khắc phục sự cố, bộ nhớ có thể không phải lúc nào cũng là thủ phạm. Nó phụ thuộc vào những gì bạn đang tìm kiếm, nhưng giải pháp của bạn có thể nằm hoàn toàn ở một phần khác của máy tính. Hãy chắc chắn rằng bạn ghi nhớ điều này.
Đừng lo lắng, vì bất kể vấn đề là gì, chúng tôi đều có thể giúp bạn. Nếu máy tính để bàn, máy tính xách tay hoặc máy chủ của bạn chạy chậm, hãy xem hướng dẫn của chúng tôi để tìm nguyên nhân. Ngay cả khi nó không giải quyết được vấn đề của bạn, nó có thể sẽ giúp bạn tìm thấy nơi bắt đầu.