Centos
yum: 記憶體分配(12 字節)返回 NULL
我正在嘗試在 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
說到記憶,百勝是一個飢餓的太陽。您將需要比這更多的記憶體。這是確保在從第三方租用 VM 時獲得可爆 ram 的原因之一。
我使用 openvz 已經有一段時間了,但我認為您需要增加
privvmpages
記憶體參數(即,如果您的 vz 是 id 100,您可以從主機(而不是 vz)執行以下命令:vzctl set 100 --privvmpages 512m:1024m --save
然後,您可以通過查看主機上的計數器來驗證它是否已生效。
/proc/user_beancounters
更新:
由於您是從第 3 方獲得的,因此您需要查看可爆 ram或更多記憶體。由於這是一個租用的 VZ,它們通常不會給您交換空間——因此 128 是您一次可以分配的記憶體量的硬限制。