Что-то не выходит у меня наладить конвертацию выбранных регионов. Тестовые конвертации на небольших объемах проходят на ура, а как дело доходит до обработки >~150Mb на PBF, так креш. Упомянутая версия конвертера из архива со скриптами валится с
A fatal error has been detected by the Java Runtime Environment:
SIGSEGV (0xb) at pc=0x00007f5ce2fc3f41, pid=4914, tid=140036921820928
JRE version: Java(TM) SE Runtime Environment (7.0_51-b13) (build 1.7.0_51-b13)
Java VM: Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode linux-amd64 compressed oops)
Problematic frame:
C [sqlite-3.7.6.3-libsqlitejdbc.so+0x12f41] sqlite3_backup_pagecount+0x241
Судя по Османд гугло круппе бага была исправлена еще в январе 13-го. Что же, нужно, думаю, попробовать ночнушку. Ночной билд данной ошибки не вываливает, но конверитить все карты все равно не собирается, похоже, валится с аут оф мемори.
/var/osmandmc/./temp/Finland-latest_2.obf.rtree0
java.io.IOException: Stream Closed
at java.io.RandomAccessFile.seek(Native Method)
at rtree.FileHdr.writeFileHeader(FileHdr.java:243)
at rtree.FileHdr.flush(FileHdr.java:333)
at rtree.FileHdr.finalize(FileHdr.java:318)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:101)
at java.lang.ref.Finalizer.access(Finalizer.java:32)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:190)
Exception in thread "Timer-0" java.lang.OutOfMemoryError: Java heap space
java.sql.SQLException: ResultSet closed
at org.sqlite.RS.checkOpen(RS.java:63)
at org.sqlite.RS.markCol(RS.java:77)
at org.sqlite.RS.getBytes(RS.java:230)
at net.osmand.data.preparation.OsmDbAccessor$EntityProducer.run(OsmDbAccessor.java:339)
Видно, не судьба. Пока взял на себя только Болгарию с геофабрик.
Из батников. Но игра с параметрами выделения памяти не сильно поможет, сервачек-то бюджетненький, ОСМ хоть и притягивает сильно, но жаба тоже не спит.
Снимаю с сервака конвертацию, не потянет он ее, пусть занимается статистикой. В рамках данного топика он разве что для зеркалирования сгодится. Конвертацию запускаю на Виндовой машине. Пока беру Болгарию, Финку и Швецию с геофабрик.
Я с 2 гигами даже на 50 метров, со своим Р4, не зарился. 30 метров обрабатывает 12 минут.
Они же на i5 (ноутбук) с 6 гигами обрабатываются меньше минуты.
То то и оно, что Виндовая машина i7 с 8Гб. Но даже с -Xmx2048M процесс идет без видимой нагрузки на CPU и жер памяти 300-600Мб. Ладно бы нагрузил одно из ядер под завязку, отожрал кучу памяти, стал бы свопить, а тут просто непонятные простои, никакой видимой деятельности. Ладно, буду довольствоваться небольшими файлами.
у меня тоже на и5 жрёт. то одно ядро, то все. зависит от этапа задачи. часть процесса параллеится, часть – нет.
а вот озу извините. на моих 4 гб – 50-100 меговый жатый осм-архив, не больше. мос.- и лен.-область уже наверно не провернёт. и никакие свопы не помогут.
джава своп не кушает, ей чистое озу подавай.
Для удобства, теперь дата для папок с картами выставляется такая же, как дата у файла внутри. Так что теперь в списке карт можно видеть актуальные даты.
В связи с чем вопрос: tefal больше не конвертирует карты? С февраля не обновлялись…
Ни у кого не было проблем, что иногда конвертация занимает в 10-20 раз больше времени, чем обычно? Не могу определить, с чем именно связано, но иногда Украина (180мб pbf) делается за 20 минут, а бывает и за 3+ часа.
Друзья, у меня не очень хорошие новости. Мне написал разработчик и менеджер open-source проекта OsmAnd. Нашу переписку вы можете прочитать тут: http://data.nikanorov.mobi/misc/osmand.html
Возможно, источник OsmAnd придётся убрать из OSM Downloader.
Грусть печаль, крайне не хотелось бы потерять возможность обновления карт из пользовательских источников через OSM Downloader или иными, отличными от соответствующего пункта меню в OsmAnd средствами. Даже если официальные обновления карт, доступные из самого OsmAnd, будут ежедневными, это лишает возможности использования кастомных карт, что не может не огорчать…