2.8. 사용 가능한 TuneD 플러그인

모니터링 플러그인

현재 다음과 같은 모니터링 플러그인이 구현되어 있습니다.

disk
장치 및 측정 간격당 디스크 로드( IO 작업 수)를 가져옵니다.
net
네트워크 카드 및 측정 간격당 네트워크 로드(전송된 패킷 수)를 가져옵니다.
load
CPU 및 측정 간격당 CPU 부하를 가져옵니다.

플러그인 튜닝

현재 다음과 같은 튜닝 플러그인이 구현되어 있습니다. 이러한 플러그인 중 일부만 동적 튜닝을 구현합니다. 플러그인에서 지원하는 옵션도 나열됩니다.

cpu

CPU governor 옵션을 통해 지정된 값으로 CPU governor 를 설정하고 CPU 로드에 따라 PM QoS(Power Management Quality of Service) CPU Direct Memory Access(DMA) 대기 시간을 동적으로 변경합니다.

CPU 로드가 load_threshold 옵션에 지정된 값보다 작으면 대기 시간이 latency_high 옵션에 지정된 값으로 설정되고, 그렇지 않으면 latency_low 에 의해 지정된 값으로 설정됩니다.

또한 대기 시간을 특정 값으로 강제 적용하고 동적으로 변경되는 것을 방지할 수 있습니다. 이렇게 하려면 force_latency 옵션을 필요한 대기 시간으로 설정합니다.

eeepc_she

CPU 로드에 따라 프런트 사이드 버스(FSB) 속도를 동적으로 설정합니다.

이 기능은 일부 netbook에서 찾을 수 있으며 ASUS Super Hybrid Engine (SHE)이라고도합니다.

CPU 로드가 load_threshold_powersave 옵션에 지정된 값보다 작거나 같은 경우 플러그인은 FSB 속도를 she_powersave 옵션에 지정된 값으로 설정합니다. CPU 로드가 load_threshold_normal 옵션에 지정된 값과 크거나 같은 경우 FSB 속도를 she_normal 옵션에 지정된 값으로 설정합니다.

정적 튜닝이 지원되지 않으며 TuneD 에서 이 기능에 대한 하드웨어 지원을 감지하지 않으면 플러그인이 투명하게 비활성화됩니다.

net
Wake-on-LAN 기능을 wake_on_lan 옵션에 지정된 값으로 구성합니다. ethtool 유틸리티와 동일한 구문을 사용합니다. 또한 인터페이스 사용률에 따라 인터페이스 속도를 동적으로 변경합니다.
sysctl

플러그인 옵션으로 지정된 다양한 sysctl 설정을 설정합니다.

구문은 name=value 이며, 여기서 namesysctl 유틸리티에서 제공하는 이름과 동일합니다.

TuneD 에서 사용할 수 있는 다른 플러그인에서 다루지 않는 시스템 설정을 변경해야 하는 경우 sysctl 플러그인을 사용합니다. 일부 특정 플러그인에서 설정이 적용되는 경우 이러한 플러그인을 선호합니다.

usb

USB 장치의 자동 일시 중지 시간 제한을 autosuspend 매개 변수에서 지정한 값으로 설정합니다.

0 은 자동 일시 중지가 비활성화되어 있음을 의미합니다.

vm

transparent_hugepages 옵션의 값에 따라 투명한 대규모 페이지를 활성화하거나 비활성화합니다.

transparent_hugepages 옵션의 유효한 값은 다음과 같습니다.

  • "always"
  • "never"
  • "madvise"
audio

시간 제한 옵션으로 지정된 값으로 오디오 codecs의 자동 대기 시간 제한을 설정합니다.

현재 snd_hda_intelsnd_ac97_codec codecs가 지원됩니다. 값 0 은 자동 일시 중지가 비활성화되어 있음을 의미합니다. 부울 옵션 reset_controllertrue 로 설정하여 컨트롤러 재설정을 적용할 수도 있습니다.

disk

디스크 로켓을 엘리베이터 옵션에 지정된 값으로 설정합니다.

또한 다음을 설정합니다.

  • APM 옵션을 통해 지정한 값으로 설정
  • 스케줄러 _quantum 옵션에 의해 지정된 값에 대한 스케줄러 full
  • 회전 옵션에서 지정한 값에 대한 디스크 회전 시간 초과
  • readahead 매개변수로 지정된 값에 대한 디스크 readahead
  • current disk readahead to a value multiplied by the constant specified by the readahead_multiply 옵션

또한 이 플러그인은 현재 드라이브 사용률에 따라 드라이브에 대한 고급 전원 관리 및 회전 시간 초과 설정을 동적으로 변경합니다. 동적 튜닝은 부울 옵션 동적 로 제어할 수 있으며 기본적으로 활성화되어 있습니다.

scsi_host

SCSI 호스트의 옵션을 조정합니다.

Aggressive Link Power Management (ALPM)를 alpm 옵션에 지정된 값으로 설정합니다.

mounts
disable_barriers 옵션의 부울 값에 따라 마운트 장벽을 활성화하거나 비활성화합니다.
script

프로필이 로드되거나 언로드될 때 외부 스크립트 또는 바이너리를 실행합니다. 임의의 실행 파일을 선택할 수 있습니다.

중요

스크립트 플러그인은 주로 이전 릴리스와의 호환성을 위해 제공됩니다. 필요한 기능을 포함하는 경우 다른 TuneD 플러그인을 선호하십시오.

tuned 는 다음 인수 중 하나를 사용하여 실행 파일을 호출합니다.

  • 프로필을 로드할 때 시작
  • 프로필을 언로드할 때 중지

실행 파일에 stop 작업을 올바르게 구현하고 시작 작업 중에 변경한 모든 설정을 되돌립니다. 그러지 않으면 TuneD 프로필을 변경한 후 롤백 단계가 작동하지 않습니다.

Bash 스크립트는 /usr/lib/tuned/functions Bash 라이브러리를 가져오고 여기에 정의된 함수를 사용할 수 있습니다. 이러한 기능은 TuneD 에서 기본적으로 제공하지 않는 기능에만 사용하십시오. 함수 이름이 _wifi_set_power_level 과 같은 밑줄로 시작하는 경우 함수를 비공개로 간주하고 나중에 변경될 수 있으므로 스크립트에서 이 함수를 사용하지 마십시오.

플러그인 구성에서 script 매개 변수를 사용하여 실행 파일의 경로를 지정합니다.

예 2.6. 프로필에서 Bash 스크립트 실행

프로필 디렉터리에 있는 script.sh 라는 Bash 스크립트를 실행하려면 다음을 사용합니다.

[script]
script=${i:PROFILE_DIR}/script.sh
sysfs

플러그인 옵션으로 지정된 다양한 sysfs 설정을 설정합니다.

구문은 name=value 이며, 여기서 name 은 사용할 sysfs 경로입니다.

다른 플러그인에서 다루지 않는 일부 설정을 변경해야 하는 경우 이 플러그인을 사용하십시오. 필요한 설정을 포함하는 경우 특정 플러그인을 선호합니다.

video

비디오 카드에 다양한 전원 저장 수준을 설정합니다. 현재 Radeon 카드만 지원됩니다.

powersave 수준은 radeon_powersave 옵션을 사용하여 지정할 수 있습니다. 지원되는 값은 다음과 같습니다.

  • default
  • auto
  • 낮음 (LOW)
  • mid
  • 높음
  • dynpm
  • dpm-battery
  • dpm-balanced
  • dpm-perfomance

자세한 내용은 www.x.org 을 참조하십시오. 이 플러그인은 실험적이며 향후 릴리스에서 옵션이 변경될 수 있습니다.

bootloader

커널 명령줄에 옵션을 추가합니다. 이 플러그인은 GRUB 2 부트 로더만 지원합니다.

GRUB 2 설정 파일의 사용자 지정 비표준 위치는 grub2_cfg_file 옵션으로 지정할 수 있습니다.

커널 옵션이 현재 GRUB 설정 및 해당 템플릿에 추가됩니다. 커널 옵션을 적용하려면 시스템을 재부팅해야 합니다.

다른 프로필로 전환하거나 TuneD 서비스를 수동으로 중지하면 추가 옵션이 제거됩니다. 시스템을 종료하거나 재부팅하는 경우 커널 옵션은 grub.cfg 파일에 유지됩니다.

커널 옵션은 다음 구문으로 지정할 수 있습니다.

cmdline=arg1 arg2 ... argN

예 2.7. 커널 명령줄 수정

예를 들어, quiet 커널 옵션을 TuneD 프로필에 추가하려면 tuned.conf 파일에 다음 행을 포함합니다.

[bootloader]
cmdline=quiet

다음은 isolcpus=2 옵션을 커널 명령줄에 추가하는 사용자 정의 프로필의 예입니다.

[bootloader]
cmdline=isolcpus=2
service

플러그인 옵션으로 지정된 다양한 sysvinit,sysv-rc,openrcsystemd 서비스를 처리합니다.

구문은 service.service_name=command[,file:file] 입니다.

지원되는 서비스 처리 명령은 다음과 같습니다.

  • start
  • 중지
  • 활성화
  • disable

쉼표(,) 또는 ;(;)를 사용하여 여러 명령을 구분합니다. 지시문이 충돌하면 서비스 플러그인에서 마지막으로 나열된 항목을 사용합니다.

선택적 file:file 지시문을 사용하여 systemd 에 대해서만 오버레이 구성 파일인 file 을 설치합니다. 다른 init 시스템은 이 지시문을 무시합니다. 서비스 플러그인은 오버레이 구성 파일을 /etc/systemd/system/service_name.service.d/ 디렉터리에 복사합니다. 프로필이 언로드되면 서비스 플러그인은 이러한 디렉터리가 비어 있는 경우 해당 디렉터리를 제거합니다.

참고

서비스 플러그인은systemd init 이외의 시스템에서만 작동합니다.

예 2.8. 오버레이 파일을 사용하여 sendmail sendmail 서비스 시작 및 활성화

[service]
service.sendmail=start,enable,file:${i:PROFILE_DIR}/tuned-sendmail.conf

내부 변수 ${i:PROFILE_DIR} 은 플러그인이 프로필을 로드하는 디렉터리를 가리킵니다.

scheduler
스케줄링 우선 순위, CPU 코어 격리 및 프로세스, 스레드 및 IRQ 작업의 조정에 대한 다양한 옵션을 제공합니다.

사용 가능한 다양한 옵션의 세부 사항은 스케줄러 TuneD 플러그인의 기능을 참조하십시오.