首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >yum:内存分配(12字节)返回NULL

问yum:内存分配(12字节)返回NULL
EN

Server Fault用户
提问于 2011-08-04 14:25:22
回答 3查看 2.9K关注 0票数 1

我正试图在CentOS 5.6 (128个MB内存)上设置我的第一个VPS,并遵循一些在线教程,但我遇到了一个我无法修复的问题。VPS是从主机上买来的,所以我不能给自己更多的记忆:)

运行yum -y update给我

代码语言:javascript
复制
[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.

我发现它可能与内存不足有关,但情况似乎并非如此:

代码语言:javascript
复制
[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的建议之后:

代码语言:javascript
复制
[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
EN

回答 3

Server Fault用户

回答已采纳

发布于 2011-08-04 14:37:43

说到记忆,百胜是个饥肠辘辘的家伙。你需要更多的记忆。这是确保您在从第三方租用VM时获得稳定内存的原因之一。

从我使用openvz到现在已经有一段时间了,但我认为您需要增加privvmpages内存参数(也就是说,如果您的vz是id 100,则从主机(而不是vz)运行以下命令:

代码语言:javascript
复制
vzctl set 100 --privvmpages 512m:1024m --save

然后,您可以通过查看主机上的计数器,/proc/user_beancounters来验证它是否生效。

更新:

因为你是从一个第三方得到这一点,你需要查看可穿透的内存或更多的记忆。因为这是一个租来的VZ,他们通常不会给你交换空间--所以128是一个很难的限制,你一次可以分配的内存量。

票数 2
EN

Server Fault用户

发布于 2011-08-04 14:40:46

128 is对于centOS (和Yum)来说不是很多,但可能。首先,你试过重新启动它吗?这将清除大量内存。如果不起作用,你为什么不试着做一个交换文件呢?

这很简单,只需3条命令:

代码语言:javascript
复制
dd if=/dev/zero of=/swapfile bs=1024 count=65536
mkswap /swapfile
swapon /swapfile

交换文件的大小为67108864b (1024*65536)。请放心,让它更大,因为64 to不会让你走得太远。

如果要在重新启动时挂载它,请将其添加到/etc/fstab中。

代码语言:javascript
复制
/swapfile          swap            swap    defaults        0 0
票数 4
EN

Server Fault用户

发布于 2011-08-04 14:30:07

你能试试吗

代码语言:javascript
复制
# ulimit -m unlimited 
# ulimit -v unlimited

再来一次百胜?

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/297616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档