带有intel_pstate的Ubuntu 15.04 – 低电流CPU频率

我已经在台式机上运行Ubuntu 15.04,配备6核5930K处理器,msi x99s主板,32gb ram,ssd和nvidia gtx 980ti。 相当令人惊讶的是,整体系统性能低于预期,比我的笔记本电脑慢得多。 至少乍一看,由于计算机是新的,我没有机会对它进行繁重的计算。 似乎问题根植于新的intel_pstate驱动程序,保持CPU频率低。

的确,cpufreq-info的输出是

analyzing CPU 0: driver: intel_pstate CPUs which run at the same hardware frequency: 0 CPUs which need to have their frequency coordinated by software: 0 maximum transition latency: 0.97 ms. hardware limits: 1.20 GHz - 3.70 GHz available cpufreq governors: performance, powersave current policy: frequency should be within 3.70 GHz and 3.70 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 428 MHz. 

任何建议,什么使cpu频率如此低,将不胜感激。

我的问题似乎与Kubuntu 15.04有关, 尽管每个任务的CPU使用率都非常高,而且我的cpu在一段时间后会慢下来并且无法恢复

虽然我还没有尝试关闭intel_pstate选项,但是希望能够正确配置以解决问题。 但是几小时的谷歌搜索,盯着配置和与intel_pstate战斗后,希望几乎消失了。

更新

 sudo cpupower -c all frequency-info analyzing CPU 0: driver: intel_pstate CPUs which run at the same hardware frequency: 0 CPUs which need to have their frequency coordinated by software: 0 maximum transition latency: 0.97 ms. hardware limits: 1.20 GHz - 3.70 GHz available cpufreq governors: performance, powersave current policy: frequency should be within 3.70 GHz and 3.70 GHz. The governor "powersave" may decide which speed to use within this range. current CPU frequency is 425 MHz (asserted by call to hardware). boost state support: Supported: yes Active: yes glxinfo | grep render direct rendering: Yes OpenGL renderer string: GeForce GTX 980 Ti/PCIe/SSE2 GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NV_conditional_render, GL_NV_conservative_raster, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, GL_EXT_render_snorm, GL_EXT_robustness, GL_EXT_sRGB, GL_NV_blend_equation_advanced_coherent, GL_NV_conditional_render, GL_NV_packed_float_linear, GL_NV_path_rendering, GL_NV_path_rendering_shared_edge, GL_NV_pixel_buffer_object, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 

i7z输出

 Cpu speed from cpuinfo 3500.00Mhz cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc Linux's inbuilt cpu_khz code emulated now True Frequency (without accounting Turbo) 3499 MHz CPU Multiplier 35x || Bus clock frequency (BCLK) 99.97 MHz Socket [0] - [physical cores=6, logical cores=12, max online cores ever=6] TURBO ENABLED on 6 Cores, Hyper Threading ON Max Frequency without considering Turbo 3598.97 MHz (99.97 x [36]) Max TURBO Multiplier (if Enabled) with 1/2/3/4/5/6 Cores is 37x/37x/36x/36x/36x/36x Real Current Frequency 800.24 MHz [99.97 x 8.00] (Max of below) Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % Temp VCore Core 1 [0]: 800.24 (8.00x) 2.38 8.1 0 91.4 28 0.7832 Core 2 [1]: 800.14 (8.00x) 3.94 25.4 0 73.7 32 0.7549 Core 3 [2]: 799.96 (8.00x) 22.9 76.7 0 18.1 27 0.7939 Core 4 [3]: 799.93 (8.00x) 3.56 8.44 0 90.7 27 0.7604 Core 5 [4]: 799.82 (8.00x) 1.11 3.16 0 96.6 28 0.7871 Core 6 [5]: 799.83 (8.00x) 4.98 12.7 0 86.2 30 0.7421 C0 = Processor running without halting C1 = Processor running with halts (States >C0 are power saver modes with cores idling) C3 = Cores running with PLL turned off and core cache turned off C6, C7 = Everything in C3 + core state saved to last level cache, C7 is deeper than C6 

的/ proc / cpuinfo中

 grep -E '^model name|^cpu MHz' /proc/cpuinfo model name : Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz cpu MHz : 422.324 

在grub config中禁用intel_pstate将当前cpu频率固定为3.5GHz,这再次有些可疑。 整体表现仍然缓慢。 然而,cpufreq-info报告了acpi-cpufreq作为驱动程序

 lsmod |grep acpi 

什么都没显示, modinfo acpi-cpufreq显示错误。

 modprobe acpi-cpufreq 

无声地执行,没有任何效果。

最后我简单地安装了Ubuntu 14.04,嘿,即使使用intel_pstate,一切都非常快。

 fram@hydra:~$ cpufreq-info cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009 Report errors and bugs to cpufreq@vger.kernel.org, please. analyzing CPU 0: driver: intel_pstate CPUs which run at the same hardware frequency: 0 CPUs which need to have their frequency coordinated by software: 0 maximum transition latency: 0.97 ms. hardware limits: 1.20 GHz - 3.70 GHz available cpufreq governors: performance, powersave current policy: frequency should be within 3.70 GHz and 3.70 GHz. The governor "powersave" may decide which speed to use within this range. current CPU frequency is 3.51 GHz. 

仍然不知道是什么原因,并希望更新不会返回问题。

这可能归因于bios限制cpu频率缩放。 要在14.04和16.04解决这个问题,我必须做以下事情:

打开grub:

 sudo vim /etc/default/grub 

替换GRUB_CMDLINE_LINUX_DEFAULT行:

 - GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" + GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable processor.ignore_ppc=1" 

更新grub:

 sudo update-grub 

然后重新启动:

 echo 1 | sudo dd of=/sys/module/processor/parameters/ignore_ppc echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq 

为我工作。 检查cpu内核的数量并相应地更新所有内容。 您可能希望将这些额外的行放在/etc/rc.local中,以便它们在每次启动时执行。

忍者编辑:将上面的2900000替换为以下值:

 cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq 

我在Ubuntu 14.04.3中使用Livid启用堆栈来生成类似的问题。

在撕掉我的头发大约一个星期后,我发现这是因为我安装了intel-microcode ,它似乎与内核3.19冲突。

一旦我删除它,问题就消失了。

由于Phoronix测试显示Skylake仍然正在制定,但内核4.2和向上都很好,所以我建议你从主线ppa安装。