黑五快到了,研究下VirMach的CPU限制到底有多严格再决定是否还参加今年VirMach家的黑五活动,
TOS内容: 禁以95%~100%的CPU使用率连续占用CPU超过5分钟, 且任意2小时内的CPU平均使用率不得超过50%.
昨晚发工单让客服给挂的CentOS 8镜像, 今天装好后开启cgroups v2限制CPU后随便跑了跑, 暂时还没有收到警告,
马上下班了, 改了改cgroups规则又跑上了, 明天上班看看是否已经给我停机了,
4核心水牛城KVM, 目前限制策略是最高185%, 也就是最高使用1.85个核心,
[[email protected] ~]# systemctl set-property user.slice CPUQuota=185%
[[email protected] ~]# cat /sys/fs/cgroup/user.slice/cpu.max
185000 100000
通过压力脚本把4个核心尽可能跑到允许的最高值:
[[email protected] ~]# for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done
[1] 789
[2] 790
[3] 791
[4] 792
运行后4个dd进程每个的CPU使用率基本再47%左右徘徊, 总的CPU使用率185%~190%, 因为基本没有
I/O操作, 系统load average在1.5~1.8之间徘徊,
下班了,回家,
PS: 现在是早上9:23, CPU将近13个小时的185%左右使用率, 并未收到警告或直接停机,看来只要不违反TOS中CPU条款应该没什么问题,
毕竟virmach维护几万台小鸡不可能都是人工检测的, 程序监控只要你在TOS约定的范围内去使用是没人管你的, ,
PS: 应楼下要求更新下策略,屏蔽2核心, 剩下2核心每个90%使用率,总共180%左右,
[[email protected] ~]# cat /etc/default/grub
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR="$(sed ‘s, release .*$,,g’ /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="nr_cpus=2 selinux=0 ipv6.disable=1 systemd.unified_cgroup_hierarchy=1"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
[[email protected] ~]# cat /proc/cpuinfo |grep "physical id" |wc -l
2
[[email protected] ~]# systemctl set-property user.slice CPUQuota=180%
[[email protected] ~]# cat /sys/fs/cgroup/user.slice/cpu.max
180000 100000
[[email protected] ~]# for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done
[1] 724
[2] 725
各位MJJ, 下班见结果,,,
PS: 现在是下午18:06分,使用新的策略跑了8个小时,CPU保持在180%上下浮动,并没有警告邮件或停机通知,
结论:
只要在TOS允许的圈里面,随便你怎么操小鸡,没人会管你的。
福建网友:上cgroups v2主要是为了限制磁盘IOPS, virmach家最要命的TOS是任意两小时IOPS不能超80, 今天我试了试:
systemctl set-property user.slice IOReadIOPSMax=’/dev/vda 40′ IOWriteIOPSMax=’/dev/vda 40′
, 瞬间变石头盘了,superbench测试硬盘70MB/s左右,幸好我这是8G内存,内核可以用很大内存做Buffered IO, 实际用的话肯定需要memcached,redis这些东西走起,mysql的innodb buffer pool尽可能开大才行,也不知道别人那些1,2G内存的virmach鸡都怎么用的,难道都是吃灰或者挂的佛系博客发卡啥的,,,
新疆网友:你到时给大伙回个话,是死是活。
云南网友:大水牛的来看看
香港网友:给楼主推荐个东西:stress-ng,GitHub有下。这个软件可以产生各种CPU内存IO压力,自带多线程跑
宁夏网友:ovz 不适用
上海网友:谢谢了,我用的这个一行代码也可以把全部核心跑满,回头研究下你推荐的那个,
吉林网友:对。用cgroupv2要改内核参数,ovz确实不行
澳门网友:OVZ共享的内核,连内存都是共享的,打死也不会上OVZ的车的,
河南网友: 如果只是单个程序用cpulimit就好了cgroup 还是比较麻烦,前者通过软中断来实现,所以自身也有少量消耗。
澳门网友:我想说什么呢。。。。不明觉厉
等明天楼主发结果
——————————
阿里云双11特价
1核2G 86一年 香港1核1G1M119元 2H4G 799三年
http://t.cn/Ai3k6lUn
天津网友:我想说什么呢。。。。不明觉厉
等明天楼主发结果
——————————
阿里云双11特价
1核2G 86一年 香港1核1G1M119元 2H4G 799三年
http://t.cn/Ai3k6lUn
台湾网友:PS: 现在是早上9:23, CPU将近13个小时的185%左右使用率, 并未收到警告或直接停机,看来只要不违反TOS中CPU条款应该没什么问题, 毕竟virmach维护几万台小鸡不可能都是人工检测的, 程序监控只要你在TOS约定的范围内去使用是没人管你的, ,
台湾网友:坐等大佬测试会不会被停机。
江苏网友:大佬,有什么ovz适用的方案吗?做站怕一被打就gg了
宁夏网友:没有,我现在手里也没有OVZ的小鸡,也不会考虑上OVZ的车,可玩性太差了,
北京网友:测试个两核心90%跑满 另外两个空会不会警告
青海网友:更新策略后又跑上了,下班见结果,
澳门网友:Windows有啥限制CPU的软件么
吉林网友:这个还真不知道,工作中生产环境还真没见过Windows服务器的,
四川网友:目前方案是任务管理器限制CPU个数,但是四核最多只能开一个,没法限制CPU频率
安徽网友:目前方案是任务管理器限制CPU个数,但是四核最多只能开一个,没法限制CPU频率