/ proc / <pid> / limits中的Max进程是否表示该进程的最大子进程数</pid>

时间:2014-03-04 00:16:33

标签: linux process

/ proc //限制中的Max进程表示什么?

它是否表示该进程的最大子进程数?

如何在linux中限制运行时特定进程的子进程数?

cat /proc/<pid>/limits

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             29397                29397                processes 
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       29397                29397                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us        

1 个答案:

答案 0 :(得分:0)

这个号码正是您在getrlimitRLIMIT_NPROC所做的。这在手册页中进行了描述:

  

最大进程数(或者更确切地说,在Linux上,线程)   可以为调用进程的真实用户ID创建。   遇到此限制时,fork(2)失败并显示错误EAGAIN。

因此,每次分叉系统都会检查所有进程,然后再将此进程转换为fork。如果您降低某个进程的限制 - 可能使用ulimit进行shell或使用setrlimit - 系统仍会计算所有进程,但会根据新限制检查数字。