2015-12-04 15 views
8

Im un newbie in nodejs e mongodb. Ho un problema quando ho letto circa 100000 record dal mio mongodb nell'applicazione nodejs. Quando provo ad ottenere 100000 record, ho ottenuto questo errore:configurazione dimensione massima spazio vecchio in Nodejs

ERRORE FATALE: CALL_AND_RETRY_LAST Allocazione fallita - processo di memoria

ho ricerca di Google e tutti dicevano che configurano max parametro vecchia dimensione spazio, perché v8 il motore ha circa 1,9 GB di memoria memmory.

Il mio punto è: eseguo la mia app con eclispe e non so come configurare il parametro max-old-space-size.

Qualcuno può dare un suggerimento?

Grazie mille!

ps: il mio inglese è cattivo, quindi se non riesci a capire la mia domanda, va bene.

+1

Perché stai cercando di archiviare tutti quei record in memoria? – mscdex

+0

Voglio visualizzare tutti questi record sul mio sito web. – user1697646

+1

Quindi, perché non trasmettere i record sul browser o implementare una sorta di paging (i browser non gestiscono sempre una buona quantità di elementi dom, supponendo che sia così che stai visualizzando i dati)? – mscdex

risposta

12

Utilizzare node --max_old_space_size=5000 yourapp.js per consentire 5000 mb. Cerca nelle tue eclissi le impostazioni di avvio per i parametri della riga di comando, dove puoi aggiungere questo.

Tuttavia, come dicono i commenti, è necessario riconsiderare il caricamento in memoria e inviarlo al client.

+0

grazie per il tuo commento. come hai detto "caricando questo in memoria, e trasmetterlo al client". puoi mostrarmi i documenti o qualsiasi altra cosa può aiutare a farlo, perché non ho idea di iniziare – user1697646

+0

questa domanda: http://stackoverflow.com/questions/7372626/how-to-stream-mongodb-query-results-with-nodejs – ZachB

+3

è "--max_old_space_size = 5000" o "--max-old-space -size = 5000 "?! questo è confuso –

Problemi correlati