欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Linux 内核剪切-04

最编程 2024-03-13 11:41:00
...

说明:非原创,资料及技术来自网络
内核版本:6.1TLS
适合硬件:i3-4350/B85/WiFi-BCM43224/蓝牙-BCM20702/USB声卡-C-Media
裁剪后内核大小:约4.6M(原大小11M)
启动时间:5s内(archlinux+EFISTUB BootLoader)

04 Power management and ACPI options --->

[ ] Suspend to RAM and standby
> ACPI S3休眠支持,要在BIOS中开启S3配合使用。
> 系统休眠后,除了内存之外其它所有部件都停止工作。按开机键直接从内存恢复休眠前的工作状态,约等于快速开机。
> 使用此功能的命令"echo mem > /sys/power/state"。
> 现代的硬件开机速度在几秒之内,桌面系统的这个需求也不大,选择关闭。

[ ] Hibernation (aka 'suspend to disk')
> ACPI S4休眠支持,用内核引导参数"resume=/dev/swappartition" 配合使用。
> 系统休眠后,将内存的内容保存到硬盘(hibernation),所有部件全都停止工作。
> 使用此功能的命令"echo disk > /sys/power/state"。
> 如果不要从先前的休眠状态中恢复,使用"noresume"内核引导参数开机。
> 同样选择关闭。

[ ] Opportunistic sleep
> 一种激进的电源管理模式,以尽可能节约电力为目的。
> 系统默认就处于休眠状态,仅为内存和少数唤醒系统的必须设备供电,需要运行的时候才唤醒相关组件工作,工作完成后又立即进入休眠状态。这些特性需要相应的设备驱动程序支持,目前除了安卓设备,在PC和服务器领域,能够利用此特性的驱动还比较少。
> 关闭。

[ ] User space wakeup sources interface
> 允许用户空间的程序通过sys文件系统接口创建/激活/撤销系统的"唤醒源"。需要与CONFIG_PM_AUTOSLEEP配合使用。
> 关闭。

[ ] Device power management core functionality
> 允许硬盘/网卡/声卡等设备在系统运行时进入省电模式,在需要时才唤醒工作。
> 此功能需要硬件支持,笔记本/嵌入式系统选上,桌面系统不选。

[ ] Power Management Debug Support
> 不选。调试选项。

[ ] Enable workqueue power-efficient mode by default
> 不选。节能选项,选上有微小性能损失。
> 不选使用"per-cpu workqueue"缓存工作模式,性能更好但耗电。
> 选上使用"unbound workqueue"缓存工作模式降低功耗,默认开启"workqueue.power_efficient"内核引导参数。

[ ] Energy Model for devices with DVFS (CPUs, GPUs, etc)
> 不选。DVFS(Dynamic Voltage and Frequency Scaling)动态电压频率调节是一种节能技术,笔记本嵌入设备的选项。
> 散热子系统或任务调度器可以访问能源模型的框架,利用设备消耗的能量信息调整设备电压频率。
> 开启后可以在/sys/devices/system/cpu/cpufreq 下生成调节策略。

[*] ACPI (Advanced Configuration and Power Interface) Support --->
> 必选。ACPI(高级电源管理配置选项)已经成为x86平台必不可少的组件。
--- ACPI (Advanced Configuration and Power Interface) Support
[ ] AML debugger interface
> 不选,调试选项。
[ ] ACPI Serial Port Console Redirection Support
> 不选,串口重定向支持,需要bios支持才能实现。一般是服务器主板有此功能。
> 在系统加电启动而显示输出还未能工作之前,串口将启动信息重定向输出到显示设备。
[*] ACPI Firmware Performance Data Table (FPDT) support
> 选上,bios中有个区块存放FPDT表,此表提供系统启动时间的信息、S3休眠状态等资料。
[ ] Allow supported ACPI revision to be overridden
> 不选,内核只支持ACPI v4规范,某些固件是支持ACPI v5规范,选中此项诱骗固件认为内核支持"ACPI v5"规范,相当于使用了"acpi_rev_override"内核引导参数。
> 例如Dell XPS 13 (2015) 在不开启此项的内核上,固件将声卡的工作模式从HDA模式(Linux首选模式)转换成I2S模式(次选模式)。
< > EC read/write access through /sys/kernel/debug/ec
> 调试选项。
< > AC Adapter
> 不选,笔记本选项。允许切换外接电源和内置电池供电。
< > Battery
> 不选,笔记本选项。可以从/proc/acpi/battery 接口查看电池信息。
{*} Button
> 必选。电源开关等各种按钮开关需要此项提供支持。
> 可通过 /proc/acpi/event 接口获取数据来执行对应的动作,如笔记本合盖休眠等。
{*} Video
> 用核显的必选,为核显提供电源管理支持。
<*> Fan
> 必选,允许用户层的程序对风扇进行控制(开/关/查询状态)。
< > ACPI Time and Alarm (TAD) Device Support
> 不选,系统实时计时器RTC的高级替代,在系统关闭后也能跟踪时间变化。
[ ] Dock
> 不选,笔记本选项。为笔记本外接Dock设备提供支持。
-- Processor
> 必选,芯片高级电源管理。
< > Processor Aggregator
> 不选,目前只支持逻辑芯片(也就是超线程出来的芯片)节能。
> ACPI 4.0规范及以上支持的芯片聚合器(processor Aggregator)功能。
<*> Thermal Zone
> 必选。温度控制管理,支持系统控制风扇等散热器的调节。
[ ] Allow upgrading ACPI tables via initrd
> 不选,通过initrd升级ACPI表的功能,没此需要。
[ ] Debug Statements
> 不选,APCI调试选项。
[ ] PCI slot detection driver
> 不选,为系统每个PCI插槽创建文件/sys/bus/pci/slots/。
[ ] Container and Module Devices
> 不选,服务器选项。
> 如果Symmetric multi-processing support(SMP)多物理CPU支持选Y,此选项将默认选Y不可修改。
> 支持NUMA节点/CPU/内存的热插拔,Device ID: ACPI0004, PNP0A05, PNP0A06。
< > Smart Battery System
> 不选,笔记本选项。
> 智能电池系统(Smart Battery System)让笔记本显示和管理详细精确的电池状态信息,但不是所有笔记本都支持。
[ ] Hardware Error Device
> 不选,没有这个设备。
> Hardware Error Device (Device ID: PNP0C33) 通过SCI报告硬件错误。
> 查看是否有此设备:find /sys/devices/ -name "PNP0C33
"。
< > Allow ACPI methods to be inserted/replaced at run time
> 不选,允许在系统运行时修改ACPI模块,有一定危险性。
[ ] Boottime Graphics Resource Table support
> 不选,允许操作系统获取ACPI中的启动图片资源(splash)。
[ ] ACPI Platform Error Interface (APEI)
[ ] APEI Generic Hardware Error Source
[ ] APEI memory error recovering support
> 不选上面三项。
> ACPI 4.0规范和以上支持的高级平台错误接口(ACPI Platform Error Interface),主要是主板firmware/bios与系统协调处理某些非规范硬件导致的错误。
< > APEI Error INJection (EINJ)
< > APEI Error Record Serialization Table (ERST)

Debug Support
> 不选上面二项,AEPI调试选项。
[ ] Intel DPTF (Dynamic Platform and Thermal

Framework) Support --->
--- Intel DPTF (Dynamic Platform and Thermal Framework) Support
< > Platform Power DPTF Participant
< > PCH FIVR DPTF Participant
> 不选,平板笔记本选项。
> 控制触屏和温控,主要功能就是CPU温度过高的时候给CPU降频。但此功能过于保守导致一些笔记本CPU降频过多。
< > Extended Error Log support
> 不选,服务器选项。
> 提供MCE或CMCI机制之外的错误报告支持。
< > ACPI configfs support
> 不选,开启ACPI表的配置支持,有一定的危险性。
[ ] PMIC (Power Management Integrated Circuit) operation region support ----
> 不选,电源管理芯片(PMIC)支持,这类芯片常用于以电池为电源的嵌入设备或平板中。

[ ] Platform Runtime Mechanism Support
> 不选,APCI 6.4规范开始PRM支持,主要是用于服务器开机调用AML表。
CPU Frequency scaling --->
[*] CPU Frequency scaling
> 必选,CPU频率调节。如果是用于虚拟机的内核就没有必要。
[ ] cpu frequency transition statistics
> 不选,用sysfs文件系统输出CPU频率变化的统计信息。
Default CPUFreq governor (ondemand) --->
performance
powersave
userspace
<X> ondemand
conservative
schedutil
> 默认的CPU频率调节策略。
-*- 'performance' governor
> 最佳性能,CPU以最高频率运行,耗电,适合台式机。
< > 'powersave' governor
> 最节能,适合嵌入设备或笔记本。
< > 'userspace' governor for userspace frequency scaling
> 用户空间程序动态调整,需要额外的软件支持,比较麻烦。
<> 'ondemand' cpufreq policy governor
> 随需应变,只在最低/最高频两档频率切换。适合台式机。abo备注:经过验证,在intel4代CPU上是在CPU支持的各个频率之间切换,并不是在最高/最低频率之间切换。
> 内核周期性的评估CPU负载,当CPU负载超过/低于设定的百分比阈值(/sys/devices/system/cpu/cpufreq/ondemand/up_threshold)时,就自动将频率设为最高/最低值(也就是仅在最高和最低频率间切换),比较适合台式机。
> 建议将"up_threshold"设为95左右,可以获得更高的"性能/瓦特"比.
< > 'conservative' cpufreq governor
> 保守策略,和'ondemand'相似,在多个频率之间切换,适合笔记本等节能设备。设置麻烦,不是专家不如采用'schedutil'策略。
> 内核周期性评估CPU负载,频率的升降通常只在相邻两档间切换,但具体取决于"/sys/devices/system/cpu/cpufreq/conservative/freq_step"的百分比设置(设为'100'等价于只在最高/最低频率间切换)。当CPU负载超过百分比上限(/sys/devices/system/cpu/cpufreq/conservative/up_threshold)时,就自动提升一档CPU频率,当CPU负载低于百分比下限(/sys/devices/system/cpu/cpufreq/conservative/down_threshold)时,就自动降低一档CPU频率。
> 'conservative'默认设置的"性能/瓦特"通常不如'ondemand'优秀,但是优化设置之后情况则可能反转。例如在"down_threshold=93,up_threshold=97"的情况下,可以比"up_threshold=95"的'ondemand'略有优势。
< > 'schedutil' cpufreq policy governor
> schedutil框架,很多芯片平台商和手机厂商会做自己的调频governor,在其中加入很多优化项,比如功耗优化(降低目标频率),性能优化(boost操作)。
> 选择下面选项 Intel P state control ,此项将为系统默认。
> 在ondemand 策略不能使用最高/最低频率切换的条件下,这个是最佳选择。
> 网上大牛的解析: 《cpufreq schedutil调频机制解析》https://www.pudn.com/news/62ea7358864d5c73ac4a7c82.html
*** CPU frequency scaling drivers ***
[*] Intel P state control
> 选*,intel CPU 变频控制策略。此选与上个选项"Default CPUFreq governor"的'ondemand'互斥,选上这个就默认使用intel芯片内置的"P state"变频策略也就是将上个选项默认为'schedutil'
< > Processor Clocking Control interface driver
> 不选,PCC(Processor Clocking Control)接口支持,HP Proliant服务器选项。
< > ACPI Processor P-States driver
> abo备注:在intel4代CPU平台,不选此项,ondemand不工作,CPU在最高频率工作。缺少目录'cpufreq'、文件'/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'
[ ] Legacy cpb sysfs knob support for AMD CPUs
< > AMD Opteron/Athlon64 PowerNow!
< > AMD frequency sensitivity feedback powersave bias
> 不选上面4项,古董级的CPU节能支持,同时支持intel和其它AMD的的CPU。
< > Intel Enhanced SpeedStep (deprecated)
> 不选,Intel迅驰系列芯片的支持项。
< > Intel Pentium 4 clock modulation
> 不选,Pentium4的支持项。

*** shared options ***
CPU Idle --->
-*- CPU idle PM support
> 必选,CPU idle 节能指令支持,让CPU在空闲的时候进入类似睡眠的状态以节能。
[ ] Ladder governor (for periodic timer tick)
> 不选,下一个选项是个更好的选择。
-*- Menu governor (for tickless system)
> 默认这个选项。
> 网络大牛技术文章:《Menu Governor》https://blog.****.net/feelabclihu/article/details/106866457
[ ] Timer events oriented (TEO) governor (for tickless systems)
> 不选。Timers subsystem -> Timer tick handling (Idle dynticks system (tickless idle)) 选项相关项,时间子系统选tickless就选上这一项。

[*] Cpuidle Driver for Intel Processors
> 必选,使用intel CPU的节能选项。