原文网址:https://www.youyong.top/article/1158e37cb1b2
云服务器 ECS Linux 系统进程关联线程数统计及调整说明
原文网址:https://www.youyong.top/article/1158e37cb1b2
云服务器 ECS Linux 系统进程关联线程数统计及调整说明
原文网址:https://www.youyong.top/article/1158e37cb1b2
Linux 系统下,可以通过以下三种方式查询应用程序(进程)创建了多少线程(thread)。
首先,通过 ps 等指令,查询目标进程的进程 ID(PID):
# 以 ssh 进程为例ps -ef | grep ssh
root
874 1 0 May31 ? 00:00:01 /usr/sbin/sshd -Droot 3957 874 0 09:59 ? 00:00:00 sshd: root@pts/0
root
3993 3959 0 09:59 pts/0 00:00:00 grep —color=auto ssh- # 第二列即为相应进程的 PID 号
然后,通过如下指令,结合相应进程的 PID 查询其已创建线程数:
格式:cat /proc/$PID/status
示例:$ cat /proc/874/status | grep Thread
Threads: 1 #说明当前该进程创建的线程数为 1
进程每创建一个线程,系统会在 /proc/$PID/task 目录下创建一个子目录,目录名即为线程 ID。通过统计相应进程对应 task目录下的子目录数量即可统计出线程数量。操作说明如下。
首先,同样的,参阅前述说明,通过 ps 等指令,查询目标进程的进程 ID(PID)。
然后,通过如下指令,结合相应进程的 PID 查询其已创建线程数:
格式:ls /proc/$PID/task | wc -l
示例:$ ls /proc/874/task | wc -l
1 # 返回的数值即为相应进程创建的线程数。
通过 ps 指令也可以统计进程关联线程数。说明如下。
首先,同样的,参阅前述说明,通过 ps 等指令,查询目标进程的进程 ID(PID)。
然后,通过如下指令,结合相应进程的 PID 查询其已创建线程数:
格式:ps hH p $PID | wc -l
参数说明:-h表示不显示标题 -H表示显示进程的层级关系 $PID是相应进程的进程号
示例:$ ps hH p 874 | wc -l1# 返回的数值即为相应进程创建的线程数。
指令:ulimit -a | grep
示例输出:$ ulimit -a | grep processesmax user processes
(-u) 7812
#max user processes 右侧的数值即表示当前单用户可创建的最大线程总数
共 0 条留言