空间商超售内存和硬盘空间是很容易的,他只需要简单的建立一个新的VPS即可,而无需顾忌母鸡上是否还有足够多的内存以及硬盘空间足够用来分配。
Xen 不能超售,这个结论是 Xen 技术用以和 OpenVZ 技术对抗的争论武器之一,特别是在一些人将OpenVZ和Xen做比较的时候。
“OpenVZ 超售系统资源,而Xen则不会,他拥有独立的内存,……,……”。
呃,事实上,并不是这样的。
大约两个星期以前(译者注:2010月11月左右),我从一家位于Asheville NC的VPS主机商(这里不提是谁)处得到了一个VPS。
这是一个基于Xen 技术的VPS,包含了采用64 位的Linux 2.6.32 核心的Ubuntu 10.04 操作系统、512MB内存、25G的硬盘空间以及超过我所需要的流量。价格是非常超值的。
我登陆了并检查到底我被分配到了多少内存……。
# free呃,可以看到,我这台新的VPS已经使用了330MB的内存,来,让我们看下到底有哪些进程正在运行。
total used free shared buffers cached
Mem: 543776 535360 8416 0 66516 130504
-/+ buffers/cache: 338340 205436
Swap: 1048568 136 1048432
# ps aux是的,就是他了。这个VPS上没有运行什么特别消耗内存的程序。SSH server,syslogd,cron,就是这些了。那我的330MB内存到底跑到哪里去了?
…
root 204 0.0 0.1 17028 780 ? S Oct27 0:00 upstart-udev-bridge –daemon
102 356 0.0 0.1 23548 1080 ? Ss Oct27 0:00 dbus-daemon –system –fork
root 431 0.0 0.1 21068 788 ? Ss Oct27 0:00 cron
root 3110 0.0 0.5 253832 2992 ? Sl Oct28 0:00 /usr/sbin/console-kit-daemon –no-daemon
root 11037 0.0 0.1 49256 1012 ? Ss Oct28 0:00 /usr/sbin/sshd
root 15427 0.0 0.1 12520 772 ? S Oct28 0:00 /usr/sbin/syslogd –no-forward
root 31231 0.0 0.0 16748 436 ? S<s Nov12 0:00 udevd –daemon
root 5716 0.0 0.6 79100 3772 ? Ss 01:02 0:00 sshd: root@pts/0
root 5731 0.0 0.3 19400 2148 pts/0 Ss 01:02 0:00 -bash
root 5782 0.0 0.1 6072 724 ? Ss 01:08 0:00 /sbin/getty -8 38400 hvc0
root 5783 0.0 0.2 15248 1172 pts/0 R+ 01:08 0:00 ps –sort=start_time uax
在了解得更深入之前,先看下这个事实。你可以在基于Xen 的 VPS 上超售内存。这个事实业内人士其实已经知道很多年了,虽然VPS提供商们不愿意去讨论它。这是一种名名叫“ ballooning ”的技术。
从根本上说,其实是使用一种名为“ balloon driver ”的技术,安装在你的 Linux kernel 上。
当 dom0 (通俗地说,也就是母鸡)需要更多内存的时候,母鸡会要求使用 domU (通俗地说,也就是小鸡)的内存,然后系统会把小鸡的内存拨给母鸡使用。
这种情况表现为:小鸡的总内存不变,但是使用内存增加(拨给了母鸡),可用内存减少。
我猜测,这可以解释为什么我的 VPS 在只有少量进程运行的情况下,就会使用了330MB的内存。
我发现了一个有趣的procfs文件:
# cat /proc/xen/balloon我不知道该怎么样去解释这个文件。
Current allocation: 524288 kB
Requested target: 524288 kB
Minimum target: 173056 kB
Maximum target: 532480 kB
Low-mem balloon: 8192 kB
High-mem balloon: 0 kB
Driver pages: 224 kB
他看起来似乎是这个意思:我的VPS(小鸡)要求被分配512MB的内存,并且现在也已经分配了512MB的内存;但同时又有一个最小内存和最大内存,169MB和520MB内存。
这是不是在说,我的真实内存供应其实169MB?剩余的内存都可以被超售?
这其实是一些我不是很熟的技术,但VPS提供商肯定是熟悉的。但有一点可以肯定的是:基于 Xen 技术的 VPS 确实可以超售。
原文来源于LEB
No comments:
Post a Comment