我正在运行一个数据库加载进程(osm2pgsql),它失败了:
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, 在导入开始时,mem报告:
total used free shared buffers cached
Mem: 31G 29G 2.4G 0B 178M 24G
-/+ buffers/cache: 4.5G 26G
Swap: 0B 0B 0B在结束前不久:
total used free shared buffers cached
Mem: 31G 31G 227M 0B 178M 26G
-/+ buffers/cache: 4.8G 26G
Swap: 0B 0B 0B同时,df在开始时:
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从大约3/4的过程中。使用占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我无法识别磁盘上任何正在填充/dev/vda1 1的实际文件:
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什么都没透露出来。
到底怎么回事?
发布于 2013-09-14 11:36:58
好吧,很简单。Postgres数据库位于/dev/vda1 1上,并且变得越来越庞大。它没有出现在du命令中,因为我没有以root用户的身份运行它。
我想,当磁盘被填满后,Postgres停止保存到磁盘,并将其全部保存在内存中--直到内存耗尽。
https://serverfault.com/questions/538917
复制相似问题