멀티태스킹 시에 반응성을 좋게 하는 커널 패치가 나왔네요.

패치 전후의 성능 비교는

http://www.phoronix.com/scan.php?page=a ... 2637_video

를 참고하시고…

우분투에 적용하시려면

http://www.webupd8.org/2010/11/alternat ... patch.html

요걸 읽으시면 되겠습니다.

이 코드는 기본적으로 멀티태스킹 시에 여러 CPU로 적절히 자원을 분배하는 역할을 하는 모양입니다. 예를 들어 무거운 컴파일을 하면서 다른 일을 한다고 치면 반응성이 떨어지는데, 컴파일 등의 무거운 프로세스에 가는 자원을 좀더 균등하게 배분해서 데스크탑의 반응성이 좋아진다는 거 같군요.

이거 어떻게 하는거져…

안에 있는대로 하고 아래있는 deb 파일 적용해줘야하나요?

안에 있는것중에 아래부분해주고 재부팅까지 해주니깐 안되서

deb다운해서 적용할려니깐 소프트웨어 센터에서 잘못된 아키텍쳐 amd64라고 나오면서 적용 안되네요

커널 패치안하고 자신의 홈 디렉토리의 .bashrc 에 스크립트를 써서 해결하는 방법도 있어요. 구글링 해보삼.

[quote="ahavatar":15zb0m1a]커널 패치안하고 자신의 홈 디렉토리의 .bashrc 에 스크립트를 써서 해결하는 방법도 있어요. 구글링 해보삼.[/quote:15zb0m1a]

그걸 원글에 링크했습니다만…

[quote="장난ㅡㅍ-)":3bdwf2ws]이거 어떻게 하는거져…

안에 있는대로 하고 아래있는 deb 파일 적용해줘야하나요?

안에 있는것중에 아래부분해주고 재부팅까지 해주니깐 안되서

deb다운해서 적용할려니깐 소프트웨어 센터에서 잘못된 아키텍쳐 amd64라고 나오면서 적용 안되네요[/quote:3bdwf2ws]

32비트를 쓰시는 모양이군요.

원글에 나와 있습니다만, 우분투라

/etc/rc.local 파일을 열어 "exit 0"이라 쓰인 줄 앞쪽에

[quote:3bdwf2ws]mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent[/quote:3bdwf2ws]
를 입력하신 후 저장하고, 터미널에서

[quote:3bdwf2ws]sudo chmod +x /etc/rc.local[/quote:3bdwf2ws]
를 실행하신 후, ~/.bashrc 파일을 편집하여

[quote:3bdwf2ws]if [ "$PS1" ] ; then
mkdir -p -m 0700 /dev/cgroup/cpu/user/$$ > /dev/null 2>&1
echo $$ > /dev/cgroup/cpu/user/$$/tasks
echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi[/quote:3bdwf2ws]
를 아무 데나 대충 끼워넣으시고 /usr/local/sbin/cgroup_clean 파일을 루트 권한으로 편집해서

[quote:3bdwf2ws]#!/bin/sh
rmdir /dev/cgroup/cpu/$*[/quote:3bdwf2ws]
를 붙여넣고 저장하신 후

[quote:3bdwf2ws]sudo chmod +x /usr/local/sbin/cgroup_clean[/quote:3bdwf2ws]
를 실행하시면 됩니다. 이후 재부팅하거나

[quote:3bdwf2ws]sudo /etc/rc.local[/quote:3bdwf2ws]
를 실행하시면 패치가 적용됩니다.

본문내용중에 잘못 적용한부분이 있었군요.

오타…;;

일단 적용해봤는데 체감은 안느껴지네요

안드로이드 커스텀 롬들 사용자들도
최근 이 커널패치를 적용하느라 열심히더니…ㅎㅎ

[quote="Inbae":295ysqug]이 코드는 기본적으로 멀티태스킹 시에 여러 CPU로 적절히 자원을 분배하는 역할을 하는 모양입니다. 예를 들어 무거운 컴파일을 하면서 다른 일을 한다고 치면 반응성이 떨어지는데, 컴파일 등의 무거운 프로세스에 가는 자원을 좀더 균등하게 배분해서 데스크탑의 반응성이 좋아진다는 거 같군요.[/quote:295ysqug]

혹시 이 패치가 멀티코어 CPU 시스템에만 적용되는 이야기인가요? 저는 싱글코어를 사용하는데 일단 적용은 했습니다만… 여러 CPU로 적절히 자원을 분배한다는 말씀을 해주셔서 궁금한 마음에 여쭤봅니다.^^

[quote="draco":331sxw9s]안드로이드 커스텀 롬들 사용자들도
최근 이 커널패치를 적용하느라 열심히더니…ㅎㅎ[/quote:331sxw9s]

안드로이드 lag 패치하고 커스텀룰 + 이 패치까지 하면 정말 시스템 날라다니겠군요 ㅎㅎ

[quote="imokj":1vnjqero][quote="Inbae":1vnjqero]이 코드는 기본적으로 멀티태스킹 시에 여러 CPU로 적절히 자원을 분배하는 역할을 하는 모양입니다. 예를 들어 무거운 컴파일을 하면서 다른 일을 한다고 치면 반응성이 떨어지는데, 컴파일 등의 무거운 프로세스에 가는 자원을 좀더 균등하게 배분해서 데스크탑의 반응성이 좋아진다는 거 같군요.[/quote:1vnjqero]

혹시 이 패치가 멀티코어 CPU 시스템에만 적용되는 이야기인가요? 저는 싱글코어를 사용하는데 일단 적용은 했습니다만… 여러 CPU로 적절히 자원을 분배한다는 말씀을 해주셔서 궁금한 마음에 여쭤봅니다.^^[/quote:1vnjqero]

음… 꼭 멀티코어에만 적용되는 건 아닌 거 같고, 저도 정확히 몰라서 정확한 설명은 못 드리겠습니다만 여러 프로세스에 자원을 적절히 배분하는 뭐 그런 거 같습니다.

etc/rc.local 파일을 열어 "exit 0"이라 쓰인 줄 앞쪽에

Quote:
mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

에 붙여준다고 나와있는데
etc/rc.local 파일을 열어보면
본문 중간에도 "exit 0" 이라 쓰여 있고
맨 마지막 줄에도 "exit 0"이라 쓰여져 있습니다

본문 중간줄 위에 써 넣어야 하나요?
아니면 맨 마지막줄 위에 써 넣어야 하나요?

[quote="tazo2891":3aw46cdh]etc/rc.local 파일을 열어보면
본문 중간에도 "exit 0" 이라 쓰여 있고
맨 마지막 줄에도 "exit 0"이라 쓰여져 있습니다

본문 중간줄 위에 써 넣어야 하나요?
아니면 맨 마지막줄 위에 써 넣어야 하나요?[/quote:3aw46cdh]
맨 마지막 줄 위겠죠.

본문 중간에 exit 0이 실행 되면 스크립트가 종료 되는 것이니,
파일 앞쪽 주석문 다음줄에 넣어주는게 좋겠죠.

[quote="changmin811":6o00m3rk]본문 중간에 exit 0이 실행 되면 스크립트가 종료 되는 것이니,
파일 앞쪽 주석문 다음줄에 넣어주는게 좋겠죠.[/quote:6o00m3rk]

아마 중간에 있는 exit 0은 제가 보질 못해서 알 수는 없지만 주석 안에 있는 걸 말씀하신 거 같아요. 설령 그게 아니더라 해도 조건문 안에 있을 테니…

kldp.org쪽에도 글이 올라와 있더군요.
여기저기 뒤지다가
[url:27fgm3ow]http://www.phoronix.com/forums/showthread.php?t=27138&page=16[/url:27fgm3ow]
per tty에서 per session으로 개선된 패치가 올라와 있더군요.
[url:27fgm3ow]http://lkml.org/lkml/2010/11/20/91[/url:27fgm3ow]
zen kernel에 적용이 되어 있고
[url:27fgm3ow]http://git.zen-kernel.org/zen-stable/[/url:27fgm3ow]
zen kernel 바이너리는
[url:27fgm3ow]http://liquorix.net/[/url:27fgm3ow]
제공해주는데 우분투에서도 데비안 기반이라 돌아가는군요.
설치방법은
[url:27fgm3ow]http://community.linuxmint.com/tutorial/view/158[/url:27fgm3ow]
명령으로 우분투에서 설치가 되는군요.

서브 넷북에 설치된 젠투에 2.6.36-r2 버전으로 올라왔길레 설치해 봤습니다.
꽤 놀라운 체감 성능 향상이 있었습니다.
상당히 느린편인 아톰 1.2기가인데, 예전에는 컴파일 할때 MAKEOPT를 j1으로 주지 않으면 파폭에서 브라우징이 힘들 정도였습니다.
지금은 j2로 주고도 컴파일 중 다른 작업이 가능할 정도로 반응성이 좋네요.
어떤 원리인지는 모르겠지만 만족입니다. :)

geepurin//

리누스 토발즈도 바로 그러한 사용례에서 획기적인 개선을 느꼈다면서 좋아하더라구요 ㅎㅎ

ㅇㅅㅇ… 제대로 체감하고 있는건지 모르겠는데요…
커널 패치 하기전에 버추얼 박스에 윈도우 설치하고 돌렸을 때는 화면이 음화가 자주 됬는데
커널 패치하고 버추얼 박스 모듈 다시 컴파일 하고 돌리니까 그냥 조금 버벅이는 컴퓨터에 윈도우 돌리는 것 처럼 잘 돌아가서 신기해 하는 1인 입니다…

이제 USB 연결 삽질해야지…;ㅅ;

데스크탑용 스케줄링을 효율적으로 하는 커널 패치는 이것 말고도 더 좋은게 나와있긴 해요. 문제점은 라이너스 토발즈가 리젝트를 해버려서 커널에 포함되있지 않죠.

[url:2fuj9d65]http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler[/url:2fuj9d65]

커널 패치 할까 말까 고민 중 입니다.
처음에는 패치 방법이 복잡하다는 이유로 하지 않았는데
아주 쉬운 방법까지 나왔네요.
잘못 될 경우에 해결할 능력이 없다는 핑계를 댈 수도 있지만…
조만간 시도해 봐야겠습니다.

체감할 만한 변화가 있는지 없는지는 해보지 않으면 알 수 없으니까요.