我正在尝试在 CentOS 5.6(128 MB RAM)上设置我的第一个 VPS,并按照网上找到的一些教程进行操作,但遇到了一个无法解决的问题。VPS 是从托管商那里购买的,所以我无法给自己增加内存 :)
跑步yum -y update
让我
[root@vps ~]# yum -y update
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package glibc.i686 0:2.5-58.el5_6.4 set to be updated
---> Package glibc-common.i386 0:2.5-58.el5_6.4 set to be updated
---> Package nscd.i386 0:2.5-58.el5_6.4 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================================================================
Updating:
glibc i686 2.5-58.el5_6.4 updates 5.3 M
glibc-common i386 2.5-58.el5_6.4 updates 16 M
nscd i386 2.5-58.el5_6.4 updates 167 k
Transaction Summary
=======================================================================================================================================================================================
Install 0 Package(s)
Upgrade 3 Package(s)
Total size: 22 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
memory alloc (12 bytes) returned NULL.
我发现这可能与内存不足有关,但事实似乎并非如此:
[root@vps ~]# cat /proc/meminfo
MemTotal: 131072 kB
MemFree: 110356 kB
[root@vps ~]# free -m
total used free shared buffers cached
Mem: 128 20 107 0 0 0
-/+ buffers/cache: 20 107
Swap: 0 0 0
尝试了 TiZon 的建议后:
[root@vps ~]# dd if=/dev/zero of=/swapfile bs=1024 count=65536
65536+0 records in
65536+0 records out
67108864 bytes (67 MB) copied, 0.222831 seconds, 301 MB/s
[root@vps ~]# mkswap /swapfile
Setting up swapspace version 1, size = 67104 kB
[root@vps ~]# swapon /swapfile
swapon: /swapfile: Operation not permitted
答案1
说到内存,Yum 简直就是饥不择食。你需要的内存肯定比这个多。这也是在从第三方租用虚拟机时,确保获得可突发内存的原因之一。
我已经有一段时间没有使用 openvz 了,但我认为你需要增加privvmpages
内存参数(例如,如果你的 vz 是 id 100,你可以从这主机(不是 vz):
vzctl set 100 --privvmpages 512m:1024m --save
然后您可以通过查看计数器,/proc/user_beancounters
在主机上。
更新:
由于您是从第三方获得此信息的,因此您需要调查可爆破内存或更多内存。由于这是租用的 VZ,因此他们通常不会给你交换空间——因此 128 是您一次可以分配的内存量的硬性限制。
答案2
对于 centOS(和 Yum)来说,128MB 不算多,但还是可以的。首先,你试过重启它吗?这会清除大量 RAM。如果这不管用,为什么不尝试创建交换文件呢?
这很简单,只需 3 个命令:
dd if=/dev/zero of=/swapfile bs=1024 count=65536
mkswap /swapfile
swapon /swapfile
交换文件的大小为 67108864b (1024*65536)。您可以随意将其增大,因为 64MB 并不够。
如果要在重启时安装它,请将其添加到/etc/fstab
/swapfile swap swap defaults 0 0
答案3
你能试试吗
# ulimit -m unlimited
# ulimit -v unlimited
然后再次重新运行 yum?