码迷,mamicode.com
首页 > Web开发 > 详细

nodejs嵌入式应用

时间:2018-04-04 12:47:29      阅读:705      评论:0      收藏:0      [点我收藏+]

标签:UI   ppi   response   linux   lin   就是   2.0   stat   user   

1)从nodejs v4版本开始已经发布了适用于嵌入式的运行环境,我的板子是cortex a5, armv7体系结构的,用最新版node-v9.9.0-linux-armv7l.tar.gz

node-v9.9.0-linux-arm64.tar.gz                     21-Mar-2018 20:05            17909317
node-v9.9.0-linux-arm64.tar.xz                     21-Mar-2018 20:07            10789576
node-v9.9.0-linux-armv6l.tar.gz                    21-Mar-2018 15:19            17149093
node-v9.9.0-linux-armv6l.tar.xz                    21-Mar-2018 15:37            10302588
node-v9.9.0-linux-armv7l.tar.gz                    21-Mar-2018 11:40            17190798
node-v9.9.0-linux-armv7l.tar.xz   

官网https://nodejs.org/download/release

文档手册https://nodejs.org/api/

中文社区https://cnodejs.org/

 

2) 安装
cp node-v4.9.1-linux-armv7l.tar.gz /usr/local/
cd /usr/local/
tar xvf node-v4.9.1-linux-armv7l.tar.gz

3)也可以自己编译源码
./configure --prefix=/home/dong/nodejs --dest-cpu=arm --without-snapshot --without-ssl
make
make install

4)添加环境变量
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/node-v4.9.1-linux-armv7l/bin"
export LD_LIBRARY_PATH=/usr/local/node-v4.9.1-linux-armv7l/lib:$LD_LIBRARY_PATH

5)测试实例 http_server_test.js
var http = require("http");
http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("Hello World");
    response.end();
}).listen(8888);
console.log("nodejs start listen 8888 port!");

6)top 资源监控
PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND

v4.9.1
581 root      20   0   82616  18660  11968 S  0.0  7.4   0:03.52 node

v4.2.6
420 root      20   0   82760  18636  12476 S  0.0  7.4   0:02.09 node

v4.4.5
463 root      20   0   82880  18992  12792 S  0.0  7.6   0:02.08 node

v6.14.1
518 root      20   0   69668  20888  15188 S  0.0  8.3   0:02.55 node

v9.9.1
518 root      20   0   71240  25456  18840 S  0.0  10.2   0:02.55 node

 

PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
966   783 root     S    81288 32.0   0  0.0 node http_server.test.js

ulimit -s 512
980   783 root     S    50568 19.9   0  0.0 node http_server.test.js

 但是使用ulimit的一个后果就是它会影响到同一环境(同一shell或者终端)下后续启动的所有程序,如果修改成启动时设置的话就会影响到整个系统,这显然不是想要的。有两个方法可以能消除这个影响:

1)为需要修改栈大小的程序单独编写一个shell脚本,在程序启动前调用ulimit -s。因为子shell的环境不会影响到父shell,所以设置不会改变外部环境。
2)在程序运行前执行ulimit -s修改需要的栈大小,在程序运行后再次执行ulimit -s修改回原来的栈大小。

 

还是用v4.9.1划算,长期支持版,占资源少,也不影响功能实现。

 

nodejs嵌入式应用

标签:UI   ppi   response   linux   lin   就是   2.0   stat   user   

原文地址:https://www.cnblogs.com/dong1/p/8715454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!