在CentOS上配置Node.js应用程序的内存限制可以通过以下几种方法实现:
你可以在启动Node.js应用程序时设置环境变量来限制内存使用。例如,使用NODE_OPTIONS环境变量:
export NODE_OPTIONS="--max-old-space-size=4096" node your-app.js 这里的4096表示4GB内存。你可以根据需要调整这个值。
PM2是一个流行的Node.js进程管理器,可以用来管理和监控Node.js应用程序。你可以使用PM2来设置内存限制。
sudo npm install pm2 -g pm2 start your-app.js --max-memory-restart 4G 这里的4G表示4GB内存。当应用程序使用超过4GB内存时,PM2会自动重启应用程序。
如果你在Docker容器中运行Node.js应用程序,可以在Dockerfile或docker-compose.yml文件中设置内存限制。
Dockerfile示例:
FROM node:14 # 设置工作目录 WORKDIR /usr/src/app # 复制package.json和package-lock.json COPY package*.json ./ # 安装依赖 RUN npm install # 复制应用程序代码 COPY . . # 设置内存限制 CMD ["node", "your-app.js"] 然后在运行Docker容器时设置内存限制:
docker build -t your-app . docker run -m 4g your-app 这里的4g是容器的内存限制。
如果你使用systemd来管理你的Node.js应用程序,可以在systemd服务文件中设置内存限制。
/etc/systemd/system/your-app.service:[Unit] Description=Your Node.js Application After=network.target [Service] ExecStart=/usr/bin/node /usr/src/app/your-app.js WorkingDirectory=/usr/src/app User=your-user Group=your-group LimitNOFILE=65536 MemoryMax=4G [Install] WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl start your-app sudo systemctl enable your-app 通过以上方法,你可以在CentOS上配置Node.js的内存限制,确保应用程序不会因为内存不足而崩溃。