database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 6348 게시물 읽기
No. 6348
PSQL이 공간부족이란 메세지를 뿌리고 접속을 목합니다.(fork)
작성자
오진미
작성일
2005-10-05 13:05ⓒ
2005-10-05 13:31ⓜ
조회수
2,781

웹에서 커넥션을 하면 아래의 메세지가 나오는데 로그를 보면 2번 메세지가 보입니다.

swap을 보면 거의 대부분을 사용하고있구요.

아파치를 재시작하면 정상적으로 돌아옵니다.

아마, PHP에서 DB관련 부분을 잘못처리하는거 같은데....

혹시 경험있으시면 도움을 주세요.

swap 이 점점 작아지는군요.

O/S는 썬 5.9 스팍입니다.

[ 웹 접속 시 에러로그 ]

Warning: pg_connect(): Unable to connect to PostgreSQL server: ??? ?? ? ???? ??(fork) ??: 공간 부족 . in /usr/local/mobigen/CrediMail_V3.0/web/db_connect.inc on line 17
PostgreSQL Connection중 에러 발생!!!

 

[ PostgreSQL로그 ]

pg_language_name_index: 1024 total in 1 blocks; 912 free (0 chunks); 112 used
pg_attribute_relid_attnam_index: 1024 total in 1 blocks; 848 free (0 chunks); 17
6 used
MdSmgr: 8192 total in 1 blocks; 8128 free (0 chunks); 64 used
DynaHash: 8192 total in 1 blocks; 6912 free (0 chunks); 1280 used
Operator class cache: 8192 total in 1 blocks; 5080 free (0 chunks); 3112 used
smgr relation table: 8192 total in 1 blocks; 4048 free (0 chunks); 4144 used
Portal hash: 8192 total in 1 blocks; 2008 free (0 chunks); 6184 used
Relcache by OID: 8192 total in 1 blocks; 4040 free (0 chunks); 4152 used
Relcache by name: 24576 total in 2 blocks; 13240 free (5 chunks); 11336 used
LockTable (locallock hash): 8192 total in 1 blocks; 4056 free (0 chunks); 4136 u
sed
ErrorContext: 8192 total in 1 blocks; 8176 free (3 chunks); 16 used
??: ??? ??
????: Failed on request of size 104.
??: ??? ?? ? ???? ??(fork) ??: 공간 부족

이 글에 대한 댓글이 총 1건 있습니다.

어디에선가 메모리를 잡아먹는 버그가 있군요. 아마도 php가 사용하는 라이브러리 중에 한 곳에서 문제가 있을 것 같습니다.

 

top으로 각 프로세스마다 얼마의 메모리를 잡아먹는지 확인해 보세요. 메모리 점유량으로 소트를 해보시면 쉽게 확인이 가능합니다. 비정상적으로 메모리를 많이 먹는 넘이 주범이겠지요.

 

그리고 메모리를 잡아먹는 속도가 급격한가요? 아님 점진적인가요?

 

만약 메모리를 잡아 먹는 속도가 점진적이고 그 프로세스가 아파치라면 아파치 설정의 MaxRequestsPerChild의 값을 0이 아닌 적당한 값으로 바꿔보세요. 특히 솔라리스의 경우 apache가 사용하는 솔라리스의 library 때문에 메모리 릭이 있는 경우가 있습니다.

 

메모리를 잡아먹는 속도가 아주 늦다면 수천단위의 값을 적용하시구요. 운영하시면서 이 값을 조정해주면 될 것 같습니다. 저는 50같이 낮은 값을 사용한적도 있습니다.

 

그리고 필요 이상으로 MaxClients와 MaxSpareServers를 높게 하지 마세요. 가능하면 이미 떠 있는 child process가 일을 처리하게 하는 것이 좋습니다. 특히 MaxSpareServers는 10 정도로만 유지하는 것이 좋습니다. 아주 급격하게 사용자 수가 변하는 사이트가 아니라면 말입니다. 갑자기 20, 30명이 동시에 접속을 시도하고 빠져나가는 그런 사이트가 아니면 10정도로 충분합니다.

박성철(gyumee)님이 2005-10-05 21:55에 작성한 댓글입니다.
이 댓글은 2005-10-05 22:07에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
6357통합게시판에서 필드별 최근 5개의 리스트 값 뽑아 올려면?? [2]
박기원
2005-10-10
2165
6356급합니다..도와주세요...ㅠㅠ [1]
장하영
2005-10-08
2025
6349pg_autovacuum.log 에서 에러메세지... [2]
박순철
2005-10-06
2225
6348PSQL이 공간부족이란 메세지를 뿌리고 접속을 목합니다.(fork) [1]
오진미
2005-10-05
2781
6347[질문]pgOleDb설치 및 접속 후 insert시 에러
따꿍
2005-10-04
2010
6346[질문]Cygwin 이용해서 PostgreSQL을 쓸려고 하는데요... [3]
김성은
2005-10-03
2201
6344pgpool을 도입했습니다.. [2]
신기배
2005-10-01
2712
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다