yum: alocação de memória (12 bytes) retornou NULL

1

Estou tentando configurar meu primeiro VPS no CentOS 5.6 (128 MB RAM) e estava seguindo alguns tutoriais encontrados on-line, mas encontrei um problema que não posso consertar. O VPS é comprado de um hoster, então eu não posso me dar mais memória:)

A execução de yum -y update me dá

[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.

Descobri que pode estar ligado a memória insuficiente, mas não parece ser esse o caso:

[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

Depois de tentar a sugestão de 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
    
por Fluffy 04.08.2011 / 16:25

3 respostas

1

Yum é um faminto sol-de-arma quando se trata de memória. Você vai precisar de mais memória do que isso. Esta é uma das razões para se certificar de que você tem memória RAM quando aluga uma VM de terceiros.

Já faz um tempo que eu usei o openvz, mas acho que você precisa aumentar o parâmetro privvmpages memory (ou seja, se seu vz é id 100 você executa o seguinte da máquina host não a vz):

vzctl set 100 --privvmpages 512m:1024m --save

Em seguida, você pode verificar se ele entrou em vigor observando os contadores , /proc/user_beancounters na máquina host .

Atualização:
Desde que você está recebendo isso de um terceiro você precisa olhar para ram burstable ou mais memória. Uma vez que este é um VZ alugado, geralmente o não lhe dará espaço de troca - portanto, 128 é um limite rígido para a quantidade de memória que você pode alocar de cada vez.

    
por 04.08.2011 / 16:37
3

128MB não é muito para um centOS (e Yum), mas é possível. Primeiro de tudo, você tentou reinicializá-lo? Isso limpará muita RAM. Se isso não funcionar, por que você não tenta criar um arquivo de troca?

É fácil, são necessários apenas 3 comandos:

dd if=/dev/zero of=/swapfile bs=1024 count=65536
mkswap /swapfile
swapon /swapfile

O tamanho do swapfile é 67108864b (1024 * 65536). Sinta-se à vontade para aumentar esse tamanho, já que 64 MB não vai te levar muito longe.

Se você quiser montá-lo na reinicialização, adicione isso a /etc/fstab

/swapfile          swap            swap    defaults        0 0
    
por 04.08.2011 / 16:40
1

você poderia tentar

# ulimit -m unlimited 
# ulimit -v unlimited

e volte a executar o yum de novo?

    
por 04.08.2011 / 16:30

Tags