所以,到底如何限制整台VPS的CPU使用率

查看 106|回复 5
作者:华盛顿   
   
谷歌过,问过GPT,限制某个进程很容易,但限制整台VPS很麻烦,
主要是怕半夜未知的原因CPU一直拉满100%,这样不仅可能导致死机,还有可能被主机商停机,
我现在是装了PVE,PVE里的小鸡很容易限制,开机之前设置个0.3倍的CPU即可,
但是宿主机还是有可能跑满100%,
大佬们有啥成熟的方法没,

很容易, 整台, 有可能

SpaceX   
在centos环境中写一个监控脚本,要求每秒监控本机CPU使用率,当超出预设的限值时,执行关机命令
以上需求让gpt写个脚本运行就好了,小事一桩
华盛顿
OP
  

SpaceX 发表于 2023-12-12 09:49
在centos环境中写一个监控脚本,要求每秒监控本机CPU使用率,当超出预设的限值时,执行关机命令


给它限制就是为了防止死机和被主机商关机,影响跑程序的,
,限制个最高百分之80,不至于中断就行
youhei   
半夜 100% 可能是备份 压缩什么之类的吧
a8866051   
使用 cpulimit 工具可能会影响突发性能,并且如果两个进程各自限制为跑满 50%,则总共可能会占满 100% 的 CPU 利用率。  如果您希望限制整个系统的 CPU 利用率,同时又不影响突发性能,可以尝试使用 cgroups。  在 cgroups 中,您可以设置 CPU 的配额(quota)和周期(period)来限制 CPU 利用率。配额表示允许使用的 CPU 时间量,周期表示时间窗口的长度。  例如,如果您希望将整个系统的 CPU 利用率限制为 50%,可以执行以下步骤:  创建一个 cgroup 组:  sudo cgcreate -g cpu:/your_cgroup_name 复制代码 设置 CPU 配额和周期:  sudo cgset -r cpu.cfs_quota_us=50000 -r cpu.cfs_period_us=100000 your_cgroup_name 复制代码 上述命令将配额设置为 50000 微秒,周期设置为 100000 微秒,这意味着您的系统将被限制为 50% 的 CPU 利用率。  请注意,这种方法依赖于系统的 cgroups 支持,因此请确保您的系统已安装 libcgroup 包,并且已正确配置 cgroups。  使用 cgroups 可以更精确地控制 CPU 利用率,同时保持一定的突发性能。但请注意,这种方法仍然会限制 CPU 的总利用率,因此如果您希望在某些情况下能够突破限制,可能需要调整配额和周期的值。
SpaceX   

华盛顿 发表于 2023-12-12 09:51

给它限制就是为了防止死机和被主机商关机,影响跑程序的,
,限制个最高百分之80,不至于中断就行 ...

可以通过修订内核参数调整系统整体CPU使用水平,修改/etc/sysctl.conf文件试过了吗
您需要登录后才可以回帖 登录 | 立即注册

返回顶部