Significado de FDSize em / proc / PID / status

3

Estou procurando uma maneira de descobrir o limite de FD aberto nas máquinas Ubuntu que não tem o /proc/PID/limits , ou seja, Máquinas EC2 .

Eu pesquisei /proc/PID/limits e encontrei a entrada FDSize com valores como:

FDSize: 256
FDSize: 512

De alguma forma, posso deduzir o máximo permitido de descritores de arquivos abertos deste valor?

    
por Adam Matan 12.08.2014 / 04:45

3 respostas

2

Não, isso não mostra o limite - apenas o uso.

>>> import resource
>>> resource.setrlimit(resource.RLIMIT_NOFILE, (10000, 10000))
>>> resource.getrlimit(resource.RLIMIT_NOFILE)
(10000, 10000)

Agora:

>>> for i in range(5000):
...     f=open('/tmp/delme'+str(i),'w')
...     fs.append(f)

E:

laptop:/proc/20160$ cat status
...
FDSize: 8192
...

O valor não foi alterado depois de alterar o limite, logo após a criação dos arquivos. Significa que mede o uso real, não os limites.

    
por 05.10.2009 / 11:31
1

Afaik, no Linux, o limite por processo de arquivos abertos é controlado pelo comando ulimit . De man ulimit :

NAME
    ulimit - set or report file size limit

DESCRIPTION
    The  ulimit utility shall set or report the file-size writing limit 
imposed on files written by the shell and its child processes (files 
of any size may be read). Only a process with appropriate privileges 
can increase the limit.

No meu sistema:

$ ulimit -aS | grep "open files"
open files                      (-n) 1024

$ ulimit -aH | grep "open files"
open files                      (-n) 1024

O limite para todo o sistema é armazenado em / proc / sys / fs / file-max

$ cat /proc/sys/fs/file-max
305018

A seção Comparativo de mercado HTTP do Linux sobre como ajustar os limites do descritor de arquivo no Linux tem mais informações.

Não estou totalmente claro se é exatamente isso que você estava procurando. Isso responde sua pergunta?

    
por 05.10.2009 / 12:02
0

do man proc, "* FDSize: Número de slots de descritores de arquivos atualmente alocados.", este é o número de "struct file" na tabela de descritores de arquivos de um processo.

    
por 01.09.2014 / 15:21