我试图在CentOS 5.6(128 MB RAM)上build立我的第一个VPS,并且在网上find了一些教程,但是我碰到了一个我无法修复的问题。 VPS是从托pipe商处购买的,所以我不能给自己更多的内存:)
运行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的build议之后:
[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
当涉及到记忆的时候,百胜餐饮是一个饥饿的太阳。 你将需要比这更多的记忆。 这是从第三方租用虚拟机时确保获得可破解内存的原因之一。
我用openvz已经有一段时间了,但是我认为你需要增加privvmpages
内存参数(例如,如果你的vz是id 100,你从主机(而不是vz)运行以下命令:
vzctl set 100 --privvmpages 512m:1024m --save
然后可以通过查看主机上的计数器 /proc/user_beancounters
来validation它是否已经生效。
更新:
既然你是从第三方得到这个,你需要考虑突破的内存或更多的内存。 由于这是一个租用的VZ,所以它们通常不会给你交换空间 – 所以128是一次可以分配内存量的硬性限制。
对于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
你可以试试吗?
# ulimit -m unlimited # ulimit -v unlimited
又重新运行yum?