亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JVM內存溢出問題:freeMemory還很大,為什么出現了OOM?

JVM內存溢出問題:freeMemory還很大,為什么出現了OOM?

HUWWW 2019-03-21 16:15:45
我使用java編寫的一個應用程序,用于產生數據插入到HBase數據庫中,但是程序在運行一段時間后就會產生OOM異常:Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native threadat java.lang.Thread.start0(Native Method)at java.lang.Thread.start(Thread.java:640)at java.util.concurrent.ThreadPoolExecutor.addIfUnderCorePoolSize(ThreadPoolExecutor.java:703)at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:652)at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:92)at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatch(HConnectionManager.java:1401)at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchOfPuts(HConnectionManager.java:1499)at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:859)at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:715)at org.apache.hadoop.hbase.client.HTable.put(HTable.java:693)at storm.monitor.hbase.BasicOperation.addRecord(BasicOperation.java:135)at storm.monitor.util.HBase_Operation.insertIntoHBase(HBase_Operation.java:75)at storm.monitor.util.Data_Generator.insertIntoHBase(Data_Generator.java:215)at storm.monitor.util.Data_Generator.run(Data_Generator.java:394)at storm.monitor.util.Data_Generator.init(Data_Generator.java:68)at storm.monitor.util.Data_Generator.(Data_Generator.java:41)at storm.monitor.util.Main_Generator.main(Main_Generator.java:22)可是我在類中獲得Runtime,輸出freeMemory,totalMemory如下free 505328288 total 528154624 max 1037959168,明顯的可用內存還有很多,怎么會出現上述異常呢?在我的類中,方法多是靜態方法,不過全局變量很少使用,一般都是創建的臨時變量,并且是方法結束前都設為null。并且只有一個LinkedList全局對象和幾個多維數組。在eclipse中設置了(x)arguments -Xms512m -Xmx1024m。到底是什么原因導致了OOM呢,整個應用程序中并沒有創建線程的地方。求解惑!
查看完整描述

4 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

是你的線程創建太多,導致可以分配的內存減少。


查看完整回答
反對 回復 2019-04-26
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

線程創建的內存空間占用的是本地文件棧,通過-Xss參數加大本地方法棧大小。


查看完整回答
反對 回復 2019-04-26
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

你用的線程池沒有及時回收吧,導致線程過多,占用太多的內存了


查看完整回答
反對 回復 2019-04-26
  • 4 回答
  • 0 關注
  • 1027 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號