# 通过动态电压和频率调节来优化 CPU 功耗和性能

动态电压和频率调节 (DVFS) 是一种用于降低 CPU 在工作期间功耗的技术。该技术可根据负载要求切换 CPU 核频率。DVFS 有助于平衡设备的功耗、性能和温控行为。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export dvfs-workflow.svg Layer_1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="9.5151in" height="1.8151in" viewbox="0 0 685.088 130.688" xml:space="preserve" color-interpolation-filters="sRGB" class="st9 align-center" aria-label="../../_images/dvfs-workflow.svg"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: #fafafa; stroke: #d2d7e1; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st2 { fill: #6280cc; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st3 { fill: #ffffff; font-family: SimHei; font-size: 1.00001em }
.svg-1 .st4 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st5 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st6 { fill: #ffffff; font-family: Roboto; font-size: 1.00001em }
.svg-1 .st7 { font-family: SimHei; font-size: 1em }
.svg-1 .st8 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st9 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>Layer_1</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<v:layer v:name="Connector" v:index="0"></v:layer>	<g id="shape1-1" v:mid="1" v:groupcontext="shape" transform="translate(0.375,-0.375)">		<title>Sheet.1</title>		<path d="M0 129.19 A1.50003 1.50003 -180 0 0 1.5 130.69 L682.84 130.69 A1.50003 1.50003 -180 0 0 684.34 129.19 L684.34					 2.25 A1.50003 1.50003 -180 0 0 682.84 0.75 L1.5 0.75 A1.50003 1.50003 -180 0 0 -0 2.25 L0 129.19 Z" class="st1"></path>	</g>	<g id="shape3-3" v:mid="3" v:groupcontext="shape" transform="translate(17.85,-78.6825)">		<title>Sheet.3</title>		<desc>工作负载监控</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="69.3" cy="113.362" width="138.6" height="34.65"></v:textrect>		<path d="M0 127.96 A2.73006 2.73006 -180 0 0 2.73 130.69 L135.87 130.69 A2.73006 2.73006 -180 0 0 138.6 127.96 L138.6					 98.77 A2.73006 2.73006 -180 0 0 135.87 96.04 L2.73 96.04 A2.73006 2.73006 -180 0 0 0 98.77 L0 127.96 Z" class="st2"></path>		<text x="33.3" y="116.96" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>工作负载监控</text>		</g>	<g id="shape5-6" v:mid="5" v:groupcontext="shape" transform="translate(182.438,-78.6825)">		<title>Sheet.5</title>		<desc>负载需求分析</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="77.9625" cy="113.362" width="155.93" height="34.65"></v:textrect>		<path d="M0 128.18 A2.50506 2.50506 -180 0 0 2.5 130.69 L153.42 130.69 A2.50506 2.50506 -180 0 0 155.93 128.18 L155.92					 98.54 A2.50506 2.50506 -180 0 0 153.42 96.04 L2.5 96.04 A2.50506 2.50506 -180 0 0 0 98.54 L0 128.18 Z" class="st2"></path>		<text x="41.96" y="116.96" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>负载需求分析</text>		</g>	<g id="shape8-9" v:mid="8" v:groupcontext="shape" transform="translate(156.45,-96.0075)">		<title>Sheet.8</title>		<path d="M0 130.69 L21.68 130.69" class="st4"></path>	</g>	<g id="shape9-12" v:mid="9" v:groupcontext="shape" transform="translate(177.255,-93.015)">		<title>Sheet.9</title>		<path d="M0 130.69 L5.18 127.7 L0 124.7 L0 130.69 Z" class="st5"></path>	</g>	<g id="shape11-14" v:mid="11" v:groupcontext="shape" transform="translate(338.07,-96.0075)">		<title>Sheet.11</title>		<path d="M0 130.69 L21.68 130.69" class="st4"></path>	</g>	<g id="shape12-17" v:mid="12" v:groupcontext="shape" transform="translate(358.875,-93.015)">		<title>Sheet.12</title>		<path d="M0 130.69 L5.18 127.7 L0 124.7 L0 130.69 Z" class="st5"></path>	</g>	<g id="shape13-19" v:mid="13" v:groupcontext="shape" transform="translate(363.765,-78.6825)">		<title>Sheet.13</title>		<desc>CPU 频率驱动程序</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="69.3" cy="113.362" width="138.6" height="34.65"></v:textrect>		<path d="M0 128.18 A2.50506 2.50506 -180 0 0 2.5 130.69 L136.09 130.69 A2.50506 2.50506 -180 0 0 138.6 128.18 L138.6					 98.54 A2.50506 2.50506 -180 0 0 136.09 96.04 L2.5 96.04 A2.50506 2.50506 -180 0 0 0 98.54 L0 128.18 Z" class="st2"></path>		<text x="20.23" y="117.36" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CPU <tspan class="st7">频率驱动程序</tspan></text>		</g>	<g id="shape16-23" v:mid="16" v:groupcontext="shape" transform="translate(502.507,-96.0075)">		<title>Sheet.16</title>		<path d="M0 130.69 L21.68 130.69" class="st4"></path>	</g>	<g id="shape17-26" v:mid="17" v:groupcontext="shape" transform="translate(523.312,-93.015)">		<title>Sheet.17</title>		<path d="M0 130.69 L5.18 127.7 L0 124.7 L0 130.69 Z" class="st5"></path>	</g>	<g id="shape18-28" v:mid="18" v:groupcontext="shape" transform="translate(528.637,-78.6825)">		<title>Sheet.18</title>		<desc>CPUCP 固件</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="69.3" cy="113.362" width="138.6" height="34.65"></v:textrect>		<path d="M0 128.18 A2.50506 2.50506 -180 0 0 2.5 130.69 L136.09 130.69 A2.50506 2.50506 -180 0 0 138.6 128.18 L138.6					 98.54 A2.50506 2.50506 -180 0 0 136.09 96.04 L2.5 96.04 A2.50506 2.50506 -180 0 0 0 98.54 L0 128.18 Z" class="st2"></path>		<text x="36.54" y="117.36" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CPUCP <tspan class="st7">固件</tspan></text>		</g>	<g id="shape20-32" v:mid="20" v:groupcontext="shape" transform="translate(528.637,-17.355)">		<title>Sheet.20</title>		<desc>电压调节</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="69.3" cy="113.362" width="138.6" height="34.65"></v:textrect>		<path d="M0 128.18 A2.50506 2.50506 -180 0 0 2.5 130.69 L136.09 130.69 A2.50506 2.50506 -180 0 0 138.6 128.18 L138.6					 98.54 A2.50506 2.50506 -180 0 0 136.09 96.04 L2.5 96.04 A2.50506 2.50506 -180 0 0 0 98.54 L0 128.18 Z" class="st2"></path>		<text x="45.3" y="116.96" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>电压调节</text>		</g>	<g id="shape23-35" v:mid="23" v:groupcontext="shape" transform="translate(728.625,52.695) rotate(90)">		<title>Sheet.23</title>		<path d="M0 130.69 L21.68 130.69" class="st4"></path>	</g>	<g id="shape24-38" v:mid="24" v:groupcontext="shape" transform="translate(594.945,-52.005)">		<title>Sheet.24</title>		<path d="M0 125.51 L2.99 130.69 L5.99 125.51 L0 125.51 Z" class="st5"></path>	</g>	<g id="shape25-40" v:mid="25" v:groupcontext="shape" transform="translate(363.765,-17.355)">		<title>Sheet.25</title>		<desc>频率调节</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="69.3" cy="113.362" width="138.6" height="34.65"></v:textrect>		<path d="M0 128.18 A2.50506 2.50506 -180 0 0 2.5 130.69 L136.09 130.69 A2.50506 2.50506 -180 0 0 138.6 128.18 L138.6					 98.54 A2.50506 2.50506 -180 0 0 136.09 96.04 L2.5 96.04 A2.50506 2.50506 -180 0 0 0 98.54 L0 128.18 Z" class="st2"></path>		<text x="45.3" y="116.96" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>频率调节</text>		</g>	<g id="shape28-43" v:mid="28" v:groupcontext="shape" transform="translate(563.753,52.695) rotate(90)">		<title>Sheet.28</title>		<path d="M0 130.69 L21.68 130.69" class="st4"></path>	</g>	<g id="shape29-46" v:mid="29" v:groupcontext="shape" transform="translate(430.073,-52.005)">		<title>Sheet.29</title>		<path d="M0 125.51 L2.99 130.69 L5.98 125.51 L0 125.51 Z" class="st5"></path>	</g>	<g id="shape36-48" v:mid="36" v:groupcontext="shape" v:layermember="0" transform="translate(424.065,-78.6825)">		<title>Dynamic connector</title>		<path d="M9 130.69 L9 152.18" class="st8"></path>	</g>	<g id="shape37-51" v:mid="37" v:groupcontext="shape" v:layermember="0" transform="translate(588.937,-78.6825)">		<title>Dynamic connector.37</title>		<path d="M9 130.69 L9 152.18" class="st8"></path>	</g></g>
</svg>

**图：DVFS 工作流**

有关 DVFS 的更多信息，请参阅 [index: kernel/git/torvalds/linux.git](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/cpu-freq?h=v6.6)。

例如，如果可用的 CPU 频率为 1 GHz、1.5 GHz 和 2 GHz，而应用必须在 1 GHz 下运行，则 CPU 的最高频率应为 1 GHz。该机制通过确保适当使用 CPU 频率和电压来优化 CPU 功耗，从而支持高性能运行。

## 定制 CPU 频率

下表列出了用于调试 CPU 频率以平衡功耗和性能的命令：

表：用于调试 CPU 频率的命令

| 命令 | 说明 |
| --- | --- |
| cat /sys/devices/system/cpu/cpufreq/policy<x>/scaling_cur_freq<br>    Copy to clipboard | 读取现有 CPU 频率 |
| cat /sys/devices/system/cpu/cpufreq/policy<x>/scaling_available_frequencies<br>    Copy to clipboard | 读取支持的频率 |
| cat /sys/devices/system/cpu/cpufreq/policy<x>/scaling_min_freq<br>    Copy to clipboard | 读取支持的 CPU 最低频率 |
| echo <cpu freq in KHz> > /sys/devices/system/cpu/cpufreq/policy<x>/scaling_min_freq<br>    Copy to clipboard | <ul class="simple"><br><li><p>设置 CPU 最低频率</p></li><br><li><p>覆盖现有的 CPU 最低频率</p></li><br><li><p>从 <code class="docutils literal notranslate"><span class="pre">scaling_available_frequencies</span></code> 设置任意频率</p></li><br></ul> |
| cat /sys/devices/system/cpu/cpufreq/policy<x>/scaling_max_freq<br>    Copy to clipboard | 读取支持的最大 CPU 频率 |
| echo <cpu freq in KHz> > /sys/devices/system/cpu/cpufreq/policy<x>/scaling_max_freq<br>    Copy to clipboard | <ul class="simple"><br><li><p>设置支持的最大 CPU 频率</p></li><br><li><p>覆盖现有的最大 CPU 频率</p></li><br><li><p>从 <code class="docutils literal notranslate"><span class="pre">scaling_available_frequencies</span></code> 设置任意频率</p></li><br></ul> |

Tab QCS6490/QCS5430
Tab IQ-9075
Tab IQ-8275
Tab IQ-615

Note

`<x>` 指 0、4 和 7。

- 0 表示小核群集
- 4 表示大核群集
- 7 表示超大核群集
- 频率单位为 KHz

Note

`<x>` 指 0 和 4。

- 0 表示 Cluster0
- 4 表示 Cluster1
- 频率单位为 KHz

Note

`<x>` 指 0、2 和 4。

> 
> 
> - 0 表示大核群集
> - 2 表示超大核群集
> - 4 表示小核群集
> - 频率单位为 KHz

Note

`<x>` 指 0 和 4。

- 0 表示小核群集
- 4 表示大核群集
- 频率单位为 KHz

Note

通过 `SSH` 命令进行的任何修改都会在设备复位时恢复为默认值。

## 后续步骤

- [高效的 CPU 空闲功耗管理](https://docs.qualcomm.com/doc/80-70023-30SC/topic/idlepowermanagement.html#idlepowermanagement)
- [监控 suspend 功耗管理](https://docs.qualcomm.com/doc/80-70023-30SC/topic/suspend-power-management-state.html#suspend-power-management-state)
- [利用功耗 QoS API 实现高效唤醒延迟](https://docs.qualcomm.com/doc/80-70023-30SC/topic/pmqos.html#pmqos)

Last Published: Jan 19, 2026

[Previous Topic
CPU 功耗管理](https://docs.qualcomm.com/bundle/publicresource/80-70023-30SC/topics/cpupowermanagement.md) [Next Topic
管理 CPU 空闲电源状态以提高能效](https://docs.qualcomm.com/bundle/publicresource/80-70023-30SC/topics/idlepowermanagement.md)