JVM最多能创建多少个线程:unable to create new native thread
来源:互联网 发布:阿基里斯悖论 知乎 编辑:程序博客网 时间:2024/05/22 15:49
本地弄了好几个集群,kafka集群,zookeeper集群,jstorm集群,然后,jstorm提交任务就出现这错,启动了tomcat jstorm 监控,启动了kafka-web监控,
一时间不知道怎么解决才好,只能关掉监控功能,手动打开集群日志查看,才将jstorm任务提交。
搜了一下网页,解决方法如下:我还没试,
最近需要测试一个长连接服务器,数据上需要达到100W的长连接,测试的客户端,一个线程保持一个连接,发现linux服务器默认创建到3200多个线程的时候,就会报错这个错误“java.lang.OutOfMemoryError: unable to create new native thread。而且,此时整个系统都不能创新新的线程了,不能连接终端,不能执行任何命令。
貌似是内存不足,但实际内存尚有富余,经验证,是linux的一些内核参数限制了创建新的线程。
因为要保持长连接,所有先修改客户端保证更大的分配端口范围 修改 /etc/sysctl.conf 添加这样一行: net.ipv4.ip_local_port_range = 1024 61000
修改系统参数
echo "100000" > /proc/sys/kernel/threads-maxecho "100000" > /proc/sys/kernel/pid_max (默认32768)echo "200000" > /proc/sys/vm/max_map_count (默认65530)修改/etc/security/limits.conf * - nproc 999999
* - nofile 999999
PS:nproc是修改系统的max user processes大小;nofile 是修改open files的大小,另外linux 2.6.25内核之前有个宏定义,定义了这个值的最大值,为1024*1024,正好是100万,而在2.6.25内核及其之后,这个值是可以通过/proc/sys/fs/nr_open来设置,不过,999999足够用了。
很多人可能会遇到,只能启动32000多个线程就不能再起更多的线程了,其实就是pid_max = 32768 给限制住了
0 0
- JVM最多能创建多少个线程: unable to create new native thread
- JVM最多能创建多少个线程:unable to create new native thread
- JVM最多能创建多少个线程: unable to create new native thread
- JVM最多能创建多少个线程: unable to create new native thread
- JVM最多能创建多少个线程: unable to create new native thread
- JVM最多能创建多少个线程: unable to create new native thread
- Java中OutOfMemoryError与unable to create new native thread(JVM创建大量线程)的关系
- Java中OutOfMemoryError与unable to create new native thread(JVM创建大量线程)的关系
- Java中OutOfMemoryError与unable to create new native thread(JVM创建大量线程)的关系
- Java中OutOfMemoryError与unable to create new native thread(JVM创建大量线程)的关系
- Java中OutOfMemoryError与unable to create new native thread(JVM创建大量线程)的关系
- JVM - java.lang.OutOfMemoryError: unable to create new native thread
- 线程ava.lang.OutOfMemoryError: unable to create new native thread
- OutOfMemoryError: unable to create new native thread.无法创建新的线程
- 记一次tomcat线程创建异常调优:unable to create new native thread
- java.lang.OutOfMemoryError: unable to create new native thread无法创建本地线程分析
- OutOfMemoryError: unable to create new native thread
- myeclipse unable to create new native thread
- 动漫推荐之一周的朋友
- 在ubuntu 14.04上解决gedit中文乱码的问题
- 用栈解决括号配对问题
- 【沟通的艺术】你能勾住你的听众么?
- cocos2d-x+lua开发模式下编辑器的选择
- JVM最多能创建多少个线程:unable to create new native thread
- C/C++的一些关于字符数组和指针的小总结
- UEditor的使用
- iOS开发教程:Storyboard全解析-第一部分
- 数据结构 第三章 栈和队列
- android 编译调用C代码
- 【沟通的艺术】一次技术演讲的自我反省
- C5_二维数组,字符串数组,多维数组
- Linux Daemon learning