Linux中pid攒的非常非常大,有什么排查方法吗?

我的笔记本上装了arch,但是似乎一直以来系统的pid增长得非常快,几个小时就可以从3000多一直长到9000多,前段时间电脑开了半个月,pid攒到了20多万。 我试了用audit来监测,我猜测pid增大的原因是有新进程出现,那么我就用audit监测了fork、execve、execveat系统调用,参数如下: -a always,exit -S fork -a always,exit -S execve -a always,exit -S execveat 结果为只记录下了execve的系统调用,但是好像也体现不出来什么结果

现在想请问一下我的排查方法有什么问题吗?还有什么排查建议吗?

系统版本 archlinux 5.14.8-zen1-1-zen 这段时间的常用软件:dwm、fcitx5、chromium、zathura、xmind-2020、alacritty、ranger、st(终端)

20多万?一般pid都不超过三万多吧

cat /proc/sys/kernel/pid_max

我的是4194304

实际上 pid 增长快代表着这段时间你启动的程序的次数也非常多,pid 的分配是线性分配的,即:

1 2 3 4 5 .. n

期间 5 号进程挂掉了,那么新的进程的 pid 会是 n+1

这里还有一点需要注意,thread 的 tid 也在内,如果遇到一个程序有开大量的 thread 的话也会导致这个情况,这里点名批评一下 telegram.

1 个赞

这种的没有必要排查吧,没有太大的实质性作用 等排号排满了之后就回滚回去了

我现在的pid最大的快400万了。。