nodejs / node-v0.x-archive

Moved to https://github.com/nodejs/node
34.45k stars 7.31k forks source link

V8 memory limits in main node process #3283

Closed qxfusion closed 12 years ago

qxfusion commented 12 years ago

Now in node.js V8 engine have ~2GB of limit of memory usage.

I propose to solve this problem as follows. Enter the type of this VirtualMemory to store large amounts of data Create an automatic bridge with memcached daemon then the work will occur as follows

Proposal

Limitations

Typicall Q&A Q: It's bandage? A: Yes, it is. But now its only quick solutions without modification V8 engine core source code

Q: How fast? A: Perfomance equals query for memcached

Q: Can I store objects, array, .... A: Yes, as automatically converted JSON string

Q: Data store automatically A: Yes. Query on setter equals writing in memcached

Q: I'm need run memcached manually A: No. I'ts can be started automatically by module loaded

Q: I'ts important feature? A: Ah... :) If you have RAM 64GB+ on server like Me - I'm think - YES (for VPS with smaller 3GB of RAM - It's not actually)

Q: Why it's need in core? A: Because Node - is general purpose solution for highload systems, and it's very (x1000 times) badly limitation. And epic fail for x64 systems

Sannis commented 12 years ago

Q: Why it's need in core? A: Because Node - is general purpose solution for highload systems, and it's very (x1000 times) badly limitation. And epic fail for x64 systems

There is one contra: application that needs 64 Gb memory is better to split into different processes to make in really high performance.

qxfusion commented 12 years ago

I'm not says - App require 64GB of RAM - Single instance can be use more 2GB of RAM - for example - 3-4GB. Also - I'm using threads_gogo for multi threads ;)

bnoordhuis commented 12 years ago

The memory limit in V8 is slowly being lifted. Thanks for the proposal but we're not going to implement it.