1
Duluku 2019-07-07 13:04:57 +08:00 via iPhone
只要是基础服务商,就存在超售现象。这是很常见的,做法是工单解决(虽然也不一定能够得到解决…)云服务商如何调配资源,就是及时调整策略已满足客户需要才是他们琢磨的问题。
|
2
0ZXYDDu796nVCFxq 2019-07-07 13:05:33 +08:00 via Android
你不会查下每个字段是什么意思吗?
|
3
yukiww233 2019-07-07 13:09:39 +08:00
没看出来结果哪里有问题
|
4
blankme 2019-07-07 13:18:54 +08:00
这个是 0.5G 的配置,应该是给你分配错机型了
|
5
ruimz 2019-07-07 13:26:20 +08:00 via Android 8
想看 2,3 楼怎么解释按 m 输出 total487 是 1G 内存
|
6
mason961125 2019-07-07 13:30:43 +08:00
找客服 ❎
上 V2EX ✅ |
7
0ZXYDDu796nVCFxq 2019-07-07 13:33:00 +08:00 via Android
|
9
houzhimeng 2019-07-07 13:40:19 +08:00 2
@gstqc #7 你为何如此自信
|
10
Windelight 2019-07-07 13:47:28 +08:00 via Android
其实这个还是坑人的,因为腾讯云我也遇见过,他有一个为硬件保留的内存,我特码这不都是已经虚拟化了你去哪给硬件保留去?
|
12
ruimz 2019-07-07 13:56:10 +08:00 via Android 7
@gstqc 你为什么不继续#2 说明为什么查明 free -m 每个字段的含义就可以解决楼主的问题?
#7 又开始 dmesg,就算 dmesg 可以说明楼主的问题,那你为什么不在#2 说明呢? 何况有问题为什么要问你?从#2 和#7 来看,你除了秀优越感以外,能对问题做出什么有效回答吗? |
13
chinesestudio 2019-07-07 14:00:17 +08:00 via Android
top 不会用么
|
14
XiaoxiaoPu 2019-07-07 14:08:18 +08:00
应该分配错了,提工单解决吧。另外云平台超售也只超售 cpu、io,内存不超售。
|
15
0ZXYDDu796nVCFxq 2019-07-07 14:40:01 +08:00
|
16
troywinter 2019-07-07 14:48:03 +08:00
先别忙着下结论,你解决问题的思路就不对,目前你列出的证据没有说明进程被强杀和内存有关系,你先看看 supervisor 的 log 看看是什么原因,也许不是阿里云的问题呢?
|
18
poplar50 2019-07-07 15:12:08 +08:00 via Android
total 487 是肯定有毛病
|
19
leekafai 2019-07-07 15:13:05 +08:00 via Android
free 显示的不是物理内存跟 op 提的问题有啥联系?难道阿里云是给你物理主机?可能这就是大佬吧。
|
20
martinsu 2019-07-07 16:13:19 +08:00
原来,不明白 free 命令是什么原理,就丧失了讨论的资格。瞬间感觉自己好渺小,大佬好强大 [doge]
|
21
sunsmooth 2019-07-07 16:25:46 +08:00 via iPhone
cat /proc/meminfo
或者 top 看看 |
22
Nitroethane 2019-07-07 17:09:20 +08:00 2
在没有作任何调查的情况下不要妄下结论,先去看看 supervisord 的日志去排查下错误。
再者,根据 free 的 manual,free 的输出中 total 字段是 /proc/meminfo 中 MemTotal 和 SwapTotal 两个字段的和,因此 total 的值实际是物理内存和交换空间二者的和。 还有前面的,好好回答问题可以吧,别一上来就戾气那么大 |
23
swulling 2019-07-07 17:27:01 +08:00 via iPhone
内存不会超售的…联系客服
|
24
Duluku 2019-07-07 17:57:39 +08:00 via iPhone 1
内存不超售的话…为什么我阿里云有时候 MySQL 启动不了、报错是内存不足… 然后我改 MySQL 分配的内存、改到 128M 都是偶尔能启动、偶尔失败… 最后就放弃了…当然、free 当时每次都说有 1g 内存,我反正是不信的
|
25
feelinglucky 2019-07-07 18:06:48 +08:00
cat /proc/meminfo | grep MemTotal
看看,建议提个工单 |
26
feelinglucky 2019-07-07 18:07:55 +08:00
PS,补充下,个人有个习惯,就是任何交付的环境跑之前用 unixbench 跑跑性能,看看有没有问题,供参考
|
27
lincanbin 2019-07-07 18:48:42 +08:00 via Android
阿里云 ECS 是 XEN 虚拟化的虚拟机,内存是无法超售的。
估计是分配错了,提工单让客服看下。 |
28
uyhyygyug1234 2019-07-07 18:53:40 +08:00
恭喜楼主喜提 bug
|
29
jadec0der 2019-07-07 22:48:12 +08:00
超售的问题主要出在 cpu 和 io 上吧,内存超售也太…明目张胆了
|
30
mason961125 2019-07-07 22:52:04 +08:00
@lincanbin #25 张口就来 Xen ?
|
31
opengps 2019-07-07 22:53:21 +08:00 via Android
超售不会让你看到小的,楼主超售的概念还没搞明白,t5 是名副其实的超售
|
32
p2p 2019-07-07 22:56:53 +08:00
每个贴里都是人才倍出😑
|
33
ivmm 2019-07-07 23:23:13 +08:00
是实例分配错了,超售不是这个意思。
按契约来,阿里云的共享型、性能突发型的都是标明的性能共享,超售的。 计算型、内存型这样的都是性能独享的。 |
34
c0878 2019-07-07 23:26:50 +08:00
内存不会超售的 你这个应该是系统开错机器了 发个工单附上订单号和实例 id 让客服解决就好
|
35
1234rty 2019-07-07 23:26:56 +08:00
超售要是能让你一眼看出来就不叫超售了
|
36
xiaolanger 2019-07-08 01:31:40 +08:00
虽然不知道阿里云的内存会不会超售,但是,超售的话,你这么看应该是看不出来的
|
37
lincanbin 2019-07-08 02:07:40 +08:00 via Android
@mason961125 早年是 XEN,刚查了下,现在是 KVM 虚拟化,一样是无法超售内存的。
|
38
liuxey 2019-07-08 08:19:53 +08:00
发现有些人可能不懂 Linux,哈哈
|
40
Cloutain 2019-07-08 09:26:21 +08:00
让你见识见识我套路云的厉害
|
41
xman99 2019-07-08 09:36:08 +08:00
嗯 , 找客服聊聊人生吧
|
42
skymei 2019-07-08 09:38:13 +08:00
超售正常的,我之前就干过,没办法用户要新开,母机内存达到上限, 只能调下某些客户的配置,虽然不太好 /(ㄒoㄒ)/~~,但是老大让我这么干的
|
43
dot2017 2019-07-08 09:45:07 +08:00
难道楼上有些人不是用 free -m 查内存的么……
|
44
firemiles 2019-07-08 09:57:24 +08:00
free -m 会隐藏部分系统保留内存,但也不会保留 500M 那么多
|
45
goodryb 2019-07-08 10:11:12 +08:00
根据楼主提供的规格型号来看,确实是 1CPU 1G 内存的,所有规格可以在这里查看 https://help.aliyun.com/document_detail/25378.html
建议楼主先确认下是不是规格型号搞错了,如果没错,提交工单咨询下客服看如何处理,结果最好也 append 一下 另外,不管是 xen 还是 kvm,内存都是不超卖的。 |
46
zqfxch 2019-07-08 11:17:41 +08:00
提工单查一下吧,内存是不超卖的,分配错误的可能性也很小,总之要么搞错了规格要么真的见了匪夷所思的 bug
|
47
suriv520 2019-07-08 11:25:24 +08:00 2
✅ 避免预设立场的提问
✅ 避免反问式回答 ✅ 关注问题本身与解决问题本身 大家都好好说话。 我想说的是,**无论是否超售,都应该是无法简单地通过 free 来判断的。** 市场上的虚拟化架构,hypervisor 声明了多少内存空间,虚拟机里面就会显示多少内存空间。即使宿主机只有 2G,也可以让 hypervisor 声明出一个 64G 内存的虚拟环境出来。操作系统本身没有可靠途径检测“实际可用”的内存大小(非得要检测的话那就是跑实际的 memtest 了)。只不过当虚拟机操作系统开始申请超过实际剩余的空间时,底层会给出报错罢了。反映到操作系统,就是 mem alloc 被拒绝了同时产生 OOM。 把虚拟机的内存分配请求重新映射到物理内存中也是 hypervisor 的作用之一。 我上面没把各个层说得很具体,是因为这里的“层”实在太多了,比如: 系统通电之后,是内存控制芯片对内存相关信息进行检测(存在欺骗的可能); 系统引导最初,是 BIOS 最先检测内存大小,在检测之前,BIOS 是运行于 ROM 的,并没有 RAM 给它用。所谓的检测,也就是“问一下”内存控制器而已(存在欺骗的可能+1 ); 引导之后,BIOS 会做一系列的预留与分配,以便把实模式的真实地址映射为操作系统可用的地址,同时保留一部分供硬件使用的区域(存在欺骗的可能+2 ); 操作系统引导之后,一般操作系统内核也会检测内存大小。检测方式为“问一句 BIOS ”(存在欺骗的可能+3 ); 执行 free 时,我记得 free 应该是从内核直接读取的内存大小,反映在 shell 中,就是 /proc 里的东西(存在欺骗的可能+4 ); (希望有了解底层原理的人帮忙勘误) 看见了吧。云厂商想超售,有无数种方法让你感觉不出来,根本不用明目张胆地用 512M 内存“骗”你。这么骗,简直就是欺负用户智商低下。 我打这段话是对上面回复的同学们的回复。楼主你还是去问问客服吧。 |
48
zqfxch 2019-07-08 19:40:40 +08:00
楼主再仔细检查一下是否升级过吧,客服如果说升级过不会没有根据的
|