Linux fork():资源暂时不可用

时间:2015-02-23 03:44:53

标签: linux fork

如何调试以下几点,以找出超出限制的资源的确切原因

  • 当前正在运行的进程数
  • 每个
  • 运行多少个进程
  • 用户为每个进程打开的文件数。
  • 总数没有。所有进程的已打开文件。
  • 否。过程限制开放文件数限制

1 个答案:

答案 0 :(得分:1)

可以通过多种方式实现您想要实现的目标,例如:您可以通过评估/ proc / fs获得所需的所有信息。下面是可用于调试实际资源问题的实用程序列表。 祝你好运。

  

当前正在运行的进程数

ps -eaf | wc -l <​​/ p>

  

每个用户运行多少进程

ps -fu [用户名] | wc -l <​​/ p>

  

没有。每个进程打开的文件。

lsof -p&lt; pid&gt; | wc -l <​​/ p>

  

总数没有。所有进程的已打开文件。

您可以迭代所有pid,如上所示,并使用lsof命令。在这里,您可能必须以root身份执行命令,否则在执行lsof

时会获得权限被拒绝
  

没有。过程限制打开文件数量限制

对于特定终端,您可以

$ ulimit -a

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15973
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15973
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited