24.3. tuna 툴을 사용하여 CPU 튜닝
tuna 명령은 개별 CPU를 관리할 수 있습니다. tuna 툴을 사용하면 다음 작업을 수행할 수 있습니다.
- CPU 분리
- 지정된 CPU에서 실행되는 모든 작업은 사용 가능한 다음 CPU로 이동합니다. CPU를 격리하면 모든 스레드의 선호도 마스크에서 이 CPU를 제거할 수 없습니다.
- CPU 포함
- 지정된 CPU에서 작업을 실행할 수 있습니다.
- CPU 복원
- 지정된 CPU를 이전 구성으로 복원합니다.
사전 요구 사항
-
tuna툴이 설치되어 있습니다. 자세한 내용은 tuna 툴 설치를 참조하십시오.
프로세스
현재 실행 중인 모든 프로세스를 나열합니다.
# ps ax | awk 'BEGIN { ORS="," }{ print $1 }' PID,1,2,3,4,5,6,8,10,11,12,13,14,15,16,17,19tuna인터페이스에서 스레드 목록을 표시합니다.# tuna show_threads -t 'thread_list from above cmd'시나리오에 따라 다음 작업 중 하나를 사용하여 프로세스의 CPU 선호도를 관리합니다.
# tuna [command] --cpus cpu_list-
cpu_list 인수는 쉼표로 구분된 CPU 번호 목록입니다(예:
--cpus 0,2). -
현재 cpu_list 에 특정 CPU를 추가하려면 (예:
--cpus +0)를 사용합니다.
-
cpu_list 인수는 쉼표로 구분된 CPU 번호 목록입니다(예:
시나리오에 따라 다음 작업 중 하나를 수행합니다.
CPU를 분리하려면 다음을 입력합니다.
# tuna isolate --cpus cpu_listCPU를 포함하려면 다음을 입력합니다.
# tuna include --cpus cpu_list
4개 이상의 프로세서가 있는 시스템을 사용하려면 모든
ssh스레드가 CPU0과1과 CPU2및3에서 모든http스레드에서 실행되도록 합니다.# tuna move --cpus 0,1 -t ssh*# tuna move --cpus 2,3 -t http\*
검증
현재 구성을 표시하여 적용된 변경 사항을 확인합니다.
# tuna show_threads -t ssh* pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 855 OTHER 0 0,1 23 15 sshd# tuna show_threads -t http\* pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 855 OTHER 0 2,3 23 15 http자세한 내용은 시스템의
/proc/cpuinfo파일 및tuna(8)도움말 페이지를 참조하십시오.