CentOS 6 CPU 거버너를 온디맨드(기본값)에서 보수형으로 변경했고, cpufreq 서비스를 다시 시작한 후 다음과 같은 결과를 얻었습니다.
/etc/rc5.d/S13cpuspeed: 88행: /sys/devices/system/cpu/cpufreq/conservative/ignore_nice_load: 파일 또는 디렉터리가 존재하지 않습니다.
그럼 어떻게 해야 하나요? 이 파일을 만들어야 하나요? 그렇다면 거기에 무엇을 넣어야 할까요?
답변1
3.x 커널의 경우
최신 커널에서는 CPUFreq에 대한 인터페이스가 변경되었습니다. 여기에는 CentOS 6이 포함됩니다. 다음 제목의 Red Hat Enterprise Linux(RHEL) 문서에서 전체 인터페이스에 대해 읽을 수 있습니다.3장 핵심 인프라 및 메커니즘.
구체적으로CPU 주파수 설정. 설정하는 데 필요한 단계는 다음과 같습니다.
CPU 주파수 드라이버
$ ls -1 /lib/modules/`uname -r`/kernel/arch/x86/kernel/cpu/cpufreq/
acpi-cpufreq.ko
mperf.ko
p4-clockmod.ko
pcc-cpufreq.ko
powernow-k8.ko
speedstep-lib.ko
적절한 드라이버를 로드하세요.
$ modprobe acpi-cpufreq
CPUPower 도구 설치
$ yum install cpupowerutils
거버너 보기
$ cpupower frequency-info --governors
analyzing CPU 0:
ondemand userspace performance
따라서 현재 다음 3개의 거버너만 로드되어 있습니다.주문형,사용자 공간, 그리고성능.
로드 누락 거버너
아래와 같이 사용 가능한 모든 거버너 목록을 얻을 수 있습니다.
$ ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/
cpufreq_conservative.ko
cpufreq_ondemand.ko
cpufreq_powersave.ko
cpufreq_stats.ko
freq_table.ko
$ modprobe cpufreq_powersave
지금까지 확인된 모듈:
$ lsmod |grep cpuf
cpufreq_powersave 1196 0
cpufreq_ondemand 10544 8
acpi_cpufreq 7763 0
freq_table 4936 2 cpufreq_ondemand,acpi_cpufreq
mperf 1557 1 acpi_cpufreq
어떤 거버너가 로드되었는지 확인
$ cpupower frequency-info --governors
analyzing CPU 0:
powersave ondemand userspace performance
현재 정책 보기
$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1 2 3 4 5 6 7
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.60 GHz - 3.20 GHz
available frequency steps: 3.20 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
available cpufreq governors: powersave, ondemand, userspace, performance
current policy: frequency should be within 1.60 GHz and 3.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.60 GHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
2500 MHz max turbo 4 active cores
2500 MHz max turbo 3 active cores
2500 MHz max turbo 2 active cores
2600 MHz max turbo 1 active cores
위의 출력에서 현재 전략이 다음과 같다는 것을 알 수 있습니다.주문형. 정책과 속도를 조정하려면 다음 명령을 사용하십시오.
$ cpupower frequency-set --governor performance
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
새 주지사 확인
$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1 2 3 4 5 6 7
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.60 GHz - 3.20 GHz
available frequency steps: 3.20 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
available cpufreq governors: powersave, ondemand, userspace, performance
current policy: frequency should be within 1.60 GHz and 3.20 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 3.20 GHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
2500 MHz max turbo 4 active cores
2500 MHz max turbo 3 active cores
2500 MHz max turbo 2 active cores
2600 MHz max turbo 1 active cores
정책 내에서 최소/최대 CPU 빈도를 조정할 수도 있습니다 cpupower frequency-set --min <freq> --max <freq>
. 이것 좀 봐할 수 있는 작업에 대한 자세한 내용을 알아볼 수 있는 페이지cpupower frequency-set
.
cpupowerutils 없이 위 작업을 수행하세요.
마지막으로, cpupowerutils 패키지가 설치되어 있지 않은 경우 이전 2.6 커널에서 했던 것처럼 상호 작용할 수 있습니다. 가장 중요한 것은 값을 sysfs
파일 시스템에 반영하는 것입니다.
예를 들어
$ echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
2.6 커널의 경우
다양한 내용을 읽을 수 있습니다.이 웹사이트의 cpufreq 기능.
에서 발췌Linux에서 CPU 주파수를 조정하려면 cpufreq를 사용하세요.
ignore_nice_load - 이 매개변수의 값은 "0" 또는 "1"입니다. "0"(기본값)으로 설정하면 모든 프로세스가 "CPU 사용률" 값으로 계산됩니다. "1"로 설정하면 "nice" 값으로 실행되는 프로세스는 전체 사용량 계산에서 계산되지 않습니다(따라서 무시됩니다). 이는 랩톱에서 CPU 집약적인 계산을 실행하고 완료하는 데 걸리는 시간이 중요하지 않은 경우에 유용합니다. 이를 "최적화"하고 여부에 대한 의사 결정 프로세스에 관여하는 것을 방지할 수 있기 때문입니다. CPU 주파수를 높이려면 이 기능을 켜려면 다음을 수행하십시오.
sudo sh -c "echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load"
이것이 기본값이어야 하므로 이 파일에 0을 넣겠습니다. 좋은 장기 실행 프로세스가 있는 경우(매우 의심스럽습니다) 이 값을 1로 설정할 수 있습니다.