27.10. 대기 시간이 짧은 튜닝에 TuneD cpu-partitioning 프로필 사용
TuneD의 cpu-partitioning 프로필을 사용하여 대기 시간이 짧은 시스템을 조정할 수 있습니다. 이 경우 애플리케이션은 다음을 사용합니다.
- 네트워크에서 데이터를 읽는 전용 리더 스레드가 CPU 2에 고정됩니다.
- 이 네트워크 데이터를 처리하는 다수의 스레드는 CPU 4-23에 고정됩니다.
- 처리된 데이터를 네트워크에 쓰는 전용 작성기 스레드가 CPU 3에 고정됩니다.
사전 요구 사항
-
dnf install tuned-profiles-을 설치했습니다.cpu-partitioning명령을 root로 사용하여 cpu-partitioning TuneD 프로필
프로세스
다음 변경 사항으로
/etc/tuned/cpu-partitioning-variables.conf파일을 편집합니다.isolated_cores=${f:calc_isolated_cores:1}행을 주석 처리합니다.# isolated_cores=${f:calc_isolated_cores:1}분리된 CPU에 대해 다음 정보를 추가합니다.
# All isolated CPUs: isolated_cores=2-23 # Isolated CPUs without the kernel’s scheduler load balancing: no_balance_cores=2,3cpu-partitioning TuneD 프로필을 설정합니다.
# tuned-adm profile cpu-partitioning
시스템을 재부팅합니다.
재부팅 후 cpu-partitioning 그림의 격리에 따라 시스템이 짧은 대기 시간을 위해 조정됩니다. 애플리케이션은 taskset을 사용하여 CPU 2 및 3에 판독기 및 작성기 스레드를 고정하고 CPU 4-23의 나머지 애플리케이션 스레드를 사용할 수 있습니다.
검증
분리된 CPU가 Cpus_allowed_list 필드에 반영되지 않았는지 확인합니다.
# cat /proc/self/status | grep Cpu Cpus_allowed: 003 Cpus_allowed_list: 0-1모든 프로세스의 선호도를 보려면 다음을 입력합니다.
# ps -ae -o pid= | xargs -n 1 taskset -cp pid 1's current affinity list: 0,1 pid 2's current affinity list: 0,1 pid 3's current affinity list: 0,1 pid 4's current affinity list: 0-5 pid 5's current affinity list: 0,1 pid 6's current affinity list: 0,1 pid 7's current affinity list: 0,1 pid 9's current affinity list: 0 ...참고tuned는 일부 프로세스의 선호도(대부분 커널 프로세스)를 변경할 수 없습니다. 이 예에서는 PID 4 및 9가 있는 프로세스는 변경되지 않습니다.