2017-05-09 1 views
0

무료로 할당 된 파일 설명자에 문제가 있습니다. 항상 0입니다!총 할당 된 파일 설명자는 항상 0입니다. - 우분투 14.04 LTS

예를 들어

:

$ cat /proc/sys/fs/file-nr 
    4448 0  1529806 

AFAIK, 다음과 같은 의미 :

4448 is total alocated file descriptors 
0 is total of free alocated file descriptors 
1529806 is the total limit of the system 

을뿐만 아니라 내가 세트 다음으로 ulimits :

$ 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) 120242 
max locked memory  (kbytes, -l) 64 
max memory size   (kbytes, -m) unlimited 
**open files      (-n) 500000** 
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) 120242 
virtual memory   (kbytes, -v) unlimited 
file locks      (-x) unlimited 

시스템 파일 최대 :

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

가장 많이 열린 파일은 Kannel 데몬 (bearerboxsmppbox)입니다. 열린 파일의 양이 한도에 도달하면 smppbox이 멈추고 다시 시작하는 것만으로는 해결책이 될 수 없습니다.

인터넷에서 발견 한 기사에 따르면 시스템에 할당 된 파일 설명자가 없음을 알고 있습니다.

시도한 모든 해결책이 도움이되지 않았습니다.

내가 뭘 잘못하고있어?

도움이 필요합니다.

미리 감사드립니다. man page for proc 당으로

답변

1

: (강조 광산)

은/proc/sys 인/FS/파일 NR
이 읽기 ​​전용 파일은 세 개의 숫자가 포함되어 할당 된 파일 핸들의 수를 (즉, , 현재 열려있는 파일의 수); 사용 가능한 파일 핸들의 수. 및 최대 파일 핸들 수 (즉,/proc/sys/fs/file-max와 동일한 값)를 지정합니다. 할당 된 파일 핸들 수가 최대 값에 가까울 경우 최대 값을 늘려야합니다. Linux 2.6 이전에는 커널이 파일 핸들을 동적으로 할당했지만 다시 해제하지는 않았습니다. 대신 무료 파일 핸들은 재 할당을위한 목록에 보관되었습니다. "free file handles"값은 해당 목록의 크기를 나타냅니다. 사용 가능한 파일 핸들 수가 많으면 열린 파일 핸들 사용량에 과거 피크가 있음을 나타냅니다. 리눅스 2.6부터는 커널이 해제 된 파일 핸들 할당을 해제하고 "사용 가능한 파일 핸들"값은 항상 0입니다.

그래서 항상 커널 버전에 0이됩니다> =

+0

2.6 피드백에 감사드립니다. 그것은 의미가 있습니다. 위 게시물에서 설명한 문제점에 대해 알고 계십니까? – Denis

+0

여기보다는 [sf]에서이 문제에 대해 더 잘 알고 싶거나 [kannel users mailing list] (http://www.kannel.org/mailman/listinfo/users) 나 [kannel bug tracker] (https://redmine.kannel.org/) 파일 핸들이 누수되었을 것으로 의심되는 경우 – Hasturkun

관련 문제