Kaynakların oldukça sınırlı olduğu yerleşik bir ortamda çalışıyorum. İyi çalışan node.js'yi kullanmaya çalışıyoruz, ancak genellikle 60 megabaytlık sanal bellek tüketiyor (kullanılan gerçek bellek yaklaşık 5 megabayttır.) Kısıtlamalarımız göz önüne alındığında, bu çok fazla sanal bellek; node.js'nin en çok yaklaşık 30 megabayt VM kullanmasına izin verebiliyoruz.Sanal bellek kullanımı node.js ile nasıl sınırlandırılır?
böyle "--max_executable_size" ve "--max_new_space_size" ama deneyden sonra, ben bunların hepsi gerçek hafızayı kontrol ettiğini bulmak, "--max_old_space_size" olarak node.js için çeşitli komut satırı seçenekleri vardır kullanım, maksimum sanal bellek boyutu değil.
Önemliyse, ARM mimarisinde bir ubuntu linux varyantında çalışıyorum.
Bir node.js işleminin kullanmasına izin verilen maksimum sanal bellek miktarını ayarlamasına izin verecek herhangi bir seçenek veya ayar var mı?
Neden bu bir sorun olmalı? Linux, aşırı ayırma kullanır: Bu sanal bellek, yalnızca işlem sayfası tablosunun içinde * geçici olarak * kullanılana kadar var olur. –
Hm. Emin değilim. Bu yerleşik bir ortamdır (yani: disk alanı yok), böylece tüm sanal ayırmalar bazı gerçek bellekleri kullanmazlar mı? Bu düşüncemi patronuma koyacağım, ama hiçbir fark yaratmayacağına dair hislerim var; Ayak izini azaltmam için emredildiğim ve çok fazla ağırlık taşımayacağımı iddia ettim. 'Müşteri her zaman haklıdır' bir şeydir. Ayrıca başka bir konuya girdim; Sanal bellek kullanımını 55 megavattan daha düşük bir değere sınırlamak için setrlimit() işlevini kullanarak bir işlev yazdım ve şimdi node.js bir malloc hatasıyla çıkıyor. Baska öneri? – Mike
Merhaba Mike. Bunu nasıl çözdün? – Industrial