“旧空间”是V8托管(又称垃圾收集)堆(即JavaScript对象所在的地方)中最大且最可配置的部分,该--max-old-space- size
标志控制其最大大小。随着内存消耗接近极限,V8将在垃圾回收上花费更多时间,以释放未使用的内存。
如果堆内存消耗(例如,GC无法释放的活动对象)超出了限制,则V8将使您的进程崩溃(由于缺乏替代性),因此您不想将其设置得太低。当然,如果将它设置得太高,则V8允许的额外堆使用量可能会导致整个系统内存不足(并且由于缺乏替代性,所以交换或杀死随机进程)。
总之,在一台具有2GB内存的机器上,我可能会设置--max-old-space-size
为1.5GB左右,以便为其他用途留一些内存并避免交换。