При сборке Java
-проекта с помощью Apache Maven – сборка прервалась с такой ошибкой:
[INFO] Linking into /home/setevoy/***-4.3.0.49/com.***.Explorer [INFO] Invoking Linker Standard [INFO] [ERROR] Failed to link [INFO] java.lang.RuntimeException: Unable to write to byte cache ... [INFO] at com.google.gwt.dev.Compiler.main(Compiler.java:177) [INFO] Caused by: java.io.IOException: No space left on device [INFO] at java.io.RandomAccessFile.writeBytes(Native Method) [INFO] at java.io.RandomAccessFile.write(RandomAccessFile.java:486) [INFO] at com.google.gwt.dev.util.DiskCache.writeByteArray(DiskCache.java:216) [INFO] ... 15 more [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR
На первый взгляд – места на машине достаточно:
# df -ih Filesystem Inodes IUsed IFree IUse% Mounted on ... /dev/mapper/debian-home 2.2M 21K 2.2M 1% /home /dev/mapper/debian-tmp 96K 20 96K 1% /tmp
# df -h /dev/mapper/debian-home 34G 4.2G 28G 13% /home /dev/mapper/debian-tmp 368M 11M 339M 3% /tmp
Но на самом деле – Java
полностью забивает раздел /tmp
, в котором всего 400 мб. Для удобства наблюдения – сделаем небольшой скрипт:
# cat tmp.sh #!/bin/bash i=`df -h /tmp/ | grep tmp | awk '{print $5}'` echo $i >> tmp.log
И запустим его на выполнение каждую секунду:
# watch -n 1 ./tmp.sh
Теперь осталось вывести информацию из лога на консоль:
# tail -f tmp.log
Теперь можно заметить, что во время компиляции проекта:
[INFO] Compiling permutation 0... [INFO] Compiling permutation 1... [INFO] Compiling permutation 2... [INFO] Compiling permutation 3... [INFO] Compiling permutation 4... [INFO] Compiling permutation 5...
Место в /tmp
заканчивается:
/dev/mapper/debian-tmp 368M 250M 100M 72% /tmp