2012-03-08 37 views
20

想知道node.js的V8引擎適合部署在有限的內存設備上(例如256mb)並與其他進程並行運行。適用於有限內存設備的V8版Node.js?

,我讀了它掛鉤機器的資源。有沒有辦法限制V8引擎本身的內存和處理能力?

+0

Respberry Pi上的NodeJS?這可能很有趣。 – 2012-03-08 09:14:32

+0

你能告訴更多關於設備的信息嗎?哪個CPU架構,磁盤類型(固態/旋轉),它是否也需要運行GUI等。 – jholster 2012-03-08 10:32:26

+0

我在rooted android上運行它,它也需要GUI。所以,最好限制記憶。 – TonyTakeshi 2012-03-12 09:33:36

回答

14

256 MB是足夠量的RAM來(例如在Linux VPS實例)運行的Node.js,假設沒有其它存儲器-豬軟件運行。節點具有--max-stack-size參數,用於限制內存使用情況。儘管由於其JIT架構,V8使用的內存可能比解釋/字節編譯的實現(如PHP或CPython)(雖然提供了出色的性能)要多一些。此外,爲了利用多個CPU內核,必須運行多個Node.js進程(與內存共享線程相比),有效地擴大了內存使用量,但此限制也適用於其最受歡迎的競爭對手。

在尊重「與其他進程並行運行」,「掛鉤機器的資源」,沒有什麼特別之處運行Node.js的進程(除了屢見不鮮多核問題);它的行爲與任何用戶級程序相似。您可以在操作系統級別低優先級Node.js進程(例如nice),但取決於您的設備/應用程序,I/O可能更成爲一個問題。

單純從技術/ effectiviness角度來看,二郎神是當需要真正多的支持和高併發高層次的語言可能是更理想的選擇。

3

BeagleBone具有256MB RAM(並且在正常結構中,沒有虛擬存儲器),以及它運行的node.js很好地。

9

64MB的內存就足夠了V8和Node.js的

請參閱 「Compiling Node.js for Arduino YÚN」 也 「installing Node.js on Arduino YÚN」。

的Arduino雲中運行的RAM 64MB的Linux操作系統。

+0

「全棧的Node.js只是太多的雲,所有可以做的只是很簡單的腳本」看http://forum.arduino.cc/index.php?topic=193765.15 – nkint 2014-06-16 22:16:41

+4

當然,在這樣的設備上你是非常有限的,但是「只有非常簡單的腳本」是非常相對的。在我的實驗中,TL-MR3020具有YOUN的一半RAM,正在執行以下操作: *服務於HTML5 Web應用程序; *每隔200毫秒在WebSocket上接收JSON消息; *每隔50ms在WebSocket上發送JSON消息; *每隔40ms在UDP上發送和接收JSON消息; *對文本文件進行日誌操作。 所有這些對於2或3個客戶端來說都很好,然後隨着消息的變化慢一些。 – 2014-06-16 22:34:56

+0

@MatteoT。你會有關於如何在該設備上設置Node.js的鏈接/指南;它使用OpenWRT嗎? – 2014-07-30 17:42:46

相關問題