Osmosis 0.40 java.lang.OutOfMemoryError: Java heap space

Wer ist ER? Ich nehme an, du meinst den osmosis-Befehl mit dem Plugin? wäre nett, wenn du die komplette Eingabe dazu schreiben würdest. Musste etwas grübeln :frowning:

  • Java soll 16GB nutzen dürfen, dein Rechner hat aber nur 3 GB - wie groß ist denn der SWAP?
  • hänge noch die Option ** -XshowSettings:vm** dran und schau ob das überhaupt ankommt.
  • bleib bei 64Bit. Das hat keinen Einfluß auf die Speicherverwaltung; es werden nur andere Instruktionen verwendet um mit großen Zahlen zu rechnen und das ist einfach langsamer.

Ich habe Europa früher auf einer 2GB-Maschine mit 2 GB Swap verwendet. Du machst anscheinend irgendwas, was unheimlich Speicher frißt oder dein -Xmx kommt garnicht an. Sollte es der Plugin sein, solltest du dich an die Entwickler wenden.

Gruss
walter

Ich benutze 2GB Swap Partition. In der osmosis.bat steht jetzt auch drin:

set JAVACMD_OPTIONS=-XshowSettings:vm

Im Protokoll beim Andorra Umsetzen finde ich nirgends eine Ausgabe.

Und wo soll das arme System die fehlenden 12 GB hernehmen?

Zu deinen “Ausgaben”: solange du nicht informativer wirst (welche Eingabe ergibt welche Ausgabe?) ist für mich Ende vom Gelände. Ich helfe gerne aber Hellsehen hab ich nicht im Angebot.

Gruss
walter

64 bit java benötigt mehr Speicher. :wink:
Abhilfe: -XuseCompressedOops (oder so ähnlich) verwenden, dann werden die Pointer komprimiert, was aber natürlich Performance kostet.

hans@hans-Product ~/Arbeitsfläche $ cd ~/osmosis-0.40

hans@hans-Product ~/osmosis-0.40 $ bin/osmosis -plugin org.mapsforge.preprocessing.map.osmosis.MapFileWriterPluginLoader --rb file=france-latest.osm.pbf --mw file=france-0.2.4.map type=hd

Sep 07, 2013 11:02:13 AM org.openstreetmap.osmosis.core.Osmosis run

INFO: Osmosis Version 0.40

Sep 07, 2013 11:02:14 AM org.java.plugin.registry.xml.ManifestParser <init>

INFO: got SAX parser factory - org.apache.xerces.jaxp.SAXParserFactoryImpl@18eb7e0

Sep 07, 2013 11:02:14 AM org.java.plugin.registry.xml.PluginRegistryImpl configure

INFO: configured, stopOnError=false, isValidating=true

Sep 07, 2013 11:02:14 AM org.java.plugin.registry.xml.PluginRegistryImpl register

INFO: plug-in and fragment descriptors registered - 1

Sep 07, 2013 11:02:14 AM org.java.plugin.standard.StandardPluginManager activatePlugin

INFO: plug-in started - org.openstreetmap.osmosis.core.plugin.Core@0.40.0

Sep 07, 2013 11:02:14 AM org.openstreetmap.osmosis.core.Osmosis run

INFO: Preparing pipeline.

Sep 07, 2013 11:02:14 AM org.mapsforge.preprocessing.map.osmosis.MapFileWriterTask <init>

INFO: mapfile-writer version 0.2.4

Sep 07, 2013 11:02:15 AM org.openstreetmap.osmosis.core.Osmosis run

INFO: Launching pipeline execution.

Sep 07, 2013 11:02:15 AM org.openstreetmap.osmosis.core.Osmosis run

INFO: Pipeline executing, waiting for completion.

Sep 07, 2013 11:02:15 AM org.mapsforge.preprocessing.map.osmosis.MapFileWriterTask process

INFO: start reading data...

Sep 07, 2013 12:04:48 PM org.mapsforge.preprocessing.map.osmosis.MapFileWriterTask complete

INFO: completing read...

Sep 08, 2013 4:18:18 AM org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion

SEVERE: Thread for task 1-rb failed

java.lang.OutOfMemoryError: Java heap space

	at gnu.trove.list.array.TDoubleArrayList.ensureCapacity(TDoubleArrayList.java:186)

	at gnu.trove.list.array.TDoubleArrayList.add(TDoubleArrayList.java:221)

	at org.mapsforge.preprocessing.map.osmosis.GeoUtils$SutherlandHodgmanClipping.clipPolygonToEdge(GeoUtils.java:751)

	at org.mapsforge.preprocessing.map.osmosis.GeoUtils$SutherlandHodgmanClipping.clipPolygon(GeoUtils.java:692)

	at org.mapsforge.preprocessing.map.osmosis.GeoUtils$SutherlandHodgmanClipping.accept(GeoUtils.java:662)

	at org.mapsforge.preprocessing.map.osmosis.GeoUtils.mapWayToTiles(GeoUtils.java:124)

	at org.mapsforge.preprocessing.map.osmosis.HDTileBasedDataStore.complete(HDTileBasedDataStore.java:304)

	at org.mapsforge.preprocessing.map.osmosis.MapFileWriterTask.complete(MapFileWriterTask.java:157)

	at crosby.binary.osmosis.OsmosisBinaryParser.complete(OsmosisBinaryParser.java:35)

	at crosby.binary.file.BlockInputStream.process(BlockInputStream.java:37)

	at crosby.binary.osmosis.OsmosisReader.run(OsmosisReader.java:37)

	at java.lang.Thread.run(Thread.java:722)



Sep 08, 2013 4:18:18 AM org.openstreetmap.osmosis.core.Osmosis main

SEVERE: Execution aborted.

org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed.

	at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForCompletion(Pipeline.java:146)

	at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:92)

	at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)

	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

	at java.lang.reflect.Method.invoke(Method.java:601)

	at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)

	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)

	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)

	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
hans@hans-Product ~/osmosis-0.40 $ 

java version "1.7.0_15"
OpenJDK Runtime Environment (IcedTea7 2.3.7) (7u15-2.3.7-0ubuntu1~12.10)
OpenJDK Client VM (build 23.7-b01, mixed mode, sharing)

Das war mein letzter Versuch mit 32bit unter LinuxMint14

Wenn ich mir den Anfang rauspicke, knall er im Plugin:


...
SEVERE: Thread for task 1-rb failed
java.lang.OutOfMemoryError: Java heap space
	at gnu.trove.list.array.TDoubleArrayList.ensureCapacity(TDoubleArrayList.java:186)
	at gnu.trove.list.array.TDoubleArrayList.add(TDoubleArrayList.java:221)
	at org.mapsforge.preprocessing.map.osmosis.GeoUtils$SutherlandHodgmanClipping.clipPolygonToEdge(GeoUtils.java:751)   <--------------

ich sehe aber immer noch nicht das Environment :frowning:
gib mal das in einem Batch ein:


#!/bin/bash
set -x
swapon -s
JAVACMD_OPTIONS="-XshowSettings:vm"
export JAVACMD_OPTIONS
bin/osmosis -v
JAVACMD_OPTIONS="-XshowSettings:vm -Xmx16G "
export JAVACMD_OPTIONS
bin/osmosis -v 

Ich vermute, dass du den Export nicht gemacht hast, oder?
Ich sehe auf jeden Fall den Output von xshowSettings:vm


walter@wno-server:~/osm/db/test$ ./osmosis_env.sh 
+ swapon -s
Filename				Type		Size	Used	Priority
+ JAVACMD_OPTIONS=-XshowSettings:vm
+ export JAVACMD_OPTIONS
+ /opt/install/osmosis-latest/bin/osmosis -v
VM settings:
    Max. Heap Size (Estimated): 6.96G
    Ergonomics Machine Class: server
    Using VM: OpenJDK 64-Bit Server VM

Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.42-6-gf39a160-dirty
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Searching for JPF plugins.
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Registering the core plugin.
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Registering the extension plugins.
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.pipeline.common.Pipeline prepare
FINE: Building tasks.
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.pipeline.common.Pipeline prepare
FINE: Connecting tasks.
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline complete.
Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Total execution time: 435 milliseconds.
+ JAVACMD_OPTIONS='-XshowSettings:vm -Xmx16G '
+ export JAVACMD_OPTIONS
+ /opt/install/osmosis-latest/bin/osmosis -v
VM settings:
    Max. Heap Size: 16.00G
    Ergonomics Machine Class: server
    Using VM: OpenJDK 64-Bit Server VM

Sep 09, 2013 1:12:12 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.42-6-gf39a160-dirty
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Searching for JPF plugins.
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Registering the core plugin.
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Registering the extension plugins.
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.pipeline.common.Pipeline prepare
FINE: Building tasks.
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.pipeline.common.Pipeline prepare
FINE: Connecting tasks.
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline complete.
Sep 09, 2013 1:12:13 AM org.openstreetmap.osmosis.core.Osmosis run
INFO: Total execution time: 431 milliseconds.
walter@wno-server:~/osm/db/test$

Zu meinen Werten: Meine Kiste hat 32 GB Memory und braucht keinen Swap. Davon schnappt sich Java ca 7 GB als Default. Bei dir sollten da natürlich kleinere Werte stehen. und beim 2. osmosis siehst du -endlich- was wirklich benutzt wird.

ob der “swapon -s” so in Mint geht, ist mir nicht bekannt. Aber du hast ja schon geschrieben, dass der Swap 2GB gross sein soll.

und erklär mir bitte mal, wo dein Rechner die fehlenden 12 GB Memory hernehmen soll? 2GB real+2GB Swap macht 4 und du willst 16 haben. Oder swapt deine Kiste auch noch auf temp?
Du könntest ein zusätzliches Swap-File anlegen, sodaß du nicht mit Partionen rumjonglieren musst.

Haben sich eigentlich die Entwickler des plugins schon gemeldet?

Gruss
walter

hans@hans-Product ~/osmosis-0.40 $ sh testtest.sh
+ swapon -s
Filename				Type		Size	Used	Priority
/dev/sda3                               partition	2103292	44224	-1
+ JAVACMD_OPTIONS=-XshowSettings:vm
+ export JAVACMD_OPTIONS
+ bin/osmosis -v
VM settings:
    Max. Heap Size (Estimated): 494.94M
    Ergonomics Machine Class: client
    Using VM: OpenJDK Client VM

Sep 09, 2013 11:10:51 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.40
Sep 09, 2013 11:10:51 PM org.java.plugin.ObjectFactory loadProperties
FINE: no jpf.properties file found in ${java.home}/lib (/usr/lib/jvm/java-7-openjdk-i386/jre/lib/jpf.properties) nor in CLASSPATH, using standard properties
Sep 09, 2013 11:10:51 PM org.java.plugin.ObjectFactory loadProperties
FINE: loaded jpf.properties from jar:file:/home/hans/osmosis-0.40/lib/default/jpf-1.5.jar!/org/java/plugin/standard/jpf.properties
Sep 09, 2013 11:10:51 PM org.java.plugin.ObjectFactory findProperty
FINE: property org.java.plugin.ObjectFactory found in properties file
Sep 09, 2013 11:10:51 PM org.java.plugin.ObjectFactory newInstance
FINE: object factory instance created - org.java.plugin.standard.StandardObjectFactory@7a17
Sep 09, 2013 11:10:51 PM org.java.plugin.standard.StandardObjectFactory getImplClassName
FINE: implementation class for org.java.plugin.registry.PluginRegistry is org.java.plugin.registry.xml.PluginRegistryImpl
Sep 09, 2013 11:10:51 PM org.java.plugin.registry.xml.ManifestParser <init>
INFO: got SAX parser factory - org.apache.xerces.jaxp.SAXParserFactoryImpl@1e940a6
Sep 09, 2013 11:10:51 PM org.java.plugin.registry.xml.PluginRegistryImpl configure
INFO: configured, stopOnError=false, isValidating=true
Sep 09, 2013 11:10:51 PM org.java.plugin.standard.StandardObjectFactory createRegistry
FINE: registry instance created - org.java.plugin.registry.xml.PluginRegistryImpl@93837b
Sep 09, 2013 11:10:51 PM org.java.plugin.standard.StandardObjectFactory getImplClassName
FINE: implementation class for org.java.plugin.PathResolver is org.java.plugin.standard.StandardPathResolver
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardObjectFactory createPathResolver
FINE: path resolver instance created - org.java.plugin.standard.StandardPathResolver@180e7a4
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardObjectFactory getImplClassName
FINE: implementation class for org.java.plugin.standard.PluginLifecycleHandler is org.java.plugin.standard.StandardPluginLifecycleHandler
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardPluginLifecycleHandler configure
FINE: probeParentLoaderLast parameter value is false
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardObjectFactory createLifecycleHandler
FINE: life cycle handler instance created - org.java.plugin.standard.StandardPluginLifecycleHandler@1f31ad9
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Searching for JPF plugins.
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Registering the core plugin.
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestParser$1 resolveEntity
FINE: entity resolved to plug-in manifest DTD, publicId=-//JPF//Java Plug-in Manifest 1.0, systemId=http://jpf.sourceforge.net/plugin_1_0.dtd
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestHandler startElement
FINE: startElement - []/[]/[plugin]
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestHandler startElement
FINE: startElement - []/[]/[extension-point]
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestHandler startElement
FINE: startElement - []/[]/[parameter-def]
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestHandler endElement
FINE: endElement - []/[]/[parameter-def]
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestHandler startElement
FINE: startElement - []/[]/[parameter-def]
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestHandler endElement
FINE: endElement - []/[]/[parameter-def]
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestHandler endElement
FINE: endElement - []/[]/[extension-point]
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestHandler endElement
FINE: endElement - []/[]/[plugin]
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl register
FINE: manifest files parsed, plugins.size=1, fragments.size=0
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl register
FINE: plug-ins versions checked, plugins.size=1
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl register
FINE: plug-in fragments versions checked, fragments.size=0
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl registerPlugin
FINE: registering plug-in, URL - jar:file:/home/hans/osmosis-0.40/lib/default/osmosis-core-0.40.jar!/org/openstreetmap/osmosis/core/plugin/plugin.xml
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ExtensionPointImpl$ParameterDefinitionImpl <init>
FINE: object instantiated: {PluginExtensionPoint.ParameterDefinition: extPointUid=org.openstreetmap.osmosis.core.plugin.Core@Task; id=class}
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ExtensionPointImpl$ParameterDefinitionImpl <init>
FINE: object instantiated: {PluginExtensionPoint.ParameterDefinition: extPointUid=org.openstreetmap.osmosis.core.plugin.Core@Task; id=name}
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ExtensionPointImpl <init>
FINE: object instantiated: {ExtensionPoint: uid=org.openstreetmap.osmosis.core.plugin.Core@Task}
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginDescriptorImpl <init>
FINE: object instantiated: {PluginDescriptor: uid=org.openstreetmap.osmosis.core.plugin.Core@0.40.0}
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl register
INFO: plug-in and fragment descriptors registered - 1
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl dump
FINE: PLUG-IN REGISTRY DUMP:
-------------- DUMP BEGIN -----------------
	Plug-ins: 1
		{PluginDescriptor: uid=org.openstreetmap.osmosis.core.plugin.Core@0.40.0}
	Fragments: 0
Memory TOTAL/FREE/MAX: 16252928/12760448/518979584
-------------- DUMP END -----------------

Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl$RegistryChangeDataImpl dump
FINE: PLUG-IN REGISTRY CHANGES DUMP:
-------------- DUMP BEGIN -----------------
	Added plug-ins: 1
		org.openstreetmap.osmosis.core.plugin.Core
	Removed plug-ins: 0
	Modified plug-ins: 0
	Added extensions: 0
	Removed extensions: 0
	Modified extensions: 0
Memory TOTAL/FREE/MAX: 16252928/12672256/518979584
-------------- DUMP END -----------------

Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl fireEvent
FINE: propagating registry change event
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl fireEvent
FINE: registry change event propagated
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardPluginClassLoader getUrls
FINE: Code URL's populated for plug-in {PluginDescriptor: uid=org.openstreetmap.osmosis.core.plugin.Core@0.40.0}:

Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardPluginManager activatePlugin
INFO: plug-in started - org.openstreetmap.osmosis.core.plugin.Core@0.40.0
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Registering the extension plugins.
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.pipeline.common.Pipeline prepare
FINE: Building tasks.
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.pipeline.common.Pipeline prepare
FINE: Connecting tasks.
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline complete.
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Total execution time: 747 milliseconds.
+ JAVACMD_OPTIONS=-XshowSettings:vm -Xmx2G 
+ export JAVACMD_OPTIONS
+ bin/osmosis -v
VM settings:
    Max. Heap Size: 2.00G
    Ergonomics Machine Class: client
    Using VM: OpenJDK Client VM

Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.40
Sep 09, 2013 11:10:52 PM org.java.plugin.ObjectFactory loadProperties
FINE: no jpf.properties file found in ${java.home}/lib (/usr/lib/jvm/java-7-openjdk-i386/jre/lib/jpf.properties) nor in CLASSPATH, using standard properties
Sep 09, 2013 11:10:52 PM org.java.plugin.ObjectFactory loadProperties
FINE: loaded jpf.properties from jar:file:/home/hans/osmosis-0.40/lib/default/jpf-1.5.jar!/org/java/plugin/standard/jpf.properties
Sep 09, 2013 11:10:52 PM org.java.plugin.ObjectFactory findProperty
FINE: property org.java.plugin.ObjectFactory found in properties file
Sep 09, 2013 11:10:52 PM org.java.plugin.ObjectFactory newInstance
FINE: object factory instance created - org.java.plugin.standard.StandardObjectFactory@14fa0ef
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardObjectFactory getImplClassName
FINE: implementation class for org.java.plugin.registry.PluginRegistry is org.java.plugin.registry.xml.PluginRegistryImpl
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.ManifestParser <init>
INFO: got SAX parser factory - org.apache.xerces.jaxp.SAXParserFactoryImpl@93837b
Sep 09, 2013 11:10:52 PM org.java.plugin.registry.xml.PluginRegistryImpl configure
INFO: configured, stopOnError=false, isValidating=true
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardObjectFactory createRegistry
FINE: registry instance created - org.java.plugin.registry.xml.PluginRegistryImpl@9d267d
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardObjectFactory getImplClassName
FINE: implementation class for org.java.plugin.PathResolver is org.java.plugin.standard.StandardPathResolver
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardObjectFactory createPathResolver
FINE: path resolver instance created - org.java.plugin.standard.StandardPathResolver@1e7d12b
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardObjectFactory getImplClassName
FINE: implementation class for org.java.plugin.standard.PluginLifecycleHandler is org.java.plugin.standard.StandardPluginLifecycleHandler
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardPluginLifecycleHandler configure
FINE: probeParentLoaderLast parameter value is false
Sep 09, 2013 11:10:52 PM org.java.plugin.standard.StandardObjectFactory createLifecycleHandler
FINE: life cycle handler instance created - org.java.plugin.standard.StandardPluginLifecycleHandler@167acf2
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Searching for JPF plugins.
Sep 09, 2013 11:10:52 PM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Registering the core plugin.
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ManifestParser$1 resolveEntity
FINE: entity resolved to plug-in manifest DTD, publicId=-//JPF//Java Plug-in Manifest 1.0, systemId=http://jpf.sourceforge.net/plugin_1_0.dtd
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ManifestHandler startElement
FINE: startElement - []/[]/[plugin]
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ManifestHandler startElement
FINE: startElement - []/[]/[extension-point]
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ManifestHandler startElement
FINE: startElement - []/[]/[parameter-def]
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ManifestHandler endElement
FINE: endElement - []/[]/[parameter-def]
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ManifestHandler startElement
FINE: startElement - []/[]/[parameter-def]
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ManifestHandler endElement
FINE: endElement - []/[]/[parameter-def]
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ManifestHandler endElement
FINE: endElement - []/[]/[extension-point]
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ManifestHandler endElement
FINE: endElement - []/[]/[plugin]
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginRegistryImpl register
FINE: manifest files parsed, plugins.size=1, fragments.size=0
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginRegistryImpl register
FINE: plug-ins versions checked, plugins.size=1
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginRegistryImpl register
FINE: plug-in fragments versions checked, fragments.size=0
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginRegistryImpl registerPlugin
FINE: registering plug-in, URL - jar:file:/home/hans/osmosis-0.40/lib/default/osmosis-core-0.40.jar!/org/openstreetmap/osmosis/core/plugin/plugin.xml
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ExtensionPointImpl$ParameterDefinitionImpl <init>
FINE: object instantiated: {PluginExtensionPoint.ParameterDefinition: extPointUid=org.openstreetmap.osmosis.core.plugin.Core@Task; id=class}
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ExtensionPointImpl$ParameterDefinitionImpl <init>
FINE: object instantiated: {PluginExtensionPoint.ParameterDefinition: extPointUid=org.openstreetmap.osmosis.core.plugin.Core@Task; id=name}
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.ExtensionPointImpl <init>
FINE: object instantiated: {ExtensionPoint: uid=org.openstreetmap.osmosis.core.plugin.Core@Task}
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginDescriptorImpl <init>
FINE: object instantiated: {PluginDescriptor: uid=org.openstreetmap.osmosis.core.plugin.Core@0.40.0}
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginRegistryImpl register
INFO: plug-in and fragment descriptors registered - 1
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginRegistryImpl dump
FINE: PLUG-IN REGISTRY DUMP:
-------------- DUMP BEGIN -----------------
	Plug-ins: 1
		{PluginDescriptor: uid=org.openstreetmap.osmosis.core.plugin.Core@0.40.0}
	Fragments: 0
Memory TOTAL/FREE/MAX: 16252928/12697768/2075918336
-------------- DUMP END -----------------

Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginRegistryImpl$RegistryChangeDataImpl dump
FINE: PLUG-IN REGISTRY CHANGES DUMP:
-------------- DUMP BEGIN -----------------
	Added plug-ins: 1
		org.openstreetmap.osmosis.core.plugin.Core
	Removed plug-ins: 0
	Modified plug-ins: 0
	Added extensions: 0
	Removed extensions: 0
	Modified extensions: 0
Memory TOTAL/FREE/MAX: 16252928/12697768/2075918336
-------------- DUMP END -----------------

Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginRegistryImpl fireEvent
FINE: propagating registry change event
Sep 09, 2013 11:10:53 PM org.java.plugin.registry.xml.PluginRegistryImpl fireEvent
FINE: registry change event propagated
Sep 09, 2013 11:10:53 PM org.java.plugin.standard.StandardPluginClassLoader getUrls
FINE: Code URL's populated for plug-in {PluginDescriptor: uid=org.openstreetmap.osmosis.core.plugin.Core@0.40.0}:

Sep 09, 2013 11:10:53 PM org.java.plugin.standard.StandardPluginManager activatePlugin
INFO: plug-in started - org.openstreetmap.osmosis.core.plugin.Core@0.40.0
Sep 09, 2013 11:10:53 PM org.openstreetmap.osmosis.core.TaskRegistrar loadJPFPlugins
FINE: Registering the extension plugins.
Sep 09, 2013 11:10:53 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
Sep 09, 2013 11:10:53 PM org.openstreetmap.osmosis.core.pipeline.common.Pipeline prepare
FINE: Building tasks.
Sep 09, 2013 11:10:53 PM org.openstreetmap.osmosis.core.pipeline.common.Pipeline prepare
FINE: Connecting tasks.
Sep 09, 2013 11:10:53 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
Sep 09, 2013 11:10:53 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
Sep 09, 2013 11:10:53 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline complete.
Sep 09, 2013 11:10:53 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Total execution time: 746 milliseconds.
hans@hans-Product ~/osmosis-0.40 $ 

Guten Abend! ich habe jetzt Deinen Batch aufgesetzt. Ich habe die Speichergröße von 16G bis auf 2G verkleinert. Erst dann hat es die VM angenommen. Hier ist mein Protokoll. Von export weiß ich bisher nichts. Also habe ich es auch nicht gemacht. Der Eintrag der Speicheranforderung in der osmosis.bat war also nicht wirksam. Was tut nun der export Befehl? Könnte ich mit 2GB durchkommen? Ich könnte einen Rechner benutzen, der 4GB hat, wovon wohl nur 3.3GB zur Verfügung stehen.

Aus

man bash

dort zu finden mit

/export↩

und einigen “n”:


       export [-fn] [name[=word]] ...
       export -p
              The supplied names are marked for automatic export to the  envi-
              ronment  of subsequently executed commands.  If the -f option is
              given, the names refer to functions.  If no names are given,  or
              if  the  -p  option  is  supplied,  a list of all names that are
              exported in this shell is printed.  The  -n  option  causes  the
              export  property  to  be  removed from each name.  If a variable
              name is followed by =word, the value of the variable is  set  to
              word.   export  returns  an  exit  status of 0 unless an invalid
              option is encountered, one of the names is  not  a  valid  shell
              variable name, or -f is supplied with a name that is not a func-
              tion.

gratuliere, also hatte ich den richtigen Riecher. Die VM hat immer mit den Defaultwerten gearbeitet :frowning:

oops, hier muß ich für heute Abend passen. Meine Kiste hat halt zu viel Memory :wink: Aber morgen werfe ich mal einen anderern Rechner an, der ist etwas schwächer.

Vermutungen:

  • Mint? glaub ich eher nicht
  • Die VM nimmt maximal 50% vom Memory+Swap ? - schon eher, irgendwas hab ich da in vager Erinnerung.

Wenn das mit dem Memory+Swap stimmen sollte, mach den Swap halt größer. suche mal nach “swap on file”. 20GB-File auf /tmp anlegen und als Swap verwenden.

Frag mich nicht - aber nur dann stehen den anderen Programmen (hier Java) die Variablen zur Verfügung. Environment war noch nie meine Stärke (und das Zitat von OLi-Wan hift selbst mir nicht so richtig weiter). Es muss so gemacht werden, also mach ich das so - basta.

Probier es einfach auf dem jetzigen Rechner aus und teste mal auf dem größeren Rechner, ob die VM mehr Heap bekommt. Läuft der erste Rechner durch, hast du gewonnen; bekommt die andere VM mehr Heap, nimm den.

Gruss
walter

Ich habe diesen Batch auch am anderen Rechner getestet, der 64bit und 4GB Ram mit einem Swapfile von 1GB hat. Der nimmt die 16GB Anforderung an. Nun verstehe ich nichts mehr.

ich auch net :frowning: Eventuell liegt das an 32 Bit, dass er maximal 2GB Heat reserviert? Keine Ahnung.
Eigentlich kann das mit den 16GB nicht gut gehen und er müsse irgendwann knallen. Aber immerhin hast du anstelle vom 0.5 GB Heap wohl das 8-fache (ca 4GB).
Wenn ich mich erinnere, ist DE mit 0.5 GB gelaufen, dann sollte FR doch jetzt auch durchkommen.

@wambacher:
Für DE mit 1,6GB war ich durchgekommen. Für Frankreich mit 2,5GB komme ich nicht durch. Ich finde mich jetzt damit ab. Die interessanten Teilregionen habe ich mir inzwischen erzeugen können. Es kann eben nicht jeder eine 32GB Maschine zur Verfügung haben.

Ich bedanke mich für Trost und Hilfe.

Gruß svgt

Noch zwei Hinweise. Erstens: es gibt ja noch einen Mittelweg zwischen “ganz Frankreich” und “interessante Teilregionen”. Mit letzterem meinst Du vermutlich, daß Du z.B. für zwei oder drei (benachbarte oder nicht benachbarte) Regionen aus dem Angebot der Geofabrik je eine Karte für Deine Zwecke generiert hast. Falls ich damit falsch liege, erübrigt sich dieser Hinweis. Du könntest mehrere solche Regionen mit osmosis oder osmconvert zusammenfügen (das Ergebnis ist dann immer noch deutlich kleiner als ganz Gallien Frankreich) und daraus eine Karte erstellen. Ob das einen Vorteil bietet, hängt von der Anwendung ab. Alternativ könntest Du den Frankreich-Extrakt hernehmen und selbst (mit den gleichen Werkzeugen) zurechtschneiden, z.B. nur den Süden behalten, oder was immer Dich interessiert. osmconvert hat dabei neben der Geschwindigkeit den Vorteil, daß es Dateien mehrfach lesen kann und dann zur Buchhaltung von Abhängigkeiten deutlich weniger Daten im Speicher halten muß, also bei großen Dateien nicht so schnell in Schwierigkeiten gerät.

Zweitens: die Frankreich-Daten bestehen zu etwa 80% aus Gebäuden ohne weitere Informationen (keine Adressen, keine POI-Daten). Falls Du darauf verzichten kannst, ist durch Ausfiltern dieser Objekte eine deutliche Reduktion möglich. Das sollte mit osmfilter gehen, auch wenn ich auswendig nicht die passenden Optionen (“verwerfe Wege mit building=yes ohne sonstige Tags sowie deren Knoten, sofern nicht anderweitig referenziert”) präsent habe. Ansonsten mein Standardsatz zu solchen Aufgaben: mit Osmium ist das in wenigen Zeilen C++ zu erledigen.

Eine Spezialität der Cadastre-Häuserimporte scheinen Gebäude ohne Wände (Balkone, Carports, …) zu sein. Diese werden neben building=yes mit wall=no markiert. Vielleicht reicht es bereits aus nur diese wegzulassen. Die Anordnung von Gebäuden an sich ist bei der Orientierung doch oft hilfreich.

Edbert (EvanE)

ich verstehe nicht, wieso er nicht einfach den swap größer macht - oder die Entwickler fragt.
Für mich ist jetzt eot.

Gruss
walter