|
자작나무님께서 참조하라는 내용을 참조해서
1. type=hd 추가
2. osmosis.bat 에 "set JAVACMD_OPTIONS=-Xmx30000M" 추가를 해서 컴파일 했지만 실패했읍니다.
[컴파일 메세지]
D:\mk>d:\mk\osmosis\bin\osmosis --rx
file=south-korea-latest.osm --mw file=IEMHSKIM-korea.map
type=hd
12월 24, 2018 12:48:29 오후
org.openstreetmap.osmosis.core.Osmosis run
정보: Osmosis Version 0.47
12월 24, 2018 12:48:30 오후
org.openstreetmap.osmosis.core.Osmosis run
정보: Preparing pipeline.
12월 24, 2018 12:48:30 오후
org.mapsforge.map.writer.osmosis.MapFileWriterTask <init>
정보: mapfile-writer version:
mapsforge-map-writer-master-SNAPSHOT
12월 24, 2018 12:48:30 오후
org.mapsforge.map.writer.osmosis.MapFileWriterTask <init>
정보: mapfile format specification version:
3
12월 24, 2018 12:48:30 오후
org.openstreetmap.osmosis.core.Osmosis run
정보: Launching pipeline execution.
12월 24, 2018 12:48:30 오후
org.openstreetmap.osmosis.core.Osmosis run
정보: Pipeline executing, waiting for
completion.
12월 24, 2018 12:48:30 오후
org.mapsforge.map.writer.osmosis.MapFileWriterTask process
정보: start reading data...
12월 24, 2018 12:50:07 오후
org.mapsforge.map.writer.osmosis.MapFileWriterTask complete
정보: completing read...
12월 24, 2018 12:50:07 오후
org.mapsforge.map.writer.HDTileBasedDataProcessor complete
정보: handle coastlines...
12월 24, 2018 12:57:39 오후
org.mapsforge.map.writer.HDTileBasedDataProcessor complete
정보: handle relations...
12월 24, 2018 1:03:24 오후
org.mapsforge.map.writer.HDTileBasedDataProcessor complete
정보: handle ways...
12월 24, 2018 1:22:44 오후
org.mapsforge.map.writer.osmosis.MapFileWriterTask complete
정보: start writing file...
12월 24, 2018 1:22:44 오후
org.mapsforge.map.writer.osmosis.MapFileWriterTask complete
정보: overwriting file
D:\mk\IEMHSKIM-korea.map
12월 24,
2018 1:22:46 오후 org.openstreetmap.osmosis.core.store.RandomAccessObjectStore
close
경고: Unable to delete file
C:\Users\user\AppData\Local\Temp\idxNodesd4393497494080385126.tmp
12월 24, 2018 1:22:46 오후
org.openstreetmap.osmosis.core.store.RandomAccessObjectStore
close
경고: Unable to delete file
C:\Users\user\AppData\Local\Temp\idxNodesi7293710179371898777.tmp
12월 24, 2018 1:22:46 오후
org.openstreetmap.osmosis.core.store.RandomAccessObjectStore
close
경고: Unable to delete file
C:\Users\user\AppData\Local\Temp\idxWaysd422007791919363124.tmp
12월 24, 2018 1:22:46 오후
org.openstreetmap.osmosis.core.store.RandomAccessObjectStore
close
경고: Unable to delete file
C:\Users\user\AppData\Local\Temp\idxWaysi4199253448153582164.tmp
12월 24, 2018 1:22:46 오후
org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager
waitForCompletion
심각: Thread for
task 1-rx failed
java.lang.OutOfMemoryError: Java heap
space
at
java.nio.HeapByteBuffer.<init>(Unknown Source)
at java.nio.ByteBuffer.allocate(Unknown
Source)
at
org.mapsforge.map.writer.MapFileWriter.writeSubfile(MapFileWriter.java:958)
at
org.mapsforge.map.writer.MapFileWriter.writeFile(MapFileWriter.java:376)
at
org.mapsforge.map.writer.osmosis.MapFileWriterTask.complete(MapFileWriterTask.java:113)
at
org.openstreetmap.osmosis.xml.v0_6.XmlReader.run(XmlReader.java:92)
at java.lang.Thread.run(Unknown
Source)
12월 24, 2018 1:22:46 오후
org.openstreetmap.osmosis.core.Osmosis main
심각: 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(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown
Source)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
at
org.codehaus.classworlds.Launcher.main(Launcher.java:47)
D:\mk>
[도스 프롬프트의
세팅현황]
D:\mk>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\user\AppData\Roaming
CommonProgramFiles=C:\Program
Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common
Files
CommonProgramW6432=C:\Program Files\Common
Files
COMPUTERNAME=서무행정
ComSpec=C:\WINDOWS\system32\cmd.exe
DriverData=C:\Windows\System32\Drivers\DriverData
EXEC="java"
-cp "d:\mk\osmosis\lib\default\plexus-classworlds-2.5.2.jar"
-Dapp.home="d:\mk\osmosis" -Dclassworlds.conf="d:\mk\osmosis\config\plexus.conf"
org.codehaus.classworlds.Launcher --rx file=south-korea-latest.osm --mw
file=IEMHSKIM-korea.map type=hd
FPS_BROWSER_APP_PROFILE_STRING=Internet
Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
HOMEDRIVE=C:
HOMEPATH=\Users\user
JAVACMD=java
JAVACMD_OPTIONS=-Xmx1024M
LOCALAPPDATA=C:\Users\user\AppData\Local
LOGONSERVER=\\서무행정
MAINCLASS=org.codehaus.classworlds.Launcher
MYAPP_HOME=d:\mk\osmosis
NUMBER_OF_PROCESSORS=4
OneDrive=C:\Users\user\OneDrive
OS=Windows_NT
Path=C:\Program
Files (x86)\Common
Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\user\AppData\Local\Microsoft\WindowsApps;;C:\Program
Files
(x86)\ESTsoft\ALSee\x64
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PLEXUS_CP=d:\mk\osmosis\lib\default\plexus-classworlds-2.5.2.jar
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64
Family 6 Model 94 Stepping 3,
GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=5e03
ProgramData=C:\ProgramData
ProgramFiles=C:\Program
Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program
Files
PROMPT=$P$G
PSModulePath=C:\Program
Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SAVEDIR=D:\mk
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\user\AppData\Local\Temp
TMP=C:\Users\user\AppData\Local\Temp
TMPDIR=C:\Users\Public\Documents\ESTsoft\CreatorTemp
USERDOMAIN=서무행정
USERDOMAIN_ROAMINGPROFILE=서무행정
USERNAME=user
USERPROFILE=C:\Users\user
windir=C:\WINDOWS
D:\mk>
[osmosis.bat 내용]
@ECHO OFF
REM This is an equivalent Windows batch file to complement the unix shell script
REM Corresponding lines from the shell script are printed before the matching batch file commands
REM # Config files can define several variables used throughout this script.
REM # JAVACMD - The java command to launch osmosis.
REM # JAVACMD_OPTIONS - The options to append to the java command, typically used to modify jvm settings such as max memory.
REM # OSMOSIS_OPTIONS - The options to apply to all osmosis invocations, typically used to add plugins or make quiet operation the default.
REM if [ -f /etc/osmosis ] ; then
REM . /etc/osmosis
REM fi
IF EXIST "%ALLUSERSPROFILE%\osmosis.bat" CALL "%ALLUSERSPROFILE%\osmosis.bat"
REM if [ -f "$HOME/.osmosis" ] ; then
REM . "$HOME/.osmosis"
REM fi
IF EXIST "%USERPROFILE%\osmosis.bat" CALL "%USERPROFILE%\osmosis.bat"
REM if [ -z "$JAVACMD" ] ; then
REM # No JAVACMD provided in osmosis config files, therefore default to java
REM JAVACMD=java
REM fi
IF "%JAVACMD%"=="" set JAVACMD=java
REM Set "SAVEDIR" to the current directory
set SAVEDIR=%CD%
set MYAPP_HOME=%~dp0..
REM Now make the MYAPP_HOME path absolute
cd /D %MYAPP_HOME%
set MYAPP_HOME=%CD%
REM Change back to the original directory
cd /D %SAVEDIR%
set MAINCLASS=org.codehaus.classworlds.Launcher
set PLEXUS_CP=%MYAPP_HOME%\lib\default\plexus-classworlds-2.5.2.jar
SET EXEC="%JAVACMD%" %JAVACMD_OPTIONS% -cp "%PLEXUS_CP%" -Dapp.home="%MYAPP_HOME%" -Dclassworlds.conf="%MYAPP_HOME%\config\plexus.conf" %MAINCLASS% %OSMOSIS_OPTIONS% %*
set JAVACMD_OPTIONS=-Xmx30000M
%EXEC%
첫댓글 set JAVACMD_OPTIONS 값을 -Xmx1024M , -Xmx150000M, -Xmx300000M등으로 변경해서 컴파일 했지만 에러로 실패했어요.
JAVACMD_OPTIONS = -Xmx3000m로 수정하고, 도스 세팅 값과 설정 값이 다른데, osmosis.bat수정본과 실행하는 것이 착오로 다를수가 있으니 확인 바랍니다.
도스 세팅값과 설정값이 다르다고 하셨는데 도스세팅값과 설정값이 무엇인지 잘 모르겠습니다.
osmosis.bat 에 "set JAVACMD_OPTIONS=-Xmx30000M" 할 경우 또 다른곳에 설정을 해야한다는 뜻이신지요 ?
@산길찾아 30,000M는 30G이므로 3,000M(3G)로 하라는 것이고, set 명령으로 보이는 시스템 설정값에는 JAVACMD_OPTIONS가 1024M이므로 제대로 설정이 안된것으로 보입니다.
최종 출력후, 도스 환경 값을 확인하세요.
@자작나무 위에서 보신 차이는 옵션을 변경하면 컴파일 하면서 올린 시점이 차이가 나서 그렇게 나타났읍니다.
그런데 혹시 제가 컴파일을 실행키시는 준비단계가 틀린건지 알려주세요.
@산길찾아 1. osmosis.bat파일에서 "set JAVACMD_OPTIONS=-Xmx30000M" 을 추가합니다.
2. dos창으로 들어가서 컴파일 명령어를 타이프 합니다.
d:\mk\osmosis\bin\osmosis --rx file=south-korea-latest.osm --mw file=IEMHSKIM-korea.map type=hd
==> 이게 다입니다.
@산길찾아 메인 메모리가 8G 라면 osmosis.bat 의"set JAVACMD_OPTIONS=-Xmx3000M" 으로 하고 컴파일이 될겁니다.
d:\mk\osmosis\bin\osmosis --rx file=south-korea-latest.osm --mw file=IEMHSKIM-korea.map "type=hd" <- 생략해도 가능합니다.
@자작나무 아래의 조건으로 컴파일 했읍니다.
1) [type=hd 제거, Xmx1024M 설정] : 컴파일1분도 안되서 실패
2) [type=hd 제거, Xmx3000M 설정] : 컴파일1분도 안되서 실패
3) [type=hd 설정, Xmx3000M 제거] : 컴파일23분정도에 실패
4) [type=hd 설정, Xmx3000M 설정] : 컴파일23분정도에 실패
저는 일단 type=hd 옵션이 좀더 효가가 있었지만 모두다 컴파일 실패는 동일했읍니다.
@산길찾아 지금 하드디스크의 빈 공간이 있는지 확인해 보시고, 없으면 C:\Users\user\AppData\Local\Temp\ 디렉터리내 화일을 모두 삭제하세요.(삭제되는것만...)
그리고 osmsos명려어 줄에 type=hd 옵션만 추가해서 실행해 보세요.
실패하면, 출력된 메세지와 set 환경값, 시스템 사양을 올려 주세요.