商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Debian系统如何限制Node.js资源使用

Debian系统如何限制Node.js资源使用

  发布于2026-07-29 阅读(0)

扫一扫,手机访问

在Debian系统上,想给Node.js应用来个“资源紧箍咒”?cgroups(控制组)就是那个趁手的工具。它是Linux内核自带的功能,能限制、监控和分配进程组的CPU、内存、磁盘I/O等资源,而且配置起来并不复杂。下面直接上步骤,跟着操作就行。

  1. 安装cgroup工具

Debian系统默认没有cgroups的管理工具,需要先装个cgroup-tools包。打开终端,跑两行命令:

sudo apt-get update
sudo apt-get install cgroup-tools
  1. 创建一个新的cgroup

创建一个叫nodejs的cgroup,后续就把Node.js应用扔进去,统一管理。命令如下:

sudo cgcreate -g memory,cpu:/nodejs

这条命令会创建一个同时包含内存和CPU控制器的cgroup,名字就叫nodejs

  1. 限制内存使用

假设你想把Node.js应用的内存上限设为512MB,那就在刚才创建的cgroup里写个限制值。注意,这里需要以字节为单位,所以512MB = 536870912字节:

echo "536870912" | sudo tee /sys/fs/cgroup/memory/nodejs/memory.limit_in_bytes
  1. 限制CPU使用

CPU限制需要设置两个参数:cpu.cfs_quota_us(配额)和cpu.cfs_period_us(周期)。比如想让应用最多用50%的CPU,可以这样配:

echo "50000" | sudo tee /sys/fs/cgroup/cpu/nodejs/cpu.cfs_quota_us
echo "100000" | sudo tee /sys/fs/cgroup/cpu/nodejs/cpu.cfs_period_us

这里cpu.cfs_quota_us是50000微秒,cpu.cfs_period_us是100000微秒,比例正好50%。

  1. 将Node.js应用添加到cgroup

先找到Node.js应用的进程ID(PID)。可以用pspgrep,比如:

pgrep -f nodejs_app.js

假设PID是12345,用cgclassify把它加到nodejs组里:

sudo cgclassify -g memory,cpu:nodejs 12345

搞定。现在你的Node.js应用就乖乖受内存和CPU限制了。

  1. 监控资源使用情况

想看看当前资源占用?用cgget命令查询:

sudo cgget -g memory,cpu:nodejs

命令会输出nodejs组里实时的内存和CPU使用情况。

以上步骤基于cgroups v1。如果你的系统用的是cgroups v2(比如较新的Debian版本),命令和路径可能略有不同,需要留心一下。

本文转载于:https://www.yisu.com/ask/88810908.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注