리눅스 및 DB

Mysql(Out of resources when opening file)

끄적끄적 2008. 6. 24. 17:03
Mysql partitiong 테스트로 구축해서 배치작업등을 돌려보고 있다.
오늘은 배치작업들이 다음과 같은 에러를 내면서 실패했다.

Statement failed: error 23 (Out of resources when opening file './weblink/wl_img_ht_tbl_R#P#p22.MYD' (Errcode: 24))

즉, 파일을 열 수 있는 제한에 다다랐다는 말이다.
partitiong을 구현하면서 파일의 개수가 많아져서 에러가 발생한 것으로 보인다.

현재 5.1 버전에서의 파티셔닝에서 테이블 조회시 해당 파티셔닝에 해당하는 파일만 접근하는 것이 아니라, 해당 테이블의 모든 파일을 읽어들인다고 한다.

open_files_limit 값을 증가시켜주기 위해 my.cnf에 open-file 값을 지정해 주는 방법도 있지만, 리눅스에서는 디폴트 open-file값이 1024이기때문에 이 값을 증가시켜 주는 방법이 좋겠다.
/etc/security/limits.conf 에 다음 내용 추가 후 리부팅
*               soft    nofile          24000
*               hard    nofile          24000

리부팅 후 mysql 실행 후 show variables 결과 다음과 같이 증가된 것을 볼 수 있다.
| open_files_limit                | 24000                                          |

open_files값을 1024에서 증가시켜 주는 내용은 소켓 프로그래밍이나 아파치 프로세스 등에서 1024개 이상의 프로세스나 쓰레드가 필요할때에도 동일하게 이슈가 되는 내용이다.



반응형