Too many open files 에러 대처 방법

1. ROR(Ruby on rails)로 서비스를 하고 세션데이터를 memcached에 저장한다.
그런데 memcached에서 에러메세지를 내면서 로그가 풀나면서 저장소 용량 부족으로
서버가 다운되었다.
에러 내용은 accept(): Too many open files  이다.
이럴 경우 운영체제 자체의 FD 사이즈를 늘려주어야 한다.

~# ulimit -a

core file size (blocks)  0
data seg size (kbytes)   unlimited
file size (blocks)       unlimited
max memory size (kbytes) unlimited
stack size (kbytes)      8192
cpu time (seconds)       unlimited
max user processes       2048
pipe size (512 bytes)    8
open files               1024
virtual memory (kbytes)  2105343

2. 현재 프로세스의 열린 파일 수(소켓포함)  는 아래의 명령어로 알아 볼 수 있다.
~# lsof -p PID | wc -l


3. 해결 방법
(1)  ~# ulimit -n 2048
    OR
(2) 리눅스환경을 기준으로 설명한다. truefeel 사용자의 open files개수를 4096(sort limit),
6144(hard limit) 로 제한한다면 /etc/security/limits.conf에 다음 줄을 추가해주면 로긴시 적용된다.

truefeel         soft    nofile          4096
truefeel         hard    nofile          6144
나의 경우 첫번째 방법을 적용하였다.

by 고리하 | 2008/01/28 15:45 | 트랙백 | 덧글(0)

트랙백 주소 : http://yoonglory.egloos.com/tb/1348276
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지 다음 페이지 ▶