CFS와 BFS 스케줄러 간을 전환하려면 어떻게해야합니까?


답변:


7

BFS가 현재 기본 커널의 일부가 아니기 때문에 자신의 커널을 다운로드, 패치 및 컴파일해야합니다. 메인 라인 커널에는 스케줄러가 하나만 포함되어 있으며 동일한 코드베이스 또는 심지어 전환 가능한 스케줄러에 여러 스케줄러가있는 것은 아닙니다 (이것도 가능할 수도 있음). 그것은 너무 복잡하고 노력할 가치가 없습니다.

따라서 시스템에서 BFS를 얻으려면 다음을 수행하십시오.

CFS보다 BFS를 실행하면 특히 최신 커널 버전에서 BFS를 실행할 수있는 이점이 매우 적습니다. CFS는 지속적으로 개선되고 있습니다.


BFS 패치로 커널 4.0.5를 컴파일했지만 스케줄러가 나열되지 않았습니다. BFS는 make menuconfig에서 활성화되었습니다. 왜 그런지 모르겠습니다.
shantanu 2016 년

9

이것을 조금 연구 한 결과, Linux에는 CFSBFS의 두 가지 스케줄러 만있는 것 같습니다 .

Ubuntu 10.10에서 BFS를 설치하는 가장 간단한 방법은 PPA 패치입니다 .

sudo add-apt-repository ppa:chogydan/ppa 
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck

"PPA 란 무엇이며 어떻게 사용합니까?"에 설명 된대로 Ubuntu Software Center를 사용하여 패치를 설치할 수도 있습니다 .

패치는 부트 할 때 접미사 "-ck"로 GRUB 메뉴에 표시되는 새로운 (패치 된) 커널을 설치합니다. 부팅 메뉴에서 적절한 커널을 재부팅하고 선택하여 스케줄러 사이를 전환하십시오.


성능

필자의 경우 데스크탑 PC (Intel i7 2600K의 8 코어에서 8 개의 F @ ​​H 스레드)에서 폴딩 @ 홈 을 실행 하면 BFS가 훨씬 더 좋습니다. 백그라운드 F @ H 애플리케이션은 20-25 % 더 빠릅니다.

이 시나리오에서 대화식 데스크톱 사용과 장기 실행 CPU가 많은 백그라운드 작업을 동시에 처리하는 CFS는 한 번에 하나의 코어를 유휴 상태로 두는 경향이있었습니다. BFS는 백그라운드 작업에 모든 코어를 100 % 사용하는 것이 훨씬 더 나은 반면 대화 형 데스크톱 작업에는 빠른 응답을 제공합니다.

가능한 모든로드 조합에서 최적으로 수행되는 단일 스케줄러는 없지만 BFS가 더 좋은 경우가 있습니다.


3

아래는 Precise Pangolin (Ubuntu 12.04) YMMV에서 나를 위해 일했습니다.

BFS는 pf-kernel

오늘날 Ubuntu 시스템 (2013 년 12 월)에 BFS를 설치하는 가장 좋은 방법 은 기본적으로 여러 성능 패치가 적용된 표준 커널 인 pf-kernel 을 설치하는 것 같습니다 . 이러한 패치에는 다음이 포함됩니다.

  • BFS (CPU 스케줄러는 CPU 코어가 16 개 미만인 시스템에서 낮은 대기 시간 제공)
  • BFQ (고부하에서 낮은 대기 시간에 최적화 된 I / O 디스크 스케줄러)
  • TuxOnIce (빠른 동면)

웹상의 지침

pf-kernelpf-kernel로 더 나은 리눅스 데스크탑 성능을 얻으십시오 ”기사에서 우분투 용 패키지 를 설치하는 방법에 대한 지침을 찾았습니다 . – 그러나이 지침은 관련 데비안의 존재하지 않는 소스를 가리 키기 때문에 다소 구식입니다. 패키지. 그러나 포럼의 사용자 _big'bum 's Dropbox account 에서 데비안 패키지를 다운로드 할 수 있음을 언급하는 " 우분투 용 pf-kernel "( pk-kernel포럼) 스레드를 발견했습니다 .

설치 pf-kernel

내가 설치 한 컴퓨터는 오래된 32 비트 랩톱이므로 필수 linux-headerslinux-image패키지를 내 컴퓨터의 디렉토리에 다운로드하여 시작했습니다 ~/kernel.

이 패키지의 64 비트 및 / 또는 최신 버전을 찾으 려면 위에서 언급 한 Dropbox 계정 으로 이동 하십시오.

그 후 나는“ pf-kernel로 더 나은 Linux 데스크탑 성능을 얻으십시오 ”에 대한 지침을 따르고 다음 명령을 실행했습니다.

$ cd ~/kernel
$ sudo dpkg -i *.deb

모든 것이 원활하게 작동하는 것 같아서 재부팅했습니다.

작동하는지 확인

빠른 검사는 작동하는 것으로 나타납니다. 예를 들어 명령 uname -a은 내가 사용하고 있다고보고합니다 pf-kernel.

Linux siobhan 3.12.2-pf + # 6 SMP PREEMPT 월요일 12 월 2 일 19:09:52 EET 2013 i686 i686 i386 GNU / Linux

그리고 cat /sys/block/sda/queue/schedulerBFQ가 현재 디스크 스케줄러 ( sda디스크 용) 임을 보여줍니다 .

noop deadline cfq [bfq] 

11 월 14 일-비디오 레코딩을 위해 xfs 파일 시스템에서 더 나은 I / O를 얻기 위해 Mythbuntu를 실행하는 Precise Pangolin (Ubuntu 12.04.4 LTS)에이 pf-kernel을 설치했습니다. 엔비디아 기본 드라이버 호환성을 보장하기 위해 커널 버전 (3.13)과 일치했습니다. 장애없이 작동했습니다. zrjm에 Kudos… ..!
keepitsimpleengineer

1

BFS로 새 커널을 패치하고 설치하십시오. sepatare 커널을 사용해야합니다. 동일한 커널 이미지에서 둘 다를 사용하는 방법이 없습니다 (특히 즉시 사용하는 경우)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.