Chỉ là một câu hỏi nhanh về cách sử dụng bộ nhớ của khung chơi. Tôi có một cá thể sản xuất, xuất hiện để sử dụng 680768 kB bộ nhớ. Hầu hết nó nằm trong trao đổi.Sử dụng bộ nhớ của Playframework
Máy chủ (ảo) có khoảng 750 MB, nhưng cũng chạy máy chủ MySQL và 12 máy chủ ảo Apache. Đôi khi trở nên tạm thời không có điều kiện (hoặc rất chậm) trong thời gian ngắn. Tôi đoán đó là vì sự trao đổi (nó không phải là CPU).
Khuôn khổ có cần nhiều bộ nhớ không? Tôi có thể giới hạn mức sử dụng bộ nhớ với tham số JVM -Xmx256m
hoặc hơn thế, nhưng giá trị nào được đưa vào và lý do nó sử dụng quá nhiều bộ nhớ là gì?
Đây là mức sử dụng của Play! trước và sau khi bắt đầu:
Java: ~~~~~ Version: 1.6.0_26 Trang chủ: /usr/lib/jvm/java-6-sun-1.6.0.26/jre bộ nhớ tối đa: 194.641.920 miễn phí bộ nhớ: 11.813.896 Tổng bộ nhớ: 30.588.928 vi xử lý hiện có: 2
Sau khi khởi động lại: Java: ~~~~~ Version: 1.6.0_26 Trang chủ: /usr/lib/jvm/java-6-sun-1.6 .0.26/jre Bộ nhớ tối đa: 194641920 Miễn phí bộ nhớ: 9893688 Tổng bộ nhớ: 21946368 Bộ xử lý có sẵn: 2
Rất khó để trả lời một câu hỏi như vậy. Nó phụ thuộc vào rất nhiều yếu tố (phức tạp, bộ nhớ đệm, vv) - Chơi! khuyến khích một thiết kế phi trạng thái, do đó việc sử dụng bộ nhớ có vẻ hơi cao (mặc dù không đáng ngạc nhiên đối với Java). Bạn đã cố gắng khởi động lại máy chủ và xem liệu dấu chân bộ nhớ có thấp hơn không? Ngoài ra, một bãi chứa bộ nhớ có thể cung cấp cho bạn một gợi ý về nơi bộ nhớ này được cấp phát. –
bạn có thể gửi đầu ra bộ nhớ mà trạng thái phát cung cấp cho bạn (ở đầu trạng thái) hay không. Về phần mình, tôi đang chạy các ứng dụng chơi với -Xmx64Mo mà không gặp bất kỳ vấn đề gì. Nếu bạn cần thêm bộ nhớ, bạn có thể bị rò rỉ bộ nhớ trong mã số –
Tôi sẽ thêm nó vào câu hỏi. Chỉ có 71 MB của 665 MB hiện tại là trong bộ nhớ hoạt động (trên cùng). Các 665 có vẻ như một con số đủ ổn định. Sau khi vặn lại Play! ứng dụng (và ít nhất một yêu cầu) bộ nhớ được báo cáo theo đầu là 524m. (đặt mức sử dụng bộ nhớ được báo cáo bởi Play! Trong câu hỏi) –