Dubbo线程模型(结合Linux线程数限制配置的实战经验分享)

简介:

Dubbo官方文档:
用户指南 >> 示例 >> 线程模型

配置标签:

<dubbo:provider/>
<dubbo:protocol/>


实战经验分享(属用性能调优):
Linux用户线程数限制导致的java.lang.OutOfMemoryError: unable to create new native thread 异常

# vi /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
root       soft    nproc     unlimited
*         soft    nproc     20480

调整时要注意:
1、 尽量不要使用root用户来部署应用程序,避免资源耗尽后无法登录操作系统。
2、 普通用户的线程数限制值要看可用物理内存容量来配置

计算方式:
default_nproc = total_memory/128K;

$ cat /proc/meminfo |grep MemTotal
$ echo "5993104 / 128"| bc
$ ulimit -u

ulimit -a # 显示目前资源限制的设定
ulimit -u # 用户最多可开启的程序数目

重启,使之生效:# reboot

参考:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53

目录
相关文章
|
4月前
|
消息中间件 存储 缓存
【嵌入式软件工程师面经】Linux系统编程(线程进程)
【嵌入式软件工程师面经】Linux系统编程(线程进程)
103 1
|
1月前
|
Dubbo Java 应用服务中间件
微服务框架Dubbo环境部署实战
微服务框架Dubbo环境部署的实战指南,涵盖了Dubbo的概述、服务部署、以及Dubbo web管理页面的部署,旨在指导读者如何搭建和使用Dubbo框架。
103 17
微服务框架Dubbo环境部署实战
|
18天前
|
缓存 负载均衡 Dubbo
Dubbo技术深度解析及其在Java中的实战应用
Dubbo是一款由阿里巴巴开源的高性能、轻量级的Java分布式服务框架,它致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
43 6
|
3月前
|
缓存 编译器 Go
开发与运维线程问题之Go语言的goroutine基于线程模型实现如何解决
开发与运维线程问题之Go语言的goroutine基于线程模型实现如何解决
51 3
|
2月前
|
Dubbo Java Nacos
【实战攻略】破解Dubbo+Nacos+Spring Boot 3 Native打包后运行异常的终极秘籍——从零开始彻底攻克那些让你头疼不已的技术难题!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但使用Dubbo+Nacos+Spring Boot 3进行GraalVM native打包后常遇运行异常。本文剖析此问题及其解决策略:确认GraalVM版本兼容性;配置反射列表以支持必要类和方法;采用静态代理替代动态代理;检查并调整配置文件;禁用不支持的功能;利用日志和GraalVM诊断工具定位问题;根据诊断结果调整GraalVM配置。通过系统排查方法,能有效解决此类问题,确保服务稳定运行。
75 0
|
2月前
|
缓存 Dubbo Java
Dubbo线程模型设计解析
该文章主要介绍了Dubbo线程模型的设计解析,包括Dubbo作为一个支持大量并发请求的网络框架的特点,以及其线程模型的工作原理。
|
4月前
|
Dubbo Java 应用服务中间件
Spring Boot 调用 Dubbo 接口与编写 Dubbo 接口实战
Spring Boot 调用 Dubbo 接口与编写 Dubbo 接口实战
392 1
|
4月前
|
API
linux---线程互斥锁总结及代码实现
linux---线程互斥锁总结及代码实现
|
4月前
|
Linux API
Linux线程总结---线程的创建、退出、取消、回收、分离属性
Linux线程总结---线程的创建、退出、取消、回收、分离属性
|
4月前
|
API
Linux---线程读写锁详解及代码实现
Linux---线程读写锁详解及代码实现