Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.2. tuned 및 tuned-adm을 통한 성능 튜닝

tuned 튜닝 서비스는 튜닝 프로필을 설정하여 특정 워크로드에서 더 잘 수행할 수 있도록 운영 체제를 조정할 수 있습니다. tuned-adm 명령줄 툴을 사용하면 사용자가 다양한 튜닝 프로필 간에 전환할 수 있습니다.

tuned 프로필 개요

일반적인 사용 사례에 대해 미리 정의된 여러 프로필이 포함되어 있지만 tuned 를 사용하면 사전 정의된 프로필 중 하나를 기반으로 하거나 처음부터 정의할 수 있는 사용자 지정 프로필을 정의할 수 있습니다. Red Hat Enterprise Linux 7에서 기본 프로필은 throughput-performance 입니다.
tuned 와 함께 제공되는 프로필은 전원 설정 프로필 및 성능 표시 프로필의 두 가지 범주로 나뉩니다. performance-boosting 프로필에는 다음과 같은 측면에 중점을 둡니다.
  • 스토리지 및 네트워크에 대한 짧은 대기 시간
  • 스토리지 및 네트워크에 대한 높은 처리량
  • 가상 머신 성능
  • 가상화 호스트 성능

tuned Boot Loader 플러그인

tuned Bootloader 플러그인 을 사용하여 커널(boot 또는 dracut) 명령줄에 매개변수를 추가할 수 있습니다. GRUB 2 부트 로더만 지원되며 프로필 변경 사항을 적용하려면 재부팅이 필요합니다. 예를 들어, quiet 매개변수를 tuned 프로필에 추가하려면 tuned.conf 파일에 다음 행을 포함합니다.
[bootloader]
cmdline=quiet
다른 프로필로 전환하거나 tuned 서비스를 수동으로 중지하면 추가 매개변수가 제거됩니다. 시스템을 종료하거나 재부팅하면 kernel 매개변수가 grub.cfg 파일에 유지됩니다.

환경 변수 및 조정된 기본 제공 함수 확장

GRUB 2 구성을 업데이트한 후 tuned-adm 프로필 profile_name 을 실행한 다음 grub2-mkconfig -o profile_path 를 실행하면 grub2-mkconfig 를 실행한 후 확장되는 Bash 환경 변수를 사용할 수 있습니다. 예를 들어 다음 환경 변수는 nfsroot=/root 로 확장됩니다.
[bootloader]
cmdline="nfsroot=$HOME"
tuned 변수를 환경 변수의 대안으로 사용할 수 있습니다. 다음 예에서 ${isolated_cores}1,2 로 확장되므로 isolcpus=1,2 매개변수로 커널이 부팅됩니다.
[variables]
isolated_cores=1,2

[bootloader]
cmdline=isolcpus=${isolated_cores}
다음 예에서 ${non_isolated_cores}0,3-5 로 확장되고 cpulist_invert 기본 제공 함수는 0,3-5 인수를 사용하여 호출됩니다.
[variables]
non_isolated_cores=0,3-5

[bootloader]
cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}
cpulist_invert 함수는 CPU 목록을 반전합니다. 6-CPU 머신의 경우 inversion은 1,2 이며 커널은 isolcpus=1,2 명령줄 매개변수로 부팅됩니다.
tuned 환경 변수를 사용하면 필요한 입력 양이 줄어듭니다. tuned 변수와 함께 다양한 기본 제공 함수를 사용할 수도 있습니다. 기본 제공 함수가 요구 사항을 충족하지 않는 경우 Python에서 사용자 지정 함수를 생성하고 플러그인 형태로 조정 되도록 추가할 수 있습니다. tuned 프로필이 활성화되면 변수 및 기본 제공 함수는 런타임에 확장됩니다.
변수는 별도의 파일에서 지정할 수 있습니다. 예를 들어 tuned.conf 에 다음 행을 추가할 수 있습니다.
[variables]
include=/etc/tuned/my-variables.conf

[bootloader]
cmdline=isolcpus=${isolated_cores}
isolated_cores=1,2/etc/tuned/my-variables.conf 파일에 추가하는 경우 커널은 isolcpus=1,2 매개변수로 부팅됩니다.

기본 시스템 조정 프로필 수정

기본 시스템 tuned 프로필을 수정하는 방법은 다음 두 가지가 있습니다. 새 tuned 프로필 디렉터리를 생성하거나 시스템 프로필의 디렉터리를 복사하고 필요에 따라 프로필을 편집할 수 있습니다.

절차 3.1. 새 Tuned 프로필 디렉터리 생성

  1. /etc/tuned/ 에서 만들려는 프로필과 동일한 이름의 새 디렉토리를 /etc/tuned/my_profile_name/ 로 만듭니다.
  2. 새 디렉터리에서 tuned.conf 라는 파일을 생성하고 맨 위에 다음 행을 포함합니다.
    [main]
    include=profile_name
  3. 프로필 수정 사항을 포함합니다. 예를 들어, 기본값 10 대신 vm.swappiness 값을 5로 설정하여 throughput-performance 프로필의 설정을 사용하려면 다음 행을 포함합니다.
    [main]
    include=throughput-performance
    
    [sysctl]
    vm.swappiness=5
    
  4. 프로필을 활성화하려면 다음을 실행합니다.
    # tuned-adm profile my_profile_name
tuned.conf 파일을 사용하여 디렉터리를 생성하면 시스템 tuned 프로필이 업데이트된 후 모든 프로필 수정을 유지할 수 있습니다.
또는 /user/lib/tuned/ 에서 /etc/tuned/ 로 시스템 프로필이 있는 디렉터리를 복사합니다. 예를 들면 다음과 같습니다.
# cp -r /usr/lib/tuned/throughput-performance /etc/tuned
그런 다음 필요에 따라 /etc/tuned 의 프로필을 편집합니다. 동일한 이름의 프로필이 두 개 있는 경우 /etc/tuned/ 에 있는 프로필이 로드됩니다. 이 방법의 단점은 조정된 업그레이드 후 시스템 프로필이 업데이트되면 현재 릴리스된 수정된 버전에 변경 사항이 반영되지 않는다는 것입니다.

Resources

자세한 내용은 A.4절. “tuned”A.5절. “tuned-adm”을 참조하십시오. tunedtuned-adm 사용에 대한 자세한 내용은 tuned(8)tuned-adm(1) 매뉴얼 페이지를 참조하십시오.