在 CentOS 系統中,配置 Node.js 應用程序的內存限制可以通過設置 Node.js 的啟動參數來實現。以下是一些方法來配置內存限制:
你可以在啟動 Node.js 應用程序時,通過設置 NODE_OPTIONS
環境變量來限制內存使用。例如,如果你想將內存限制設置為 512MB,可以這樣做:
export NODE_OPTIONS="--max-old-space-size=512"
node app.js
或者,你可以在 systemd
服務文件中設置這個環境變量。
systemd
服務文件如果你使用 systemd
來管理你的 Node.js 應用程序,可以在服務文件中添加 Environment
指令來設置內存限制。
打開你的服務文件,通常位于 /etc/systemd/system/your-app.service
。
在 [Service]
部分添加以下行:
[Service]
Environment="NODE_OPTIONS=--max-old-space-size=512"
ExecStart=/usr/bin/node /path/to/your/app.js
systemd
配置并重啟服務:sudo systemctl daemon-reload
sudo systemctl restart your-app
pm2
進程管理器如果你使用 pm2
來管理你的 Node.js 應用程序,可以通過配置文件或命令行參數來設置內存限制。
ecosystem.config.js
文件:module.exports = {
apps: [{
name: 'your-app',
script: 'app.js',
env: {
NODE_OPTIONS: '--max-old-space-size=512'
}
}]
};
pm2
啟動應用程序:pm2 start ecosystem.config.js
你可以直接在啟動命令中設置內存限制:
pm2 start app.js --max-memory-restart 512M
cgroups
進行更細粒度的控制如果你需要更細粒度的控制,可以使用 cgroups
(控制組)來限制 Node.js 進程的內存使用。
cgroup-tools
:sudo yum install cgroup-tools
sudo cgcreate -g memory:/your-app
echo 536870912 | sudo tee /sys/fs/cgroup/memory/your-app/memory.limit_in_bytes
sudo cgclassify -g memory:/your-app <pid>
其中 <pid>
是你的 Node.js 進程的進程 ID。
通過這些方法,你可以在 CentOS 系統中配置 Node.js 應用程序的內存限制。選擇適合你需求的方法進行配置即可。