OutOfMemoryError: unable to create new native thread.

news2024/11/26 0:38:35
在java应用中,有时候会出现这样的错误:OutOfMemoryError: unable to create new native thread.
现象
1. 这种怪事是因为JVM已经被系统分配了大量的内存(比如1.5G),并且它至少要占用可用内存的一半;
2. 在线程个数很多的情况下,你分配给JVM的内存越多,上述错误发生的可能性就越大。
分析
根据能够创建线程的最大个数的估算公式:
(MaxProcessMemory - JVMMemory - ReservedOsMemory) / (ThreadStackSize) = Number of threads
每一个32位的进程最多可以使用2G的可用内存,因为另外2G被操作系统保留。这里假设1.5G给JVM,操作系统保留120M内存:
对于jdk1.5而言,栈大小为 1M
1.5GB allocated to JVM: (2GB-1.5Gb-120MB)/(1MB) = ~380 threads
1.0GB allocated to JVM: (2GB-1.0Gb-120MB)/(1MB) = ~880 threads
对于jdk1.4而言,栈大小为 256KB
1.5GB allocated to JVM: ~1520 threads
1.0GB allocated to JVM: ~3520 threads
方案:
1. 减少分配给JVM的最大内存
2. 通过-Xss / -XX:ThreadStackSize减少线程最大栈空间大小
2. 还有一种做法是让JVM宿主在你的JNI代码里边

在这里插入图片描述

参考: (java进程里如何估算jvm最大线程数)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/724749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑便签怎么嵌入桌面使其不可移动呢?

很多人在使用电脑便签的时候,为了更方便地查看和记录事情,经常会有一种需求:将电脑便签固定在桌面底层,也就是嵌入桌面,并且让他不可移动。要想实现这种效果的话,应该如何设置才可以呢?以Window…

kettle/spoon工具的表输入/输出组件更新数据很慢

看了很多关于表输出速度慢的博客感觉有两条对我有作用。 我的问题是表输出(insert)速度很快,但是插入/更新组件的速度特别忙。 表输出速度慢 mysql表输出的时候出现减速的原因可能是因为网络链接的属性设置 在数据库连接里添加参数&#xf…

ModaHub魔搭社区:如何安装、部署和使用 Milvus Lite?

目录 如何安装、部署和使用 Milvus Lite? 总结 如何安装、部署和使用 Milvus Lite? 准备工作 在正式安装 Milvus Lite 以前,需要做足以下准备: 安装 Python 3.7 或更高版本。 使用下述任何一个经过验证的操作系统:Ubuntu > 20.04 …

【MySQL入门到精通-黑马程序员】MySQL基础篇-概述及MySQL环境配置

文章目录 前言一、MySQL概述1.1 数据库相关概念1.2 MySQL数据库 二、数据模型三、总结 前言 本专栏文章为观看黑马程序员《MySQL入门到精通》所做笔记,课程地址在这。如有侵权,立即删除。 一、MySQL概述 1.1 数据库相关概念 数据库(DataBas…

FreeRTOS实时操作系统(十一)队列集

系列文章目录 文章目录 系列文章目录队列集简介相关API函数队列集创建函数队列集中移除函数队列集中获取有消息的队列 实验测试: 队列集简介 队列只允许传递一种数据类型,队列集可以传递多种消息。 作用:用于对多个队列或信号量进行“监听”…

PicoNeo neo入门教程2 SDK

目前在使用的是Unity XR SDK V2.x, 当前版本2.2.0版本 查看文档,有更新日志。 api接口:API 接口函数 - PICO 开发者平台

Pytorch TensorRT 安装使用流程

1.安装GPU驱动与Cudnn(注意版本对应) 2.安装TensorRT 安装流程1 安装流程2 3. 权值.pth文件转为Onnx 3.Onnx 文件本地化 .engine 文件(与本机算力有关) 执行命令: trtexec --onnx./resnet.onnx --saveEngineresn…

MongoDB【MongoDB应用实战】(四)-全面详解(学习总结---从入门到深化)

目录 MongoDB应用实战 多键索引 多键索引用于为数组中的元素创建索引 先创建集合inventory,使用下面的数据来创建多键索引 [{ _id: 5, type: "food", item: "aaa", ratings:[ 5, 8, 9 ] }, { _id: 6, type: "food", item: "b…

2023年7月4日 星期二 linux驱动作业

Linux内核驱动开发板的灯的实验 头文件 #ifndef __HEAD_H__ #define __HEAD_H__#define PHY_LED1_MODER 0X50006000 #define PHY_LED1_ODR 0X50006014 #define PHY_RCC 0X50000A28#define PHY_LED2_MODER 0X50007000 #define PHY_LED2_ODR 0x50007014#define PHY_LED…

LK409.最长回文字符串

题目描述 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。 在构造过程中,请注意 区分大小写 。比如 “Aa” 不能当做一个回文字符串。 解题思路 有两种情况可以构成回文字符串: 1.全部字符呈偶数对出现 2.一…

simulink 仿真时间 求解器 数据类型 delay模块

仿真时间,模型运行的时长 显示数据类型,改完数据类型后要run一次才能正常显示更改后的类型 delay模块,延时步长 综合训练 搭建一个累加器,每次调用1 //c语言 static int a 0; a;

一次搞懂ArrayBuffer和Unit8Array(TypedArray)和Array!

实现入职第三天,用到了公司自研框架里面的网络请求,返回的数据会被自动改成ArrayBuffer类型,研究了半天没明白ArrayBuffer怎么转成字符串数据,看了mentor发来的示例代码,经过一番研究也是明白了ArrayBuffer和它相关的东…

Python基础教程:读写文件IO操作

Python 是一门优秀的开发语言,它不仅是一种动态的脚本语言,还支持多种应用场景。在 Python 中,我们可以使用文件和 I/O 操作来读取和写入文件。它比起其他编程语言,使用更加方便。 1.读写文本文件 在 Python 中,读写…

【轴承RUL预测代码】基于DRSN(深度残差收缩网络)

DRSN(深度残差收缩网络)和完整Transformer(encoderdecoder) DRSN(深度残差收缩网络)模型的代码模型的打印训练与预测训练集的可视化:测试集的可视化: DRSN-TCN的效果 DRSN&#xff0…

贝叶斯与认知——读《贝叶斯的博弈》有感

关于对贝叶斯与认知问题的相关思考 一、贝叶斯定理二、贝叶斯与认知的本质三、经验的偏见四、总结 自古以来,人们就在思考知识来自何处,“冯翼惟象,何以识之?”,对此的思考逐渐发展成哲学的认识论分支。德国哲学家康德…

二十三种设计模式第十六篇--观察者模式

观察者模式是一种行为型设计模式,它建立了一种对象间的一对多依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这种模式可以实现对象间的松耦合通信,提高系统的可扩展性和灵活性。 观察者模…

开源白盒 静态代码分析对比

背景 源代码安全检测是安全开发流程(SDL)中非常重要的一部分,在58集团的CI/CD流程里面临每天几千数量级的构建及发布,白盒检测的自动化能力显得极为重要。白盒扫描从漏洞发现的需求转变为了需要适应企业CI/CD流程的白盒建设需求&…

Win2008 IIS TLS1.0升级到TLS1.2或TLS1.3

最近chrome和Edege浏览器已经把TLS 1.0标记为不安全了。 如果是开发网站,而使用的TLS 1.0,则直接打开不网站,也没有醒目的提示,你很难知道问题所在,总以为是SSL安装失败了,其实是TSL版本太低了。 如果是开…

密码学学习笔记(六):Hash Functions - 哈希函数2

哈希函数是怎么构成的? Merkle–Damgrd结构 哈希函数需要能够处理任意长度的输入。许多散列函数,例如MD5、SHA-1、SHA-2,都是由构建块(称为压缩函数)组成的,这些构建块可以处理特定的块大小,并…

SSM 整合 Shiro 安全框架【快速入门】

一、搭建ssm工程&#x1f349; 1.创建工程&#x1f95d; 更改web路径 创建所需目录 2.引入依赖&#x1f95d; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"h…