訪問HBase遇到java.lang.OutOfMemoryError: unable to create new native thread的解決方法
在HBase使用的過程中,通過java程式查詢HBase資料時,在某機器上hbase使用者下壓測時遇到這個問題,導致程式異常掛掉。在網上google了一下,發現原因是:
當前使用者下無法建立更多的執行緒(當然root使用者沒這個問題)
HBase 的doc中有相關描述:http://hbase.apache.org/0.94/book/trouble.rs.html
下面是解決方案:
系統能夠建立的最大執行緒數:(MaxProcessMemory - JVMMemory – 系統記憶體) / (ThreadStackSize) = Number of threads
有兩種方式:
1. 減少xxx下的ThreadStackSize
2. 增加xxx下的nproc數量
修改
[[email protected]]$ ulimit -a
core filesize (blocks, -c) 0
data segsize (kbytes, -d)unlimited
schedulingpriority (-e) 0
filesize (blocks, -f) unlimited
pendingsignals (-i) 256636
max lockedmemory (kbytes, -l) 64
max memorysize (kbytes, -m) unlimited
openfiles (-n) 65536
pipesize (512bytes, -p) 8
POSIX messagequeues (bytes, -q) 819200
real-timepriority (-r) 0
stacksize (kbytes, -s) 10240-----可以減小這個,建議在jvm –xss中減少
cputime (seconds, -t) unlimited
max userprocesses (-u) 1024-----可以增加這個到65535
virtualmemory (kbytes, -v)unlimited
filelocks (-x) unlimited
修改/etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
xxx soft nproc 65535
xxx hard nproc 65535
xxx soft stack 1024
xxx hard stack 1024
其中 xxx表示啟動hbase的使用者,如使用hadoop啟動hbase,則配置如下:
* - nproc 102400
* - nofile 102400
hadoop hard nproc 65535
hadoop soft nproc 65535
hadoop hard stack 1024
hadoop soft stack 1024
本文參考文章http://beyond3518.blog.51cto.com/1360525/1764190,但是文章中說,改成32000就可以,在某些情況下可能不夠(當前改成32000依舊出現上述問題)。所以需要適當調大(此處調大到65535就可以了。)
相關推薦
訪問HBase遇到java.lang.OutOfMemoryError: unable to create new native thread的解決方法
在HBase使用的過程中,通過java程式查詢HBase資料時,在某機器上hbase使用者下壓測時遇到這個問題,導致程式異常掛掉。在網上google了一下,發現原因是: 當前使用者下無法建立更多的執行緒(當然root使用者沒這個問題) HBase 的doc
經常遇到的java.lang.OutOfMemoryError: unable to create new native thread解決方法
簡單分享一下,類似問題的解決方法 剛才在某機器上上xxx使用者下壓測時遇到這個問題,連xxx都進不去了 說明xxx使用者下無法建立跟多的執行緒了(當然root使用者沒這個問題) 系統能夠建立的最大執
java.lang.OutOfMemoryError: unable to create new native thread解決方法
我們使用Mysql,偶爾會出現OutOfMemoryError,這時候jvm堆中還有很多記憶體,下面是出錯的堆疊資訊: java.lang.OutOfMemoryError: unable to create newnative thread at java.lan
hbase-建立連線報錯 java.lang.OutOfMemoryError: unable to create new native thread
最近在本地電腦上連線hbase 出現錯誤 找到一篇不錯的部落格,在此記錄一下,希望能給遇到類似問題的同學提供參考 報錯資訊: java.util.concurrent.ExecutionException: java.lang.RuntimeExcept
關於“java.lang.OutOfMemoryError : unable to create new native Thread”的報錯問題
ulimit命令 既然 tps spa 好的 tiger src targe new 轉自:https://www.cnblogs.com/flying-tiger/p/5956926.html java.lang.OutOfMemoryError : unable t
java.lang.OutOfMemoryError: unable to create new native thread
1,使用 ulimit -a或者ulimit -u查詢當前機器設定的執行緒數 :4096 2,用jstack pid>xxx.txt 3,然後檢視 -Xss的大小,這個一般是制約因素
JVM 系列二:java.lang.OutOfMemoryError: unable to create new native thread
問題描述 Java程式執行過程中丟擲java.lang.OutOfMemoryError: unable to create new native thread,如下所示: java.lang.OutOfMemoryError: unable to create new
Centos中普通使用者啟動多個Dubbo服務出現java.lang.OutOfMemoryError: unable to create new native thread
當在同一臺Centos伺服器上用普通使用者啟動多個dubbo服務時出現呼叫異常,檢視日誌發現是以下錯誤: 2016-07-06 16:23:48.806 [New I/O server boss #1 ([id: 0x55fcd7d6, /0:0:0:0:0:0:0:0:2
由dubbo引起的 java OutOfMemoryError unable to create new native thread
先說明結果: 由於linux預設限制1024個執行緒,執行7個tomcat,一個大概150個執行緒左右,外加其中有兩個dubbo佔用了200*2個執行緒,超過1024限制時會出此錯。 解決方法:
解決OutOfMemoryError: unable to create new native thread問題
java.lang.OutOfMemoryError共有8種類型,其中java.lang.OutOfMemoryError: unable to create new native thread是很常見的一種,這類錯誤通常發生在應用試圖建立新執行緒時。 可能原因 1. 系
問題:java.lang.OutOfMemoryError: unable to create new native thread
這個問題 搜一下解決方法還是挺多的,但是我看了下 大多都是分開講的,我這裡稍微總結下,參考在最後。 原因 根本原因是不能建立更多的執行緒了 具體原因分兩種 1、 非root使用者下 系統對最大執行緒數的限制,切換root使用者 檢視是否還有問題 2
關於服務程序申請執行緒數量的限制unable to create new native thread
在跑某個web服務的時候出現了以下異常 unable to create new native thread 執行此服務的使用者能申請的最大的執行緒數量是1024 修改配置檔案 vi /etc/security/limits.d/90-nproc.conf
Tomcat空間不足:java.lang.IllegalStateException: Unable to create the directory [/tmp/tomcat.]
今天在伺服器部署專案的時候遇到了專案無法啟動的錯誤,仔細一看異常: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is java.lang
出現 java.lang.OutOfMemoryError: PermGen space 錯誤的原因及解決方法
出現 java.lang.OutOfMemoryError: PermGen space 錯誤的原因及解決方法 2017年04月07日 15:55:41 維C果糖 閱讀數:7852 標籤: tomcat exception out memory 更多 個人分類: 異常及錯誤 版權宣告
java.lang.IllegalAccessException: access to class not allowed 錯誤解決方法
一個Actiivty進入另一個Actiivty時報的錯誤 錯誤原因: 因為目標Activity的許可權不是public class ***Activity 改為 public class ***Activity FATAL EXCEPTION: main java.
GNS 3 unable to create generic ethernet NOI 解決方法
做多廠商裝置通過PC互聯實驗的時候(模擬器連線PC的操作方法點選這裡 ),當使用GNS3連線cloud的時候出現了“ Server error from http://127.0.0.1:3080:
Android開發中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}
net 控件 view etc spi pos rst ack data Android開發中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullP
用idea+maven編譯打包spark project core錯誤:java.lang.RuntimeException: Unable to load a Suite class
ide exception 5-0 sco anon time arp create run Discovery starting. *** RUN ABORTED *** java.lang.RuntimeException: Unable to load a Su
記錄錯誤:java.lang.RuntimeException: Unable to start activity ComponentInfo
android activity打不開,具體錯誤如下: 01-02 00:02:25.495 E/AndroidRuntime( 984): FATAL EXCEPTION: main01-02 00:02:25.495 E/AndroidRuntime( 98
安卓- apk安裝出現閃退java.lang.RuntimeException: Unable to instantiate application
Android Apk安裝出現java.lang.RuntimeException: Unable to instantiate application 08-08 14:50:12.445 29909-29909/? E/AndroidRuntime: FATAL EXCEPTIO