Linux系统进程关联线程数如何统计及调整?

赞赏 2016-07-14

云服务器 ECS Linux 系统进程关联线程数统计及调整说明


进程关联线程数统计说明


Linux 系统下,可以通过以下三种方式查询应用程序(进程)创建了多少线程(thread)。

  • 通过  /proc/$PID/status 进行查看
  • 通过 /proc/$PID/task 目录下的目录数判断线程数量
  • 通过 ps 命令统计线程

通过  /proc/$PID/status 进行查看

首先,通过 ps 等指令,查询目标进程的进程 ID(PID):

  1. # 以 ssh 进程为例ps -ef | grep ssh
  2. root       874     1  0 May31 ?        00:00:01 /usr/sbin/sshd -D
  3. root      3957   874  0 09:59 ?        00:00:00 sshd: root@pts/0
  4. root      3993  3959  0 09:59 pts/0    00:00:00 grep —color=auto ssh
  5. # 第二列即为相应进程的 PID 号

然后,通过如下指令,结合相应进程的 PID 查询其已创建线程数:

  1. 格式:cat /proc/$PID/status
  2. 示例:$ cat /proc/874/status | grep Thread
  3. Threads:    1 #说明当前该进程创建的线程数为 1

通过 /proc/$PID/task 目录下的目录数判断线程数量

进程每创建一个线程,系统会在 /proc/$PID/task 目录下创建一个子目录,目录名即为线程 ID。通过统计相应进程对应 task目录下的子目录数量即可统计出线程数量。操作说明如下。

首先,同样的,参阅前述说明,通过 ps 等指令,查询目标进程的进程 ID(PID)。

然后,通过如下指令,结合相应进程的 PID 查询其已创建线程数:

  1. 格式:ls /proc/$PID/task | wc -l
  2. 示例:$ ls /proc/874/task | wc -l
  3. 1 # 返回的数值即为相应进程创建的线程数。

通过 ps 命令统计线程

通过 ps 指令也可以统计进程关联线程数。说明如下。

首先,同样的,参阅前述说明,通过 ps 等指令,查询目标进程的进程 ID(PID)。

然后,通过如下指令,结合相应进程的 PID 查询其已创建线程数:

  1. 格式:ps hH p $PID | wc -l
  2. 参数说明:-h表示不显示标题 -H表示显示进程的层级关系 $PID是相应进程的进程号
  3. 示例:$ ps hH p 874 | wc -l1# 返回的数值即为相应进程创建的线程数。

Linux 系统无法创建线程错误原因及解决方法


  • 问题描述:
       业务软件或系统日志中可能出现类似如下日志信息:
    unable to create new native thread
  • 问题分析:
    出现该错误,通常是由于系统无法创建更多进程所致。可以使用如下指令查看当前系统最大可创建线程数。    
    1. 指令:ulimit -a | grep
    2. 示例输出:$ ulimit -a | grep processesmax user processes
    3. (-u) 7812 #max user processes  右侧的数值即表示当前单用户可创建的最大线程总数
  •  处理办法:
    根据操作系统的不同,可以参阅该文档修改系统配置文件,调整最大可创建进程数。
登陆后阅读全文
阅读 1453 赞赏 0 有用 0 没用 0 收藏 0 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

相关文章

阿里云·业务运营团队内部的前端构建和工程化工具 Dawn开源

阿里云云盾扫描服务器的的IP段有哪些?

阿里云云盾扫描服务器的的IP段有哪些?

安全组设置允许SSH登录到 Linux 实例

Linux 流控原理,实现,及实例

Linux 如何使用 kpartx 命令读取分区表信息

云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?

Linux Web 环境配置站点的方法

Linux 内核配置问题导致 NAT 环境访问异常

Linux Mac Window网络异常时如何抓包?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章