Falta de memória ou falta de espaço em disco?

3

Estou executando um processo de carregamento de banco de dados (osm2pgsql) que está falhando:

Processing: Node(17404k 148.8k/s) Way(1351k 6.38k/s) Relation(9520 29.94/s)way_done failed: ERROR:  could not extend file "base/140667/152463": No space left on device
HINT:  Check free disk space.
(7)
Arguments were: 187226311, 

No início da importação, mem relatórios:

             total       used       free     shared    buffers     cached
Mem:           31G        29G       2.4G         0B       178M        24G
-/+ buffers/cache:       4.5G        26G
Swap:           0B         0B         0B

Pouco antes do fim:

             total       used       free     shared    buffers     cached
Mem:           31G        31G       227M         0B       178M        26G
-/+ buffers/cache:       4.8G        26G
Swap:           0B         0B         0B

Enquanto isso, df no início:

Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/vda1       10309828   7879412   1997036  80% /
udev            16470572        12  16470560   1% /dev
tmpfs            6590080       260   6589820   1% /run
none                5120         0      5120   0% /run/lock
none            16475196         0  16475196   0% /run/shm
none              102400         0    102400   0% /run/user
/dev/vdb       247709760 105978300 129148548  46% /mnt

E de cerca de 3/4 do caminho ao longo do processo. Use senta a 100%.

Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/vda1       10309828   9854348     22100 100% /
udev            16470572        12  16470560   1% /dev
tmpfs            6590080       260   6589820   1% /run
none                5120         0      5120   0% /run/lock
none            16475196         0  16475196   0% /run/shm
none              102400         0    102400   0% /run/user
/dev/vdb       247709760 105978300 129148548  46% /mnt

Não consigo identificar nenhum arquivo no disco que esteja preenchendo / dev / vda1:

du -h -d 3 / 2>/dev/null | grep -v ^0 > /tmp/o2p1.txt
[start import]
du -h -d 3 / 2>/dev/null | grep -v ^0 > /tmp/o2p2.txt

diff /tmp/o2p1.txt /tmp/o2p2.txt

Isso não revela nada.

O que está acontecendo?

    
por Steve Bennett 14.09.2013 / 13:36

1 resposta

2

Ok, foi simples. O banco de dados Postgres estava em / dev / vda1 e estava ficando enorme. Ele não apareceu no comando du porque eu não estava executando isso como root.

Acho que, depois que o disco ficar cheio, o Postgres pára de salvar no disco e mantém tudo na memória - até a memória acabar também.

    
por 14.09.2013 / 13:36