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)

Blog API를 이용해보자.

This is posted by MS Live writer

1149542079

 귀여운것.

by 고리하 | 2007/10/26 11:13 | 트랙백 | 덧글(0)

ruby on rails 에서 session을 memcache에 저장할경우 주의 사항

현재 ROR을 이용해서 서비스를 만들고 있습니다. 그런데 memcache를 사용하는 중 세션 정보가 유지되지 않아 그것을 해결하는데
많은 시간을 소비하였습니다. 저의 경우 모델자체를 세션에 저장하였었는데 그것의 데이터가 많아지면 저절로 기존 데이터가 사라지는 것이었습니다. 그래서 필요한 데이터만 저장하니까 그러한 문제는 발생되지 않았습니다. 다른 사람들은 삽질하지 마시라고 올립니다.^^


Reduce session data when use memcache on ruby on rails.

by 고리하 | 2007/10/16 21:02 | 트랙백 | 덧글(0)

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