在CentOS上配置Node.js應用程序的內存限制,通??梢酝ㄟ^以下幾種方法實現:
你可以在啟動Node.js應用程序時設置環境變量NODE_OPTIONS來限制內存使用。例如,如果你想將內存限制為1GB,可以這樣做:
export NODE_OPTIONS="--max-old-space-size=1024"
node your-app.js
或者,你可以在systemd服務文件中設置這個環境變量。
systemd服務文件假設你的Node.js應用程序的服務文件名為your-app.service,你可以編輯它:
sudo vi /etc/systemd/system/your-app.service
在[Service]部分添加以下行:
[Service]
Environment="NODE_OPTIONS=--max-old-space-size=1024"
ExecStart=/usr/bin/node /path/to/your-app.js
然后重新加載systemd配置并重啟服務:
sudo systemctl daemon-reload
sudo systemctl restart your-app
PM2是一個流行的Node.js進程管理器,它可以輕松地管理多個Node.js應用程序,并且可以設置內存限制。
如果你還沒有安裝PM2,可以使用npm安裝:
sudo npm install pm2 -g
使用PM2啟動你的Node.js應用程序,并設置內存限制:
pm2 start your-app.js --max-memory-restart 1G
這會啟動你的應用程序,并在內存使用超過1GB時自動重啟。
如果你使用Docker來運行Node.js應用程序,可以在Dockerfile中設置內存限制。
在你的項目目錄中創建一個Dockerfile,內容如下:
FROM node:14
# 設置工作目錄
WORKDIR /usr/src/app
# 復制package.json和package-lock.json
COPY package*.json ./
# 安裝依賴
RUN npm install
# 復制應用程序代碼
COPY . .
# 暴露端口
EXPOSE 3000
# 運行應用程序,并設置內存限制
CMD ["node", "your-app.js"]
構建Docker鏡像并運行容器,同時設置內存限制:
docker build -t your-app .
docker run -m 1g your-app
這會啟動你的Node.js應用程序,并將其內存限制在1GB。
通過以上幾種方法,你可以在CentOS上配置Node.js應用程序的內存限制。選擇適合你項目需求的方法進行配置即可。