2010-10-20 37 views
6

Chúng tôi đang gặp vấn đề lớn với các plugin delayed_job - http://github.com/collectiveidea/delayed_job/ray delayed_job vấn đề tiêu thụ bộ nhớ

Khi chúng tôi bắt đầu công việc với "ruby script/delayed_job bắt đầu", quá trình này không bao giờ cho phép đi RAM nó mua lại.

Vì vậy, nó bắt đầu với 10%, 25%, được 80% và không bao giờ cho phép đi ram, ngay cả khi nó không có công việc để xử lý.

Bất kỳ ý tưởng nào về cách chúng tôi có thể vượt qua điều này?

Cảm ơn!

(PS: RAILS_ENV = sản xuất kịch bản/delayed_job bắt đầu không làm việc cho chúng tôi để bắt đầu công nhân delayed_job)

+0

Tại sao không 'RAILS_ENV = sản xuất kịch bản/delayed_job việc start' cho bạn? Nếu không, bạn đang chạy nó trong phát triển. Trong trường hợp nào, vấn đề này xảy ra trong khoảng thời gian nào? – wuputah

+0

Tôi thấy rằng việc lắc thanh ma thuật 'GC.start' đôi khi khiến bộ thu gom rác thực sự hoạt động. – tadman

+0

Bạn có thể bị rò rỉ bộ nhớ ở đâu đó trong ứng dụng của mình. Có một vài gợi ý về việc gỡ lỗi vấn đề đó trong hướng dẫn đường ray (http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-memory-leaks) –

Trả lời

2

Dựa trên lời khuyên từ IRC (từ @ReinH), Ruby sẽ nhớ không bao giờ miễn phí trở lại hệ điều hành .

Vì vậy, giải pháp duy nhất tôi biết ngay bây giờ là tự khởi động lại plugin delay_job mọi lúc và sau đó.

@ReinH cũng chỉ ra các plugin delayed_job_spawner, mà có vẻ là một giải pháp đáng tin cậy - http://github.com/woahdae/delayed_job_spawner

+0

wow, tôi không bao giờ biết điều này, nhưng chạy vào nó ngay bây giờ.như là một vấn đề mà họ cần phải sửa chữa.Đây là một liên kết đến vấn đề này: https://github.com/collectiveidea/delayed_job/issues/336 – Jonathan

+0

FYI: Công việc trì hoãn với đường ray 3 dường như đang hoạt động tốt cho chúng tôi - hoặc không có vấn đề này hoặc chúng tôi đã thực hiện điều gì đó khác trong thiết lập của mình. – stringo0

Các vấn đề liên quan