리눅스에서 하이퍼쓰레딩을 컴파일 속도향상에 사용하기.
글쓴이: ashuaria / 작성시간: 일, 2004/11/07 - 9:37오후
안녕하세요~
여러분들도 아시겠지만, 펜4 또는 제온의 하이퍼쓰레딩을 사용하시면 CPU의 남는 자원을 사용하여 속도 향상에 도움이 됩니다.
간단한 팁이지만, 혹시라도 아직 안쓰고 계신다면 사용해 보시는것이 어떨까요?
컴파일할 분량이 많을때 특히 속도가 빠릅니다.
make를 사용하실때 옵션을 하나만 추가하신다면 parallel하게 컴파일 가능한것을 찾아서 쓰레드를 늘려서 돌리게됩니다.
make -j숫자
라고 사용하시면 됩니다. 펜티엄4(즉 1CPU)를 쓰신다면 -j3로 하시면 좋을것 같습니다. -j2로 커널 컴파일을 해보니 job을 2개로 못만들더군요. job parallelize에 문제가 있는것 같습니다. 그러니 충분히 잡수를 늘려서 하시면 될것 같습니다.
그래서 공식을 적자면 n=하이퍼쓰레딩되는CPU갯수*2+1로 사용하시면 될것 같습니다. make의 복잡도에 따라서 동시에 parallel하게 컴파일 할수 있는것은 한계가 있지만 그래도 최대한 CPU를 쓸수있다면 좀더 빨리 컴파일이 가능하겠죠?
제가 커널 컴파일에 걸린 시간은 각각
make, make -j2: 약18분
make -j3, make -j4: 약15분
3분 정도가 단축되었습니다. n > 5 일때부터는 오히려 하드디스크에서 읽어오는 로드가 더 부담이 되어서 상당히 버벅거렸습니다. 참고하세요~
간단한 팁이지만 유용하게 사용할수 있습니다. ^^
Forums:
export MAKE="make -j4" 처럼 환경변수를 넣어두고 사용하
export MAKE="make -j4" 처럼 환경변수를 넣어두고 사용하시는 것이 make를 사용할 때 적용되지 않는 부분들을 해결하는 방법이 될 것입니다.
진리를 나의 수준으로 끌어내리지 마라.
나를 진리의 수준으로 끌어올려라. - 배꼽 중에서
CPU가 8개짜리에서 테스트 하니 3분~~make -j8
CPU가 8개짜리에서 테스트 하니 3분~~
make -j8
http://oklinux.org
-j 옵션에 의해 컴파일 오류가 나는 경우도 있다고 합니다.젠투에
-j 옵션에 의해 컴파일 오류가 나는 경우도 있다고 합니다.
젠투에서는 make.conf 에 옵션이 저장되고,
-j 옵션이 불안정함이 발견된 패키지는 ebuild 파일에서 -j 옵션을 강제지정하는 방식을 택하고 있습니다.
-j 숫자를 높게 지정하신 경우에 컴파일 오류가 난다면 숫자를 낮춰보시기 바랍니다.
https://xenosi.de/
[url]http://kldp.org/Translations/html
[url]
http://kldp.org/Translations/html/Kernel_Tip-KLDP/Kernel_Tip-KLDP.html#footnote1
[/url]
^^*
죄송하지만요,, 혹시 같은 효과를 VC++에서 거둘수는 없나요?제가
죄송하지만요,, 혹시 같은 효과를 VC++에서 거둘수는 없나요?
제가 지금 펜4 3Ghz인데 센트리노 1.7보다 못한 성능이
나오거든요,, ㅠㅠ
도움 부탁드립니다..
/MP
Project -> (right button) -> Properties -> Configuration Properties -> C/C++ -> Command Line -> Additional options :
/MP
라고 넣어 주시면 됩니다.
댓글 달기