我運行一個Java應用程序,收到此消息:我的記憶力夠了嗎?
Exception in thread "main" java.lang.OutOfMemoryError: Cannot allocate new BytePointer(1200): totalBytes = 3G, physicalBytes = 7G
at org.bytedeco.javacpp.BytePointer.<init>(BytePointer.java:103)
at org.nd4j.compression.impl.NoOp.compressPointer(NoOp.java:73)
at org.nd4j.compression.impl.AbstractCompressor.compress(AbstractCompressor.java:131)
at org.nd4j.compression.impl.AbstractCompressor.compress(AbstractCompressor.java:103)
at org.nd4j.storage.CompressedRamStorage.store(CompressedRamStorage.java:68)
at org.deeplearning4j.models.embeddings.loader.WordVectorSerializer.loadStaticModel(WordVectorSerializer.java:2638)
at com.dl.SentimentClassifier.main(SentimentClassifier.java:76)
Caused by: java.lang.OutOfMemoryError: Physical memory usage is too high: physicalBytes = 7G > maxPhysicalBytes = 7G
at org.bytedeco.javacpp.Pointer.deallocator(Pointer.java:572)
at org.bytedeco.javacpp.Pointer.init(Pointer.java:121)
at org.bytedeco.javacpp.BytePointer.allocateArray(Native Method)
at org.bytedeco.javacpp.BytePointer.<init>(BytePointer.java:95)
我的Windows筆記本電腦有16G內存,我作爲設置Java堆大小的IntelliJ:
-Xms128m
-Xmx10G
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
什麼消息指?我想它說Java應用程序需要7G內存,我的堆設置是> 7G。如果是這樣,爲什麼它會發送OutofMemory錯誤?
發佈完整的堆棧跟蹤。 – shmosel
@shmosel,請參閱。 – user697911
https://stackoverflow.com/questions/44598965/physical-memory-usage-is-too-high – shmosel