nginx嵌入到设备中, 裁减掉无用功能, 能否再降内存?

lightsong 发布于 2014/10/22 12:30
阅读 991
收藏 0
Hello
想把nginx放到嵌入式设备中做Web Server使用, 把官网提供裁减选项都关闭了,
测试 flash大小有 117KB, 内存大小为 1024KB(启动)和1284KB(运行静态网页), 包括work和master进程
我们希望把内存再降700KB以内, 请问大家有没有这方面的经验? 谢谢!
加载中
0
无名码农
无名码农

worker_connections  32;

这个设小一点可以减少内存占用

0
无名码农
无名码农
worker_connections 的值现在多大?
0
无名码农
无名码农
可以找个0.1.x的版本看下,内存占用应该会少一些
0
无名码农
无名码农

以单进程模式启动

master_process  off;

0
无名码农
无名码农

http://nginx.org/download/nginx-0.1.0.tar.gz

http://nginx.org/download/nginx-0.1.45.tar.gz

0
lightsong
lightsong
nginx访问页面的时候:360+924=1284K   (RSS值)
1205  root      1436     360  S    <1>  nginx: master process ./nginx

1206  nobody    1652     924  S    <1>  nginx: worker process

woker rss大小为 924KB

原来可以用单线程方式运行啊, 多谢大侠指点! 我下午试试。

另外,我现在准备使用最新的稳定版本1.6.2,  因为最新版本可以使用一些新功能,还有一些bug修复, 应该比 0.1.0完善。



0
无名码农
无名码农
是单进程,只有一个nginx进程,没有那个master process
0
lightsong
lightsong
好的, 非常感谢,无名码农~~
0
无名码农
无名码农

nginx-0.1.45

单进程模式

刚测试过内存占用可以满足你的需求

0
lightsong
lightsong

在1.6.0版本测试了下, 设置 worker_connections  32, master_process  off; 确实有效,

nginx内存会减少一半 原始 964 -》 480

但是关闭 master_process , 在官网上说只能用于调试环境, 不能用于生产环境。 无名码农同学你怎么看?还是有产品使用经验,没有问题的?

http://nginx.org/en/docs/faq/daemon_master_process_off.html

测试数据-----------------

1.6.0 strip后
原始:
-- MEM = 384+580 = 964
505       1056  0.0  0.0   2088   384 ?        Ss   13:47   0:00 nginx: master process ./nginx.strip
505       1057  0.0  0.0   2260   580 ?        S    13:47   0:00 nginx: worker process

设置 worker_connections  32,  
-- MEM = 380+360 = 740
505      11821  0.0  0.0   2088   380 ?        Ss   14:12   0:00 nginx: master process ./nginx.strip
505      11822  0.0  0.0   2088   360 ?        S    14:12   0:00 nginx: worker process

在worker_connections  32基础上, 设置 master_process  off;
-- MEM = 380+360 = 480
505       9499  0.0  0.0   2084   408 ?        Ss   14:25   0:00 ./nginx.strip
返回顶部
顶部