3.3. tuna 툴을 사용하여 CPU 튜닝

tuna 툴 명령은 개별 CPU를 대상으로 지정할 수 있습니다.

tuna 도구를 사용하면 다음을 수행할 수 있습니다.

CPU 격리
지정된 CPU에서 실행되는 모든 작업은 사용 가능한 다음 CPU로 이동합니다. CPU를 격리하면 모든 스레드의 선호도 마스크에서 제거할 수 없습니다.
CPU 포함
지정된 CPU에서 작업을 실행 가능
CPU 복원
지정된 CPU를 이전 구성으로 복원합니다.

다음 프로세스에서는 tuna CLI를 사용하여 CPU를 조정하는 방법을 설명합니다.

사전 요구 사항

  • tuna 툴이 설치되어 있습니다. 자세한 내용은 Installing tuna 툴 을 참조하십시오.

절차

  • 명령의 영향을 받을 CPU 목록을 지정하려면 다음을 수행합니다.

    # tuna --cpus=cpu_list [command]

    cpu_list 인수는 쉼표로 구분된 CPU 번호 목록입니다. 예를 들면 --cpus=0,2 와 같습니다. CPU 목록은 범위에 지정할 수도 있습니다(예: --cpus="1-3", CPU 1, 2, 3을 선택하는 ).

    현재 cpu_list 에 특정 CPU를 추가하려면 --cpus=+0 을 사용합니다.

    [명령]을 (예: --isolate )로 바꿉니다.

  • CPU를 격리하려면 다음을 수행합니다.

    # tuna --cpus=cpu_list --isolate
  • CPU를 포함하려면 다음을 수행합니다.

    # tuna --cpus=cpu_list --include
  • 4개 이상의 프로세서가 있는 시스템을 사용하려면 모든 ssh 스레드가 CPU 01 에서 실행되고 CPU 23 의 모든 http 스레드를 실행하는 방법을 표시합니다.

    # tuna --cpus=0,1 --threads=ssh\* \
    --move --cpus=2,3 --threads=http\* --move

    이 명령은 다음 작업을 순서대로 수행합니다.

    1. CPU 01 을 선택합니다.
    2. ssh 로 시작하는 모든 스레드를 선택합니다.
    3. 선택한 스레드를 선택한 CPU로 이동합니다. tuna는 ssh 로 시작하는 스레드의 선호도 마스크를 적절한 CPU에 설정합니다. CPU는 01 로, 16진수 마스크에서 0x3으로, 또는 바이너리에서 11으로 표시할 수 있습니다.
    4. CPU 목록을 23 으로 재설정합니다.
    5. http 로 시작하는 모든 스레드를 선택합니다.
    6. 선택한 스레드를 지정된 CPU로 이동합니다. tuna는 http 로 시작하는 스레드의 선호도 마스크를 지정된 CPU로 설정합니다. CPU는 23 으로, 16진수 마스크에서 0xC로 표현하거나, 바이너리에서 1100으로 표시할 수 있습니다.

검증 단계

  • 현재 구성을 표시하고 변경 사항이 예상대로 수행되었는지 확인합니다.

    # tuna --threads=gnome-sc\* --show_threads \
    --cpus=0 --move --show_threads --cpus=1 \
    --move --show_threads --cpus=+0 --move --show_threads
    
                           thread       ctxt_switches
         pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
       3861   OTHER     0      0,1     33997           58 gnome-screensav
                           thread       ctxt_switches
         pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
       3861   OTHER     0        0     33997           58 gnome-screensav
                           thread       ctxt_switches
         pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
       3861   OTHER     0        1     33997           58 gnome-screensav
                           thread       ctxt_switches
         pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
       3861   OTHER     0      0,1     33997           58 gnome-screensav

    이 명령은 다음 작업을 순서대로 수행합니다.

    1. gnome-sc 스레드로 시작하는 모든 스레드를 선택합니다.
    2. 사용자가 선호도 마스크 및 RT 우선 순위를 확인할 수 있도록 선택한 스레드를 표시합니다.
    3. CPU 0 을 선택합니다.
    4. gnome-sc 스레드를 지정된 CPU인 CPU 0 으로 이동합니다.
    5. 이동의 결과를 표시합니다.
    6. CPU 목록을 CPU 1 로 재설정합니다.
    7. gnome-sc 스레드를 지정된 CPU인 CPU 1 로 이동합니다.
    8. 이동 결과를 표시합니다.
    9. CPU 0 을 CPU 목록에 추가합니다.
    10. gnome-sc 스레드를 지정된 CPU, CPU 01 로 이동합니다.
    11. 이동 결과를 표시합니다.

추가 리소스

  • /proc/cpuinfo 파일
  • tuna(8) 매뉴얼 페이지