안녕하세요. 슈다 입니다.
프로세스를 조회하려고 ps명령어를 실행하였는데
malloc: Not enough space
메세지가 발생하며 실행되지 않아 메모리 사용률을 확인해 봐도
사용률이 크게 높지 않은 경우 해결 방법을 알아보겠습니다.
해결 방법 : 계정의 limit 제한 풀기
AIX는 계정별로 limit 제한을 걸 수 있습니다.
ps 명령어를 실행한 계정의 limit 상태를 확인해 봅니다.
# ulimit -a
명령어 결과 내용 중 data 값을 확인해 봅니다.
위 사진과 같이 unlimited가 아니라 131072 등의 값으로 설정되어 있진 않으신가요?
명령어를 실행할 때 data segment 영역을 사용하게 되는데,
해당 영역의 사이즈가 제한을 받아 메모리를 할당받지 못해
malloc: Not enough space 메세지가 발생하게 되는 것으로 보입니다.
해당 값을 현재 설정되어 있는 값의 2배, 혹은 무제한으로 풀어봅니다.
# smitty chuser
User NAME : 계정명을 입력합니다.
계정의 속성을 변경할 수 있는 smit 메뉴 입니다.
중간 어디쯤 Soft DATA segment 값이 설정되어 있습니다.
원하는 사이즈 만큼 값을 입력해 줍니다. (예 : 현재 입력되어 있는 값의 2배)
무제한, 즉 unlimit 으로 설정하려면 -1 을 입력합니다.
계정의 limit 값이 변경되면 즉시 반영되지 않고 새로운 세션부터 적용됩니다.
세션을 새로 맺기 위해 다시 로그인 후
# ulimit -a 명령어로 data limit 값이 변경되었는지 확인한 뒤
ps 명령어가 정상적으로 실행되는지 확인해 봅니다.
'IT > Unix & Linux' 카테고리의 다른 글
[AIX] /dev/ipldevice not found 해결 방법 (0) | 2021.07.02 |
---|---|
[AIX] commit 실패 원인, efix 확인 및 삭제하기 (0) | 2021.06.30 |
[AIX] mksysb 파일로 특정 파일 추출, 복원하는 방법 (0) | 2021.06.11 |
[AIX] 메모리 파일캐시 영역 할당비율 변경 - maxperm%, minperm% (0) | 2021.05.06 |
[AIX] LV 3중 미러링, PV 2개로 3중 미러링 방법 (0) | 2021.04.22 |