2017-12-15 43 views
0

Oracleから宛先サーバー(ElasticSearch)にデータをコピーするjarファイルを実行しています。私はjarファイルを実行するとjava.lang.OutOfMemoryError:ネイティブ・メモリーが使い果たされました

/oradata/slscrmit/tally> oslevel -s

7100-04-03-1642

uname -a AIX mila 1 7 00F79AB04C00.

が、私はこのエラーを取得する:リンクテキストは、私はAIXボックスに、このjarファイルを実行しています コマンドを実行するために使用: java -Xms3g -Xmx3g -Xmn1g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:MetaspaceSize=500m -XX:MaxMetaspaceSize=500m -XX:SurvivorRatio=2 -jar -Dlog4j.configurationFile=file:log4j2.xml -Dfile.encoding=UTF-8 BoltESTally-1.4.3-Ver-1.0.jar initload。

==================== ERROR ===============

JVMDUMP039I Processing dump event "systhrow", detail "java/lang/OutOfMemoryError" at 2017/12/15 08:24:21 - please wait. JVMDUMP032I JVM requested System dump using '/oradata/slscrmit/tally/core.20171215.082421.39781194.0001.dmp' in response to an event Note: "Enable full CORE dump" in smit is set to FALSE and as a result there will be limited threading information in core file. JVMDUMP010I System dump written to /oradata/slscrmit/tally/core.20171215.082421.39781194.0001.dmp JVMDUMP032I JVM requested Heap dump using '/oradata/slscrmit/tally/heapdump.20171215.082421.39781194.0002.phd' in response to an event JVMDUMP010I Heap dump written to /oradata/slscrmit/tally/heapdump.20171215.082421.39781194.0002.phd JVMDUMP032I JVM requested Java dump using '/oradata/slscrmit/tally/javacore.20171215.082421.39781194.0003.txt' in response to an event JVMDUMP010I Java dump written to /oradata/slscrmit/tally/javacore.20171215.082421.39781194.0003.txt JVMDUMP032I JVM requested Snap dump using '/oradata/slscrmit/tally/Snap.20171215.082421.39781194.0004.trc' in response to an event JVMDUMP010I Snap dump written to /oradata/slscrmit/tally/Snap.20171215.082421.39781194.0004.trc JVMDUMP013I Processed dump event "systhrow", detail "java/lang/OutOfMemoryError". Dec 15, 2017 8:24:23 AM org.elasticsearch.transport.netty.NettyInternalESLogger warn WARNING: Unexpected exception in the selector loop. java.lang.OutOfMemoryError: native memory exhausted at sun.misc.Unsafe.allocateDBBMemory(Native Method) at java.nio.DirectByteBuffer.(DirectByteBuffer.java:127) at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) at org.elasticsearch.common.netty.channel.socket.nio.SocketReceiveBufferAllocator.newBuffer(SocketReceiveBufferAllocator.java:64) at org.elasticsearch.common.netty.channel.socket.nio.SocketReceiveBufferAllocator.get(SocketReceiveBufferAllocator.java:41) at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:62) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318) at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:785).

=== ========================

SVMON OUTPUT:

はPidコマンドINUSEピンPgsp仮想64ビットMthrd 16メガバイト 24315106のjava 796276 11137 0 779119 NYN

PageSize    Inuse  Pin  Pgsp Virtual 

s 4 KB    18356  225   0  1199 

m 64 KB    48620  682   0  48620 
L 16 MB     0   0   0   0 
S 16 GB     0   0   0   0 

Vsid  Esid Type Description    PSize Inuse Pin Pgsp Virtual 

169bfe6 4ワーク共有メモリセグメントM 4096 0 0 4096

84ba04 Eワーク共有メモリセグメントM 4096 0 0 4096

1025d8c 7ワーク共有メモリセグメントM 4096 0 0 4096

13225a5 6ワーク共有メモリセグメントM 4096 0 0 4096

119a981 Cワーク共有メモリセグメントM 4096 0 0 4096

14349c 8ワーク共有メモリセグメントM 4096 0 0 4096

1c2ed4eさdワーク共有メモリセグメントM 4096 0 0 4096

2e9eaf 9ワーク共有メモリセグメントM 4096 0 0 4096

7854f1 5ワーク共有メモリセグメントM 4096 0 0 4096

f2b266 Fワーク共有メモリセグメントM 4095 0 0 4095

181650eワーク共有メモリセグメントM 4090 0 0 4090

20002 0ワークカーネルセグメントM 743 681 0 743

2681 0 0 2681 1d42b52 3作業の作業ストレージM ====================== =============================: 私は私のエクボックスに十分なスペースを持っている: のvmstat:

システム構成を: LCPU = 128 MEM = 256512M

kthrメモリページフォルト、CPU


RB AVM FRE SY CS米国における再PI経口FR SRはCY SYのID WA

NON-PROD:!:_mila:/oradata/slscrmit/tally> oslevel -s

のuname -a

7100-04-03-1642

NON-PROD :!:_mila:/ oradataに/ slscrmit /タリー>のuname -a

AIXミラ1~7 00F79AB04C00

filestyatemのスペースもあります: の/ dev/slscrmit_oradt 2118.50 2024.41 94.09 96%/ oradataに/ slscrmit

enter image description here

+0

あなたの質問は何ですか?また、私はソースコードがないことに注意してください – Vorsprung

+0

私はこのエラーを解決したい:java.lang.OutOfMemoryError:java.nio.DirectByteBufferのsun.misc.Unsafe.allocateDBBMemory(ネイティブメソッド)でネイティブメモリが使い果たされた。 – NehaGoswami

答えて

0

私はこの問題を解決することができました:::

根本原因: 32ビットJVMは、Javaのヒープメモリとネイティブメモリトンを拡大する上での技術的な制限がありますo 2GB以上。 setenv.shファイルが含まれています。 32ビットJVMに

ソリューション指していた「輸出JAVA_HOME =は/ usr/java8/binに「、:。? 目標はJVMを64ビットを指すようにあるの もKERNEL_BITMODE getconfコマンドを使用して、カーネル・ビット・モードは64ビットであることを確認してくださいこのファイルの時点で必ず他のエントリを作成し

のjava -d64 -version

すべてのAIXボックスにJVMを64ビットを指すように正しいsetenv.sh、輸出JAVA_HOME =は/ usr/java8_64 :コマンドを使用して64ビットJVMのバージョンを確認しますこのJAVA_HOMEに。

jarを実行し、必要なヒープサイズのコマンドラインパラメータを指定します。私は10gのヒープサイズでこれを実行することができました。

関連する問題