OS/AIX::

AIX Memory, PageSpace 개념 정리

장피디 2016. 5. 18. 14:04
반응형

출처 : http://ttend.tistory.com/112



ㅇ 실제 메모리 용량 확인

서버가 사용하고 있는 물리적 메모리의 양은 다음 명령어로 확인할 수 있다.

# lsattr -El sys0 -a realmem

# lsattr -El sys0 -a realmem

realmem 31457280 Amount of usable physical memory in Kbytes False

31457280은 KB이며 /1024/1024 해보면 30G임을 알 수 있다

제일 뒤 "false"는 명령을 통해 변경될 수 없다는 의미이다. 


ㅇ paging space

paging space는 물리적 RAM의 추가설치에 대한 경제적 대안이다. 즉 디스크의 일부분을 RAM처럼 사용하면서 프로그램의 활성부분은 RAM에 위치시키고 비활성 부분은 paging space에 위치시켜서 프로그램이 사용하는 RAM의 용량을 늘릴 수 있기 때문이다. 

RAM과 paging space는 페이지 프레임이라는 4KB 섹션으로 나뉘어 있다. RAM에 있는 모든 페이지 프레임에 대해, paging space의 하나 이상의 페이지 프레임이 하드 디스크 상에 존재한다. 시스템이 더 많은 RAM을 필요로 할 때, 정보의 페이지 프레임은 RAM에서 나와 하드 디스크로 이동한다. 이를 페이지 아웃(paging out)이라고 한다. 반대로 디스크에 있는 정보가 RAM으로 이동하는 것을 페이지 인(paging in)이라고 한다


ㅇ 가상 메모리 관리자(VMM)

가상 메모리 관리자(VMM)이 페이지의 이동을 관리한다. VMM은 최근에 사용되지 않은 페이지 프레임을 선택해서 디스크의 paging space으로 옮긴다


ㅇ 스래싱(thrashing)

VMM이 막 사용되려던 페이지 프레임을 페이지 아웃한 경우, VMM은 이 페이지 프레임을 곧바로 페이지 인해야 한다. 시스템이 하고자 하는 작업을 수행하는 대신 RAM에 페이지 프레임을 넣고 꺼내는 데(shuffling in/out) 더 많은 시간을 소비할 때, 이 시스템은 스래싱 중이라고 말한다. 물리 메모리의 양이 적으면 스래싱을 자주 일으킬 수 있다. (시스템이 스래싱 중이라면 시스템의 응답이 느려지고 디스크의 불이 끊임없이 반짝거릴 것이다)


ㅇ 사용가능한 paging space

시스템은 사용 가능한 paging space량을 모니터링하고 있다. 사용 가능한 paging space량이 임계값(paging space 경고 레벨이라고 함) 아래로 떨어지면, 시스템은 모든 프로세스(커널 프로세스 제외)에 SIGDANGER 신호를 보내고 이 신호는 프로세스에게 정상적으로 종결하도록 지시한다.

빈 paging space량이 두 번째 임계값(paging space kill 레벨) 아래로 더 떨어지면, 시스템은 대부분의 paging space을 사용 중인 프로세스에 SIGKILL 신호를 보내고, 이 신호는 프로세스에게 강제적으로 종결하도록 지시한다.


ㅇ 기본 paging space

AIX를 설치하면, 설치 디스크(일반적으로 하드 디스크 hdisk0) 상에 paging space을 자동으로 작성한다. 

이 paging space의 이름은 항상 hd6이다. 

더 많은 paging space가 필요한 경우, hd6의 크기를 증가시키는 대신 새로운 paging space을 작성해야 한다. 


ㅇ paging space 확인

명령어 lsps로 확인할 수 있다

# lsps -a

Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type

hd6             hdisk0            rootvg       10240MB     2   yes   yes    lv

위 그림에서 paging space는 hdisk0에 위치하고 현재 2%를 사용하고 있음을 알 수 있다.

만약 paging space을 두 개 이상 사용하고 있다면 lsps -s 명령어로 전체 paging space의 크기와 사용률을 알 수 있다


ㅇ paging space 경고

페이지 공간이 계속 70% 이상을 사용하고 메모리가 부족하면 단말에 다음과 같은 메시지가 표시된다. 

- INIT: paging space가 부족함 

- 메모리가 충분하지 않음 

- Fork 기능 실패 

- Fork() 시스템 호출 실패 

- Fork할 수 없습니다. 프로세스가 너무 많습니다. 

- Fork 실패 사용할 수 있는 메모리가 충분하지 않음 

- Fork 기능을 지원하지 않음. 사용할 수 있는 메모리가 충분하지 않음 

- Fork할 수 없음. 공간이 충분하지 않음


ㅇ paging space 설정 팁

- 디스크 당 둘 이상의 paging space을 갖지 않는 것이 좋다. paging space는 라운드 로빈(round-robin) 방식으로 할당되어 모든 페이징 영역을 동등하게 사용하기 때문에 하나의 디스크에 두 개의 페이징 영역이 있으면, 더 이상 활동을 여러 디스크에 전개할 수 없다. 

- paging space에는 많은 활동을 하지 않는 디스크를 사용하는 것이 유리하다. paging space는 다른 활동들과 경쟁하지 않을 때에 최상의 성능을 발휘할 수 있다. 

- paging space는 대략 같은 크기여야 한다. 라운드 로빈(Round-robin) 기법을 사용하므로 같은 크기가 아닐 경우, 사용의 균형이 맞지 않게 된다

- paging space을 여러 실제 볼륨으로 확장하지 않는 것이 좋다. 페이징 영역(일반 논리 볼륨처럼)을 여러 디스크에 걸쳐 전개할 수 있더라도, 라운드 로빈 (round-robin) 기법은 이 페이징 영역을 단일 페이징 영역으로 취급하므로, 이 활동은 디스크에 고르게 전개되지 않기 때문이다. 


------------------------------------------------------------------------------------------------------

출처 : http://blog.boxcorea.com/wp/archives/1458



1.현재 paging device 확인



2. swap 사용량확인




3. swap 추가하기
여기서는 foxvg에 1GB swap을 추가한다. foxvg의 PP size는 256MB 이다. 따라서 1GB 추가하려면, 4개의 LP를 사용한다.



4. 추가한 swap 사용하기
paging space를 사용하려면, swapon 커맨드로 swap을 활성화해준다.



5. swap 삭제하기
삭제전, swap 을 사용하지 않도록 설정한다.


6. 기타
chps : paging space의 속성을 변경할 때 사용한다.
예) 재부팅했을때, ps 사용하기



paging space 관련 화일: /etc/swapspaces






-----------------------------------------------------------------------------------------------

pageSpace 확장법 : http://serendipity777.tistory.com/155

Physical 메모리 100% 사용안하는 경우 : http://cafe.naver.com/aix/13491

실제 메모리를 많이 쓰는것 같지 않은데 메모리 사용률이 높게 나올때 : http://blog.naver.com/lyg1019?Redirect=Log&logNo=90126726851






반응형