190212-linux线程数、进程查询

文章目录
  1. I. 最大值查询
    1. 1. 最大进程数查询
    2. 2. 最大线程数查询
    3. 3. 用户最大进程数
    4. 4. 用户进程数查询
  2. II. JVM设置
  3. III. 进程的线程数查询
    1. 1. 具体进程的线程数查询
    2. 2. 获取所有java的线程总数
    3. 3. 查询当前用户所有线程数
  4. II. 其他
    1. 1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
    2. 2. 声明
    3. 3. 扫描关注

ssh登录远程服务,忽然提示su: failed to execute /bin/bash: 资源暂时不可用,然后通过root账号登录服务器没有问题,但是使用su切换用户时,依然失败,提示上面的错误,搜索一下可能原因是线程数沾满,杀掉一些占用大量线程的进程即可;然后记录下linux下线程数的相关操作

I. 最大值查询

1. 最大进程数查询

1
cat /proc/sys/kernel/pid_max

个人阿里云机器(单核2g)上输出如下

1
32768

2. 最大线程数查询

1
cat /proc/sys/kernel/threads-max

阿里云机器输出如下

1
14566

3. 用户最大进程数

1
ulimit -u

输出

1
7283

4. 用户进程数查询

1
2
3
4
# 显示所有进程
ps -ef | wc -l
# 显示用户进程
ps uf | wc -l

II. JVM设置

java应用启动时,可以通过设置相关参数来限制

1
2
3
-Xms  #intial java heap size
-Xmx #maximum java heap size
-Xss #the stack size for each thread

III. 进程的线程数查询

1. 具体进程的线程数查询

想知道一个进程开辟了多少个线程,有两种姿势,常见的ps和pstree

1
ps -hH 进程号 | wc -l

或者使用

1
pstree -p 进程号 | wc -l

2. 获取所有java的线程总数

利用管道来做这个统计,如下

1
ps aux | grep java | awk '{print $2}' |  xargs -I {} pstree -p {} | wc -l

3. 查询当前用户所有线程数

不指定具体的进程号即可

1
pstree -p | wc -l

II. 其他

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

一灰灰blog

QrCode

知识星球

goals

# Shell

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×