Vyhledávání na webu

javascript - Jak nastavit limit paměti pass max-old-space-size pro Nodejs běžící s balíčkem memory-usage


Používám https://www.npmjs.com/package/memory-usage, abych zjistil, jak moje Node aplikace využívá paměť, tím, že spouštím 'memory-usage app.js' v terminálu MACOS. Nicméně po několika testech vždy havaruje při 1,4 GB.

V běžném příkazu Node.js mohu pro zvýšení limitu paměti použít jednoduše 'node --max-old-space-size=8192 app.js'. Spuštění 'memory-usage --max-old-space-size=8192 app.js' však nebude fungovat.

Můj Mac má následující podrobnosti o RAM:

BANKA 0/DIMM0:

Velikost: 4 GB Typ: DDR3 Rychlost: 1867 MHz

BANKA 1/DIMM0:

Velikost: 4 GB Typ: DDR3 Rychlost: 1867 MHz

Jaká je maximální velikost, kterou mohu nastavit pro svou Nodejs aplikaci, a jak to nastavit pomocí využití paměti?

Děkuji.

Odpověď č. 1

Zkuste to nastavit přes NODE_OPTIONS:

Unix :

export NODE_OPTIONS="--max-old-space-size=8192" && memory-usage app.js

Windows :

set NODE_OPTIONS="--max-old-space-size=8192" && memory-usage app.js

Odpověď č. 2

Je pravděpodobné, že spustitelný soubor pro využití paměti jednoduše ignoruje váš argument max-old-space. Měli byste být schopni najít způsob, jak to obejít, v jejich dokumentaci. Vypadá to, že Node má ve výchozím nastavení přidělení paměti 1 GB na 64bitových systémech.

Podívejte se na související (možná duplicitní) téma. Omezení využití paměti node.js

1,4 GB mi připadá trochu vysoké. Zajímalo by mě, jestli někde neuniká paměť?

Viz také: Jak sledovat využití paměti v Node.js?