小智 47
您的内核应该将此信息导出到procfs:
cat /proc/sys/kernel/pid_max
Run Code Online (Sandbox Code Playgroud)
这是系统可以支持的唯一进程标识符的最大数量.
由于它是一个文件,/proc/sys/kernel/pid_max可以从任何有能力的编程语言进行检查.
Les*_*ung 20
sysctl kernel.pid_max
要么
cat/proc/sys/kernel/pid_max
正如Ninefingers所建议的那样.
为了完整起见,您可以通过写入/ proc/syskernel/pid_max或通过添加以下内容永久地更改它:
kernel.pid_max = 4194303
到/etc/sysctl.conf.4194303是x86_64的最大限制,x86是32767.
Ank*_*hal 16
简短回答你的问题:linux系统中可能的进程数是无限的.
但是每个用户的进程数量有限制(除了没有限制的root用户).
您可以使用以下命令检查用户限制(适用于"最大用户进程").
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 256447
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 128000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 500000
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Run Code Online (Sandbox Code Playgroud)
如果您想增加特定用户的进程数限制(例如:hadoop),您需要在/etc/security/limits.conf中输入以下内容
hadoop - nproc 500000
Run Code Online (Sandbox Code Playgroud)
小智 5
kernel.pid_max是一个限制因素,但至少同样重要kernel.threads-max.值得注意的是,每个用户的默认nproc ulimit kernel.threads-max除以2,并且每个线程都计入用户的nproc限制.因此,ps -u $USER可能会使用户看起来没有用尽他们的nproc限制,但ps -L -u $USER可能会说出一个非常不同的故事.
| 归档时间: |
|
| 查看次数: |
166012 次 |
| 最近记录: |