2016-07-29 18 views
5

Dokümanların görüntülere dönüştürülmesini amaçlayan bir nodeJS uygulaması yapıyorum. Sonuç olarak, RAM üzerinde oldukça ağır, bu yüzden bir tepe olduğunda sunucumda% 100 RAM kullanımına kadar gidebilirim.Bellek yetersiz olduğunda düğümün kilitlenmesini önleme

Benim sorunum o olur, düğüm çöker (bellek istisna dışında), bu yüzden çökmesine ve sadece işini "de olabildiğince" değil bunun için bir yol bulmak istiyoruz olmasıdır.

Alternatifler olduğunu biliyorum (ölçekleme, sıraya alma, otomatik olarak geri getirmek için 'sonsuza dek kullanma') ve bunun üzerinde çalışıyorum, ancak bir şeylerin başarısız olması durumunda sunucumun yalnızca bilgi sahibi olmadığını bilmek güzel olurdu. RAM dolu olduğunda ölün.

Bunu başarmanın bir yolu var mı?

+0

İlgili: http://stackoverflow.com/questions/16797423/how-to-handle-v8-engine-crash-when-process-runs-out-of-memory – Tomalak

cevap

0

böyle yapmak olur:

  • görevleri
  • birkaç ayrı bir düğüm (alt) prosesleri sıra ve bilgi işlem sonuçlarından görevleri tüketmek üzere kalıcı sırada sıraya. Her çalışanın (diyelim) 1.7GB bellekle sınırlı (node.js işlemi için maksimum)
  • Görevin çok eşzamanlı ve hesaplamanın ağır olduğunu varsayarsak, çalışanın 1'den fazla görev gerçekleştirmesi çok mantıklı değildir. bir zaman.

Bu, tüm RAM'i yormamak ve makinenizin kaynaklarını oldukça verimli kullanmanızın garantisini verir.

İlgili konular