OS/Linux

[Linux] Unix/Linux 메모리 관리 맛보기

요체크다 2023. 11. 3. 17:20
반응형

Unix/Linux OS별로 메모리를 관리하는 방식에 대해 간략히 알아 보도록 하겠습니다.

 

1. Linux
1) 메모리 할당 방식
 - 리눅스는 여유 메모리를 캐쉬 영역으로 사용하려고 하는 습성이 있습니다.
 - 이유는 여유 메모리를 최대한 캐쉬영역으로 활용하면 성능향상에 도움이 되기 때문입니다.
 - 커널 2.6부터는 이 부분에 대해 제한을 두게 되며,(#cat /proc/sys/vm/swappiness) 기본적으로 60%로 설정되어 있어서 물리 메모리 사용률이 해당 값 이상으로 사용되면 Swapping을 하기 시작합니다.

 

2) 참조사항

 - Linux 의 경우 Filecache영역이 큰경우 Used+Filecache 사용률이 100% 가까이 발생할 수 있는데, 이는 리눅스가 자체적으로 유휴 공간을 Cache 영역으로 잡아두어 최대한 Cache를 활용하여 성능향상을 하기위함 입니다.

 


2. AIX
1) 메모리 할당 방식

 - AIX 의 경우 Comp(연산)와 Noncomp(Filecache) 영역으로나누며, 메모리 사용률이 100%가까이  나타날 수 있는데 이유는 물리적인 메모리를 100% 사용할 수 있도록 구성되어 있기 때문입니다.

 - 즉, Comp영역을 제외하고 나마지 영역은 Noncomp 영역으로 할당 되어 사용되고, Comp영역에서 메모리가 필요하게 되면 Noncomp 영역을에서 가져와 사용하도록 되어 있습니다.

 - 해서 AIX에서 메모리 병복의 기준은 Pagingspace Activity로 판단하게 됩니다.

 - SUN과 다르게 미리 Reserved영역을 할당하지 않고, Deferred형태로 동작합니다.

 

2) 메모리 관리
 가) Comp
 - CPU에 의해 동작하는 프로세스들이 사용하는 메모리 사용률.
 나) NonComp
 - 파일쪽 I/O작업시 사용하기 위해 캐시로 돌려놓은 메모리 사용률.
 - 즉, Disk I/O 성능 향상을 위해 File Cache로 사용되는 영역을 의미.

 

3) 참조사항
 - CPU에 의해 계산되는 작업이 많으면 Comp사용률이 높아지고, 파일쪽에서 메모리에 올려놓은 작업이 많으면 NonComp사용률이 높아집니다.
 - Comp와 NonComp 합친값이 100을 사용하되, PagingSpace값이 올라가지 않을때 가장 적당한 Memory를 사용하고 있는 것이고, 지속적으로 Paging이 일어나면 메모리 부족으로 간주합니다.


3. HP-UX
1) 메모리 할당 방식
 - HP의 메모리 할당 정책은 arena라고 부르는 부분과 관련이 깊습니다.

 - 시스템은 메모리를 할당하기 위해 메모리풀(arena)을 관리하는데 쓰레드 프로그램의 경우 이 arena를 통해 메모리를 할당 받게 됩니다. 만일, 쓰레드의 개수가 많이 증가할 경우 arena의 개수를 조정함으로써 동시성 측면에서 성능 향상을 도모할 수 있습니다.

 

 

4. Solaris
1) 메모리 할당 방식
 - 솔라리스는 reserved라는 형태로 메모리를 할당합니다.

 - reserved 영역은 swap영역에 존재하며, 어떤 프로세스가 10M를 요청하면 swap영역에 10M를 먼저 할당해 놓고, 실제 해당 프로세스가 메모리에 접근할 때 물리적 메모리에 10M를 할당하는 형태로 동작합니다.

 

반응형