glibc
- Red Hat 엔터프라이즈 리눅스 4에 포함된 버전 glibc는 데이터 손상을 최대할 빨리 검색하여 방지할 수 있도록 내부 정상 감시 기능을 추가로 수행합니다. 데이터 손상이 감지되면 다음과 같은 메시지가 표준 오류로 나타날 것입니다 (만일 표준 오류(stderr)이 열려있지 않은 경우에는 syslog으로 기록됩니다):*** glibc detected *** double free or corruption: 0x0937d008 ***또는*** glibc detected *** invalid pointer free: 0x0937d008 ***이 오류 메시지를 생성하는 프로그램은 디폴트로 제거(kill)됩니다; MALLOC_CHECK_ 환경 변수를 이용하여 오류 메시지 생성 여부를 선택하실 수 있습니다. 다음과 같은 설정이 가능합니다:
- 0 — 오류 메시지를 생성하지 않고, 프로그램을 제거하지 않음
- 1 — 오류 메시지를 생성하지만, 프로그램을 제거하지 않음
- 2 — 오류 메시지를 생성하지는 않지만, 프로그램은 제거함 <== 기본값
- 3 — 오류 메시지를 생성하고 프로그램을 제거함
알림
만일 MALLOC_CHECK_ 변수를 0이 아닌 다른 값으로 설정할 경우, glibc는 기본 설정 보다 광범위한 검사를 수행하므로결국 시스템 성능에 영향을 미칠 수 있습니다.
** 쉘 설정 파일에 setenv MALLOC_CHECK_ 0 으로 세팅한다.
Bourne 쉘의 경우
MALLOC_CHECK_=0;
export MALLOC_CHECK_
Bash 쉘의 경우
export MALLOC_CHECK_=0
csh, tcsh 쉘의 경우
setenv MALLOC_CHECK_ 0
Bourne 쉘의 경우
MALLOC_CHECK_=0;
export MALLOC_CHECK_
Bash 쉘의 경우
export MALLOC_CHECK_=0
csh, tcsh 쉘의 경우
setenv MALLOC_CHECK_ 0
댓글 없음:
댓글 쓰기