[완료] Kernel에 boot option주기에 대한 질문 입니다.
글쓴이: hyper9 / 작성시간: 화, 2010/08/31 - 12:26오전
Kernel booting시에, "numa=fake=4*512" 와 같은 option을 주려고 하는데요.
(이 정보는 /Documentation/x86/x86_64/fake-numa-for-cpusets"에서 봤습니다.)
실제로 Kernel에 boot option을 어떻게 주어야 하는지를 모르겠네요.
조언을 부탁드립니다.
감사합니다.
Forums:
부트로더에서 설정 가능하지 않나요?
부트로더에서 설정 가능하지 않나요?
조언 감사합니다.
이것을 시작하게 된 것은 Kernel Document중에서 fake-numa-for-cpusets라는 document를
발견하고 나서인데요. (/Documentation/x86/x86_64/fake-numa-for-cpusets)
이 document의 설명을 보면 "numa=fake=4*512,"와 같은 boot option을 주면 System이 4개의
512Mbyte의 memory block을 가지고 이것을 cpuset에 할당할 수 있는 것으로 보여서요.
이것을 시도해보려고 하는 중이었고요.
/Documentation/x86/x86_64/fake-numa-for-cpusets의 설명을 보면요,
적절하게 boot option을 주고나면, dmesg command를 통해서, 아래와 같이 Fake numa node가
구성되는 것을 볼 수 있다고 설명하고 있거든요.
Faking node 0 at 0000000000000000-0000000020000000 (512MB)
Faking node 1 at 0000000020000000-0000000040000000 (512MB)
Faking node 2 at 0000000040000000-0000000060000000 (512MB)
Faking node 3 at 0000000060000000-0000000080000000 (512MB)
...
On node 0 totalpages: 130975
On node 1 totalpages: 131072
On node 2 totalpages: 131072
On node 3 totalpages: 131072
boot option을 주는 방법으로 일단은 /boot/grub/grub.conf file을 수정하면 되지 않을까 싶었는데요.
원래의 /boot/grub/grub.conf file의 내용은 아래와 같고요,
title Appliance Kernel - Over VGA port
root (hd0,0)
kernel /vmlinuz ro root=LABEL=/ PROMPT_NO nmi_watchdog=1 quiet
initrd /initrd.img
이렇게 설정한 후 booting을 하고나서, dmesg | grep Faking 을 실행해 보면요.
아래와 같이 보이고요.
[root@SERVER-64 ~]# dmesg | grep Faking
Faking a node at 0000000000000000-0000000220000000
이것은 아래와 같이 수정했습니다.
title Appliance Kernel - Over VGA port
root (hd0,0)
kernel /vmlinuz ro root=LABEL=/ PROMPT_NO nmi_watchdog=1 numa=fake=4*1024 quiet
initrd /initrd.img
다시 이렇게 설정한 후 booting을 하고나서, dmesg | grep Faking 을 실행해 보면요.
아래와 같이 보이네요
[root@SERVER-64 ~]# dmesg | grep Faking
Faking a node at 0000000000000000-0000000220000000
그렇다면 이렇게 boot option을 주는 것이 틀린 것이 아닌가하는 생각이 들었고요.
/Documentation/x86/x86_64/fake-numa-for-cpusets의 설명을 보면 boot option으로
"numa=fake=4*512,"를 주라고 했는데, 저는 "numa=fake=4*1024"라고 했거든요.
원래 설명에 있던 ","가 빠져있는 셈인데,,위와 같은 방법으로 Kernel boot option을 주는 거라면
","가 필요없어 보이고요 .
그러면,,다른 방법으로 boot option을 주어야 하는 것이 아닌가..하는 궁금증이 생겨서..이렇게 다시 질문을 올립니다.
조언 부탁드립니다.
감사합니다..
CONFIG_NUMA_EMU?
일단 부트옵션을 주는 것은 지금처럼 해도 문제가 없을 것입니다.
다만 커널 부트 옵션의 형식이 달라진 것 같은데 (확실치는 않습니다만..;)
어떤 커널 버전을 쓰시는지 모르겠지만 최신 버전의 경우는 그냥
numa=fake=4 라고 하거나 numa=fake=1G 라고 지정하면 될 것 같습니다.
하지만 위와 같이 부트 옵션을 주었다고 해도 커널이 4를 인식해야 할 것 같은데
그렇지 않은걸 보면 혹시 커널 설정 시 CONFIG_NUMA_EMU 옵션이 빠진 건 아닐까요?
빨리 답글을 주셨네요 ^^
예,,말씀 해주신대로,,CONFIG_NUMA_EMU option 이 빠져서..
그게 빠졌다는 글을 올리려고 들어왔는데,,
벌써 조언을 주셨네요
감사합니다. ^^
댓글 달기