Linux最大线程数限制及当前线程数查询

最大线程数计算方式:

n = total_memory/128k;

Linux用户线程数限制而导致的程序异常为 java.lang.OutOfMemoryError:unable to create new native thread

查询系统支持的最大进程数与线程数,一般会很大,相当于理论值

/proc/sys/kernel/pid_max

/proc/sys/kernel/threads-max

系统限制某用户下最多可以运行多少进程或线程

当前用户可用最大线程数:ulimit -u

想要修改这个值:
centos 6.*可以修改/etc/security/limits.d/90-nproc.conf
centos 7.*可以修改/etc/security/limits.d/20-nproc.conf

查询当前某程序的线程或进程数

# pstree -p `ps -e | grep java | awk '{print $1}'` | wc -l

# pstree -p 进程号 | wc -l

上面用的是管道,关于管道:管道符号"|"左边命令的输出作为右边命令的输入

查询当前整个系统已用的线程或进程数

pstree -p | wc -l

以上参考https://www.cnblogs.com/nizuimeiabc1/p/5593637.html

zabbix监控当前使用线程数

客户端:使用pstree -p | wc -l为键值

pstree以树结构显示进程,是linux很有用的一个命令,可打印系统当前各个进程父子关系。但是centos7默认并没有安装pstree,所以会有pstree:command not found
实际上在linux平台要安装psmisc包,安装方式使用命令即可:yum install psmisc -y

增加自定义监控项的键值:echo "UserParameter=thread.num,pstree -p | wc -l" >> /etc/zabbix/zabbix_agentd.conf

然后重启zabbix_agentd客户端

服务端:在Template OS Linux模板中添加监控项与触发器,阀值8000

测试,服务端get一下数据,看能不能拿到

/usr/local/zabbix/bin/zabbix_get -s xxx.xxx.xxx.xxx -p 10050 -k 'thread.num'

把阀值临时设为200,看能不能接到告警邮件

linux线程数限制与zabbix监控的更多相关文章

  1. Dubbo入门到精通学习笔记(十一):Dubbo服务启动依赖检查、Dubbo负载均衡策略、Dubbo线程模型(结合Linux线程数限制配置的实战分享)

    文章目录 Dubbo服务启动依赖检查 Dubbo负载均衡策略 Dubbo线程模型(结合Linux线程数限制配置的实战分享) 实战经验分享( ** 属用性能调优**): Dubbo服务启动依赖检查 Du ...

  2. 性能测试 | Linux线程数、进程查询

    I. 最大值查询 1. 最大进程数查询 1 cat /proc/sys/kernel/pid_max 个人阿里云机器(单核2g)上输出如下 1 32768 2. 最大线程数查询 1 cat /proc ...

  3. Linux 线程(进程)数限制分析

    1.问题来源公司线上环境出现MQ不能接受消息的异常,运维和开发人员临时切换另一台服务器的MQ后恢复.同时运维人员反馈在出现问题的服务器上很多基本的命令都不能运行,出现如下错误:2.   初步原因分析和 ...

  4. Linux下查看线程数的几种方法汇总

    Linux下查看线程数的几种方法汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux下查看某个进程的线程数量 pstree命令以树状图显示进程间的关系(display ...

  5. 使用zabbix监控linux的io

    zabbix自带的监控linux的模板中并没有监控io这项,而实际生产中又需要监控io,如何监控呢. 错误的示例 这里我特意贴出错误的示例出来,是因为我在网上搜如何使用zabbix监控io的文章时,好 ...

  6. LINUX最大线程数及最大进程数

    查看最大线程数: cat /proc/sys/kernel/threads-max ulimit User limits - limit the use of system-wide resource ...

  7. dubbo监控活跃线程数

    telnet对应dubbo服务的ip+端口号 status -l 其中的active就是当前的活跃线程数 通过程序定时探测写入DB,再查询渲染出来就好了 监控报警,如果已经有监控平台,可以通过一定的规 ...

  8. Zabbix监控Linux主机设置

          说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配 ...

  9. linux运维、架构之路-Zabbix监控应用及分布式

    一.Zabbix监控集群应用 1.监控端口 net.tcp.listen[port] 检查 TCP 端口 是否处于侦听状态.返回 0 - 未侦听:1 - 正在侦听 net.tcp.port[<i ...

随机推荐

  1. MySQL的binlog有啥用?谁写的?在哪里?怎么配置

    目录 一.唠嗑 二.什么是bin log? 三.它在哪里? 四.bin log的相关配置 五.binlog 有啥用? 六.超有用的参数 sql_log_bin 七.未来几篇文章 推荐阅读 一.唠嗑 文 ...

  2. pag object设模式

    pag object 是自动化测试最佳模式测试之一,它主要体现在对界面交互细节的封装 优点: 减少代码重复,提高测试的可读性,提搞测试用例的可维护性.

  3. selenium 浏览器的操作

    一.浏览器的最大化 #coding=utf-8 from selneium import wbedriver driver = wbedriver.Firefox() #将webdriver 的Fir ...

  4. vue第十八单元(单向数据流 vuex状态管理)

    第十八单元(单向数据流 vuex状态管理) #课程目标 1.理解什么是数据管理模式 2.什么是vuex 3.什么时候使用vuex 4.vuex安装及工作原理 5.vuex语法 #知识点 1.首先来看下 ...

  5. vue原理之-神奇的Object.defineProperty

    vue2.0通过defineProperty进行数据双向绑定 例如:(他接受三个参数,都是必填!) var a= {} Object.defineProperty(a,"b",{ ...

  6. HTTP Error 405.0 - Method Not Allowed 无法显示您正在查找的页面,因为使用了无效方法(HTTP 谓词)。

    将submit改成button即可   因为触发了form表单

  7. Java与C#

    Java和C#都是编程的语言,它们是两个不同方向的两种语言 相同点: 他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态) 区别: 1.c#中的命名空间是namespace ...

  8. Spring Boot使用Maven自定义打包方式

    前言:本文将告诉你如何将程序Jar与与依赖Jar及配置文件分离打包,以下列举了两种不同Maven打包方式,其打包效果一致! 一.第一种Maven打包方式,将jar及resources下全部配置文件,拷 ...

  9. java 合并两个list 并去重

    //两个list合并并去除重复 public static void main(String[] args) throws Exception { List list1 =new ArrayList( ...

  10. 使用pdf.js aspose各种文档转PDF 版本对应license.xml 去水印破解

    在使用pdf.js途中,使用aspose转换的文件一直有水印,在网上找了许多破解办法都是已经失效的,于是乎,就查看了一下jar的源码,找到了版本对应的破解字符(如下):对应版本为 aspose-wor ...