적절한 Dom0 메모리 사이즈

276 views
Skip to first unread message

Choonho Son

unread,
Jan 24, 2013, 6:44:56 PM1/24/13
to osin...@googlegroups.com
ㅇ XenServer에서 Dom0의 메모리는 최대 2940M를 권장합니다. -> 아래 메일의 답변처럼
ㅇ 왜 일까요?
 - Dom0의 메모리가 High Memory , Low Memory로 구분된다는건 뭔말이죠?
 - 재 생각에는 Dom0가 32bit OS이고, 32bit OS가 사용할 수 있는 4G 공간에서 (hypervisor가 차지하는 1G 정도 빼고) 3G 정도가 잘 돈다.
 - PAE가 되서 4G이상의 Dom0의 메모리를 늘릴수는 있지만 성능 하락이 존재한다?

) XenServer 5.6SP2, 6.0.2, 6.1 에서 가능한 Dom0 의 최대 메모리 크기 및 권고치
2940M입니다
.
2) 2940MB 의 의미 : 안정적인 권고치인지 Hard limit 인지 정확한 의미를 알고 싶습니다.
설정은 가능하시겠지만 Citrix에서 공식 지원하지 않는 Dom0 변경에 대해선 TS 지원이 되지 않습니다.
2940M를 한계치로 보셔야 할 것 같습니다.
참고로 저희 Engineering팀 테스트에서 Dom0의 메모리 크기를 2940MB로 확장 시엔 VM density가 높아질 수 있지만, Dom0의 I/O 성능은 4~9%가 낮아지는 것으로 보고됩니다.
이런 결과는 Dom0 메모리 영역이 Low Memory과 High Memory 영역으로 나눠지는데, Dom0의 메모리를 확장해도 800MB의 Low Memory 영역은 변하지 않는 것에서 기인합니다.
결론적으로 2940M 이상 확장하는 것은 공식 지원되지 않으며, performance 저하 우려가 있으므로 변경하지 않으시는 것이 맞습니다

Min Lee

unread,
Jan 24, 2013, 8:22:39 PM1/24/13
to osin...@googlegroups.com
대충 구글링해보는데 2940M 최대치는 잘 안보이는데요??
32비트의 경우의 얘기같은데, 64bit을 못쓸 이유라도 있는지??
암튼, 32비트에서는 뭐..리눅스에 low mem, high mem이 있죠.. 그래서 low mem의
한계인 기껏 896MB인가 밖에 제대로 못다룬다..라는건 알려져있고요..
하지만 2940M 얘기는 이것과는 또 별개인듯?? 이건 32비트에서의 물리메모리량의
한계치인듯 한데요..
PAE로 물리메모리를 확 늘릴수있죠.. (근데 차라리 64비트로 가는게-_-;;)
그리고 IO저하 얘기는 DMA얘기를 하는거 같은데요..
제 생각엔 여러가지 이야기가 좀 짬뽕으로 섞여있는듯-_-;;

그중 하나 뽑아내보면,
Dom0가 물리메모리로 4GB를 넘어가는 곳에 위치하면 DMA가 어드레싱할수
없기때문에 IO성능의 큰 저하가 온다는것은 맞는 말이 됩니다..
이것때문에 2940MB로 제한한다면 충분히 설득력이 있군요.
> --
> Google 그룹스 'osinside' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> 이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면
> osinside+u...@googlegroups.com에 이메일을 보내세요.
> 이 그룹에 게시하려면 osin...@googlegroups.com(으)로 이메일을 보내세요.
> http://groups.google.com/group/osinside?hl=ko에서 그룹을 방문하세요.
> 더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out을(를) 방문하
> 세요.
>
>

Min Lee

unread,
Jan 24, 2013, 8:34:09 PM1/24/13
to osin...@googlegroups.com
32비트에서의 low mem/ high mem 얘기는 osinside에 설명되어있습니다..
896M 로 검색해보니 있네요.. 리눅스의 메모리관리와 관련있습니다. 가상 메모리
1-1매핑때문이죠.. 64비트에서는 불필요한 얘기구요..

Choonho Son

unread,
Jan 25, 2013, 2:26:22 AM1/25/13
to osin...@googlegroups.com
아래같이 정리하면 맞는말 인가요? ㅎㅎ

ㅇ Citrix에서 답변을 유추해 보면, High Memory의 증가가 성능향상에는 의미가 없으며, overhead를 준다.
ㅇ 그리고 대략 3G 정도의 메모리가 적절하다는 것에서 유추해 보면 Dom0의 특징에 기인할거 같습니다.

즉, 근본적인 이유는 32bit Dom0 OS 때문인거 같습니다. (PAE, DMA를 의심해 봅니다)

ㅇ 32bit OS는  PAE(Physical Address Extension)을 통해서 최대 64GB까지 확장 가능
   . 즉 Dom0의 최대 메모리는 64GB
   . PAE를 enabled Kernel은Physical address와 Virtual address 간 변환시 기존 PAE disabled kernel에 비해서 약간의 overhead가 있음(아주 미미하지만)

ㅇ 또한 일반적으로 32bit OS에서 4G 이상의 Physical 메모리에 접근이 필요할 때, 32bit DMA(Direct Memory Access)를 사용할 수 없기 때문에 IO 성능 저하가 있음
   . Dom0에서 가장 중요한 역할이 Physical Device와 Geust VM 간의 I/O 전달이므로 DMA를 통한 Memory Access는 중요

따라서 XenServer에서 제공하는 32bit Dom0 OS를 쓰는 한 메모리 부족으로 swap 이 되지 않는다면 4G 이하로 설정하는게 좋아보입니다.
. 그런데 4GB 정도가 아닌 2940MB 정도가 권장인 건 이해하기 어렵네요 ^^;

정말 대충알기는 쉽지만 잘 알기는 어렵네요 ㅜㅜ

Min Lee

unread,
Jan 25, 2013, 12:22:30 PM1/25/13
to osin...@googlegroups.com
제가 말씀드릴수 있는것들은..

On 1/25/2013 2:26 AM, Choonho Son wrote:
> 아래같이 정리하면 맞는말 인가요? ㅎㅎ
>
> ㅇ Citrix에서 답변을 유추해 보면, High Memory의 증가가 성능향상에는 의미가
> 없으며, overhead를 준다.

high mem은 32bit에서만 쓰는것으로 약간의 overhead가 있다.. 64bit으로 가면
이문제 해결.. 이건 근본적인 문제는 아닐겁니다..

> ㅇ 그리고 대략 3G 정도의 메모리가 적절하다는 것에서 유추해 보면 Dom0의 특징
> 에 기인할거 같습니다.
>
> 즉, 근본적인 이유는 32bit Dom0 OS 때문인거 같습니다. (PAE, DMA를 의심해 봅니다)
>
> ㅇ 32bit OS는 PAE(Physical Address Extension)을 통해서 최대 64GB까지 확장 가능
> . 즉 Dom0의 최대 메모리는 64GB
> . PAE를 enabled Kernel은Physical address와 Virtual address 간 변환시 기
> 존 PAE disabled kernel에 비해서 약간의 overhead가 있음(아주 미미하지만)

dom0에게 모든 메모리를 다 줄수도 있을겁니다..최소한 이론적으론.
PAE때문에 overhead가 있다는 얘기는 처음 듣는데요?? 예를들어 64bit는 PAE를
기본으로 하고 있죠..

>
> ㅇ 또한 일반적으로 32bit OS에서 4G 이상의 Physical 메모리에 접근이 필요할
> 때, 32bit DMA(Direct Memory Access)를 사용할 수 없기 때문에 IO 성능 저하가 있음
> . Dom0에서 가장 중요한 역할이 Physical Device와 Geust VM 간의 I/O 전달
> 이므로 DMA를 통한 Memory Access는 중요

이게 근본적인 이유같습니다. 32bit이건 64bit이건간에 DMA가 32bit밖에 지원못
하기때문에 IO에 필요한 메모리가 4GB아래에 있어야합니다. 그렇지 않으면 성능
저하가 꽤나 날테니까요.. 따라서 dom0 메모리를 4GB아래로 하는것은 적절해보입
니다.

>
> 따라서 XenServer에서 제공하는 32bit Dom0 OS를 쓰는 한 메모리 부족으로 swap
> 이 되지 않는다면 4G 이하로 설정하는게 좋아보입니다.
> . 그런데 4GB 정도가 아닌 2940MB 정도가 권장인 건 이해하기 어렵네요 ^^;

이건 물리메모리 map을 보면 memory hole이 있기때문인데요, 물리메모리를 살펴보면
3GB에서 4GB사이에 바이오스나 비디오메모리등 램이 아닌 부분들이 잡혀있습니다..
과거에 640KB에서 1MB사이에 롬이 위치했던것과 같죠.. PC 아키텍쳐 구조가 좀
너덜너덜합니다..
그래서 저 숫자가 나온것 같습니다.. dom0는 보통 물리메모리의 앞부분을 통째로
차지하기때문에 저 숫자를 주면 대충 물리메모리 앞부분 2940MB를 차지한다고 할
수 있겠죠..그러면 32bit DMA문제는 없을거고요.. 그래서 나온 숫자같군요..

제 생각엔 32bit/64bit과는 관련이 없는것 같고 32bit DMA로 인한 IO걱정때문에
4G 아래로 하라는 소리같은데요..

위키에 보니..
The new Double Address Cycle (DAC) mechanism, if implemented on both the
PCI bus and the device itself,[4] enables 64-bit DMA addressing.
64bit DMA addressing이 되는 방법도 있긴 하네요..

dom0는 IO문제가 얽혀있기때문에 보통 워크로드는 돌리지 않고 그냥 돌립니다..
(뭐 요즘 stub domain도 있긴 하지만..) 보안문제도 있고해서..
dom0에 큰 메모리를 줄 이유도 별로 없어보이니까, 메모리 쪼금만 주는게 좋겠죠..
> >> osinside+u...@googlegroups.com <javascript:>에 이메일을 보내세요.
> >> 이 그룹에 게시하려면 osin...@googlegroups.com <javascript:>(으)로
> 이메일을 보내세요.
> >> http://groups.google.com/group/osinside?hl=ko
> <http://groups.google.com/group/osinside?hl=ko>에서 그룹을 방문하세요.
> >> 더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out
> <https://groups.google.com/groups/opt_out>을(를) 방문하
> >> 세요.
> >>
> >>
> >
>
> --
> Google 그룹스 'osinside' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> 이 그룹에 게시하려면 osin...@googlegroups.com(으)로 이메일을 보내세요.
> 그룹에서 탈퇴하려면 osinside+u...@googlegroups.com로 이메일을 보내주
Reply all
Reply to author
Forward
0 new messages