云的 CPU 标示,比如 1 CPU 的套餐,是指最大限制用 1 个 CPU(即使物理机很空)的意思吗? 还是会在邻居空闲的时候会多用几个 CPU?

2017-05-03 13:23:37 +08:00
 doubleflower
我一个分步式计算密集型程序,是应该买一个 4 CPU 的合算还是买 4 个 1CPU 的合算呢?(如果价格相差不大的话)
3640 次点击
所在节点    云计算
17 条回复
wwqgtxx
2017-05-03 13:37:11 +08:00
是他只会给你 1 个核心用,不管别人空不空闲
stabc
2017-05-03 14:14:54 +08:00
首先 1CPU 最多只能用一个,空闲也不会多给你。
另外单纯做运算 4CPU*1 和 1CPU*4 无区别。
最后提醒你一下,做密集运算一顶要买阿里百度腾讯之类的云主机,他们不会限制你 CPU 的使用率,也就是说你可以持续 100%占用。而 VULTR,DO 这种的 VPS,如果持续占 100%CPU,他们会强制你买更多 VPS 或者限制你使用。
msg7086
2017-05-03 15:04:02 +08:00
另外 1 CPU 本身并不意味着就是一个核心,也可能是半个,四分之一个,甚至十分之一个,等等。
当然你打开任务管理器的时候肯定不会看到上面写半块 CPU,但是实际没那么多速度。
一台服务器比如 16 个核心的,上面跑的 VPS 肯定远远不止 16 个,有良心的跑 50 个,没良心的跑 200 个,妥妥的。
所以邻居空闲的时候你能用到 1 个 CPU,邻居狂野的话你可能只能用小半个。
kslr
2017-05-03 15:15:07 +08:00
@msg7086 #3 很幽默
doubleflower
2017-05-03 15:15:25 +08:00
@stabc 我这个运算是多进程的,可以用到多核。
vultr 应该不会限制 CPU 吧?有这个条款吗?我正打算用这个呢,毕竟最低只要 2.5 美元,我打算买四个跑就相当于 4CPU,比买单个 4CPU 便宜多了。
我目前放在 linode,常年 CPU 在 60%左右并没有问题。
qiuai
2017-05-03 15:16:35 +08:00
@doubleflower 国外基本上都是限制你持续高频使用的.
Zzzzzzzzz
2017-05-03 15:24:51 +08:00
去玩一下 cgroups 就了解了, 基本优先级、配额都能限

对 CPU 有要求的, 钱少上独服, 钱多可以买各种云的独立实例
chinafeng
2017-05-03 15:33:23 +08:00
@doubleflower #5 Vultr 的 $2.5 已经没货了吧...
stabc
2017-05-03 15:38:12 +08:00
@doubleflower
多进程的就直接用一个 instance 吧还省事。
Vultr,DO,Linode 都是严格限制 CPU 使用的,如果你持续高 CPU 占用,他们会认定你是"noisy neighbor",会限制你。还有个风险是你遇到别的 noisy neighbor 时,你自己的也跑不满。我以前联系过 Linode 客服,他们对 CPU 持续 75%的回应是“勉强可以”这种模棱两可的说法。这三家都没有明确条款声明对 CPU 的限制,你追问客服他们才会承认。Vultr 是三家里对 CPU 限制最严格的,而且目前$2.5 早就卖完了。
只有 GOOGLE,AWS 这种 CPU 才有保障。

如果你对计算时效性没要求,推荐你用 Google cloud preemptible VM,非常便宜。见过一个人买了 25000 个 VM 做视频处理。aws 的 spot instance 也可以,但是比 google 贵一些。
jasontse
2017-05-03 16:15:18 +08:00
@stabc 我曾经在 Linode 上因为 kernel panic 导致 VPS 陷入 NOP 循环,CPU 100% 接近一整天并没有发生什么问题。
stabc
2017-05-03 16:38:15 +08:00
@jasontse Linode 这种服务商就类似于几个很好的朋友合租一台机器,大家都彼此“关照”一下,都别用太高资源影响到别人。 我相信他们不会去监控某个人的 CPU 使用情况,而是监控整个运行平台,当整个大平台出问题了就会去找谁在用的多。偶尔几台高使用率的 VPS 存在,他们是可以容忍的,没必要浪费人力去协调。
Zzzzzzzzz
2017-05-03 16:49:49 +08:00
@jasontse
@stabc

linode 有限的, 第一次增配改版时还在页面上写明了各档的优先级, 不过后来又拿掉了,基本上每档的优先级是前一档 x2, 也就是说 guest 看着是 100%, 其实 host 那边可能根本没分配多少计算资源
xAx
2017-05-03 16:54:53 +08:00
给的是 1vcpu,怎么可能给你一个物理(逻辑)核。
普通型的实际能有半颗逻辑核你就谢天谢地吧。

计算密集型的应用你需要开计算型的实例,比如 azure 的计算优化实例。

如果程序是短时间运行且运行时间可控,那 aws 的竞价型实例应该是最便宜的。
jccg90
2017-05-03 21:26:10 +08:00
只要不写明独享 cpu 的,都是会限制密集型计算的,基本是潜规则了。。。印象中 vultr 这种短时间会给单核 100%的资源,长时间跑满会降频。。。之前测试过用他的机器做视频转码,没法用
msg7086
2017-05-03 23:22:39 +08:00
@stabc Linode 允许长期满载,由服务器端动态调整资源分配。

@doubleflower 4 个 1CPU 的和 1 个 4CPU 的差不多,实际都远远小于 4 个物理核心的能力。
要是经常做大量运算的话,还不如去苏菲弄一台 i3 独服回来跑……
stabc
2017-05-03 23:53:46 +08:00
@msg7086 你这句话前后就矛盾。
esile
2017-05-04 07:39:52 +08:00
linode 的 CPU 最耐艹,没有用过的别瞎猜测。跑跑你就知道哪家 CPU 参数假了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/358775

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX