失敗しているデータベース読み込みプロセス(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がいっぱいになるディスク上の実際のファイルを特定できません。
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
それは何も明らかにしません。
どうしたの?
わかりました。 Postgresデータベースは/ dev/vda1にあり、巨大になりました。ルートとして実行していないため、du
コマンドには表示されませんでした。
ディスクがいっぱいになると、Postgresはディスクへの保存を停止し、すべてメモリに保持します-メモリがなくなるまで。