今天给各位分享高效君:如何优化开机速度,让你的电脑开机速度快如闪电的知识,其中也会对高效君:如何优化开机速度,让你的电脑开机速度快如闪电进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文导读目录:

1、全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等

2、电脑怎么提高开机速度?几个提高开机速度的各项优化

3、高效君:如何优化开机速度,让你的电脑开机速度快如闪电

  文章目录   编写目的: 介绍TinaLinux下启动速度优化使用方法。   启动速度是嵌入式产品一个重要的性能指标,更快的启动速度会让客户有更好的使用体验,在某   些方面还会节省能耗,因为可以直接关机而不需要休眠。   启动速度优化可提升产品的竞争力。对于某些系统来说,启动速度是硬性要求。2.1 启动流程   TinaLinux系统当前的启动流程如下:   brom固化在IC内部,芯片出厂后就无法更改。   后续将从boot0开始分阶段介绍启动优化的方法。   对于某些方案,会存在monitor或secure os,这两者耗时很短,本文略过。   下文涉及到一些配置文件,提前在此说明。   env配置文件路径:   sys_config.fex路径:   uboot-board.dts路径:   ! 警告:如 果 存 在 uboot-board.dts , uboot 会 使 用 uboot-board.dts 中 配 置; 如 果 不 存 在uboot-board.dts , uboot 会使用 sys_config.fex 中的配置。(AW1886/V853 使用了 uboot-board.dts ) 2.2 测量方法2.2.1 printk time   打开kernel配置,使能如下选项:   linux4.9   将会在内核的log前加入时间戳。   注:此方法主要用来测量内核启动过程中各个阶段的耗时。2.2.2 initcall_debug   修改env文件,在kernel的cmdline中加入参数,   开启之后,启动中会打印每个initcall函数调用及其耗时。   注:此方法主要用来测量内核initcall的耗时。   一般需同时配置上内核符号表,即kallsyms选项,以打印函数名。2.2.3 bootgraph.   在内核源码中自带了一个工具(scripts/bootgraph.pl)可用于分析启动时间,需要把log_buff加 大,要不然会丢失最早的启动信息:   make kernel_menuconfig   注:此方法主要用来测量内核启动过程中各个阶段的耗时。 2.2.4 bootchart   bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自动收集CPU 占用率、进程等信息,并以图形方式显示分析结果,可用作指导优化系统启动过程。   注:此方法主要用来测量挂载文件系统到主应用程序启动过程中的耗时。 2.2.5 gpio +示波器.   在适当的地方加入操作gpio的代码,通过示波器抓取波形得到各阶段耗时。   注:此方法可用来测量整个启动中各阶段的耗时。2.2.6 grabserial.   Grabserial是Tim Bird用python写的一个抓取串口的工具,这个工具能够为收到的每一行信 息添加上时间戳。可从如下路径下载使用:https://github.com/tbird20d/grabserial   介绍文档:http://elinux.org/Grabserial   常见的用法:   如果要在某个字符串重置时间戳,可以使用-m参数:   更多配置可以使用-h参数查看帮助。   注:此方法可用来测量整个启动中各阶段的耗时。2.3 优化方法   注:本节提供一些优化方法以供参考,并非所有都在Tina上集成,主要原因有:2.3.1 boot0启动优化   boot0运行在SRAM,主要功能是对DRAM进行初始化,并将uboot、monitor、secure-os 等加载至DRAM。2.3.1.1 非安全启动.   boot0可优化的地方不多,可以做的是:   对于spinor的方案,还可以直接从boot0启动,只需要在boot0中加载好kernel和dtb, 不需要经过uboot ,然后直接跳转到kernel运行,可节省一定的时间。如果采用boot0启 动OS,则boot0读取数据量较大,其flash驱动也需要进行优化,如提高时钟,开启双线/四 线/DMA/Cache等。2.3.1.2 安全启动   对于安全方案来说,boot0还会对uboot、monitor、secure-os等进行签名校验,因为在启动 时需要引导SecoreOS,需要做一次环境切换,CPU由安全状态切换到非安全状态运行,所以对 于安全方案来说,不支持直接从boot0启动,然后加载dtb和kernel到内存,然后直接启动内 核,主要的优化手段较少,可以做的是:2.3.2 uboot启动优化   uboot主要功能是引导内核、量产升级、电源管理、开机音乐/logo、fastboot刷机等。2.3.2.1 完全去掉uboot   uboot的包含很多重要功能,通常会保留。某些情况可以去掉,直接从boot0加载内核并启动, 可节省一些时间。2.3.2.2 避免burnkey的影响   对于启用了burnkey支持,且还没使用DragonSN工具将key烧录进去的板子,每次启动到 uboot都会尝试跟PC端工具交互产生如下log,带来延时。   如果产品不需要 burnkey,可将 uboot-board.dts 或 sys_config.fex 中的 [target] 下 burn_key设置为 0 。   或者使用DragonSN工具,烧录一次key,并设置烧录标志,以使后续启动可跳过检测。2.3.2.3 提高CPU以及flash读取频率   可设置uboot-board.dts或sys_config.fex中的[target]下boot_clock来修改uboot运行 时CPU频率( 注:不能超过SPEC最大频率 )。   对于spinor/spinand,使用较高的时钟频率(一般是100M),使用四线模式或者双线模式(看 硬件是否支持),提高加载速度。2.3.2.4 关闭串口输出.   可将uboot-board.dts或sys_config.fex中的[platform]下debug_mode设置为 0 来关闭 uboot的串口输出。   可将sys_config.fex中的[platform]下debug_mode设置为 0 来关闭boot0串口输出。   配置此项后,如果还有少量输出,有两个可能的原因:   第一是这些输出是在获取debug_mode流程之前产生。   第二是因为源码中直接使用了puts而没有使用printf。   对于这两者情况,需要修改源码来完全关闭串口输出。2.3.2.5 修改kernel加载位置   如果uboot将内核加载到DRAM的地址与内核中load address不匹配,就需要将内核移动到 正确位置,这样会浪费一定的时间。因此,可以直接修改uboot加载内核为正确的地址。   具体是修改env文件(路径见上文)的boot_normal与boot_recovery变量。   需要根据不同的内核镜像格式来设置不同的值 。   假设kernel的load address为0x40008000。   如果uboot加载kernel地址与load address不匹配,uboot过程中串口输出可能会有:   如果是匹配的,uboot过程中串口输出可能会有:2.3.2.6 修改kernel加载大小   最新代码会根据uImage/boot.img的头部信息,只读取必要的大小,可忽略此优化项。   对于旧代码,uboot在加载内核的时候,有些情况会直接将整个分区读取出来,uboot-2018会自 读取kernel镜像的大小。   就是说假如内核只有2M,而分区分了4M的话,uboot就会读取4M。这种情况下,可以将分 区大小设置得刚好容纳下内核,这样可避免uboot在加载内核的时候浪费时间。   nor方案修改sys_partiton_nor.fex的boot分区大小   nand/emmc可修改sys_partition.fex中boot分区的大小。   uboot具体读出多少,通常会有log信息,可同真正内核镜像的size进行比较。2.3.2.7 关闭kernel校验   uboot加载了内核以后,默认会对内核进行校验,可以在串口输出中看到:   如果不想校验可以去掉,目前的情况是可以减少几十毫秒(不同平台,不同内核大小,时间不同) 的启动时间。   具体修改env配置文件(路径见上文),新增一行"verify=no"。2.3.2.8 uboot重定位   目前的启动过程中,uboot在执行过程中会进行一次重定位,可以在串口中打印出这个值,然后 修改uboot的加载地址使得boot0将uboot加载进DRAM的时候就直接加载到这个地址。   但这个方法有个弊端,如果后续修改了uboot的代码,则可能需要重新设置。   目前这个操作耗时很少(某平台测得十几毫秒),不必要的话不建议做这个修改。2.3.2.9 裁剪uboot.   即使流程没有简化,uboot体积的减小也可减少加载uboot的时间。   依据具体情况,可对uboot不需要的功能的模块进行裁剪,避免了启动中执行不必要的流程,可 减少uboot加载时间。2.3.2.10开启logo及音乐.   可尝试在uboot中开启开机logo/音乐,尽快播出第一帧/声,提升用户体验。   此操作会延缓到达OS/APP的时间,但如果产品定义/用户体验是以第一帧/声为准的话,则有较 大价值。2.3.3 kernel启动优化.   通常来说,内核启动耗时较多,需要更深入的优化。2.3.3.1 kernel压缩方式.   比较不同压缩方式的启动时间和flash占用情况,选择一种符合实际情况的。   此处给出某次测试结果供参考。实际优化的时候,需要重新测试,根据实际情况选择。2.3.3.2 加载位置   内核镜像可以由kernel自解压,也有uboot进行解压的情况。   对于kernel自解压的情况,如果压缩过的kernel与解压后的kernel地址冲突,则会先把自己 复制到安全的地方,然后再解压,防止自我覆盖。这就需要耗费复制的时间。   比如对于运行地址为0x40008000的内核来说,bootloader可以将其加载到0x41008000, 当然其他位置也可以。2.3.3.3 内核裁剪   裁剪内核,带来的加速是两个方面的。一是体积变小,加载解压耗时减少;二是内核启动时初始   化内容变少。   裁剪要根据产品的实际情况来,将不需要的功能及模块都去掉。   具体是执行"make kernel_menuconfig",关闭不需要的选项。可参考《TinaLinux_系统裁剪开发指 南.pdf》。2.3.3.4 预设置lpj数值   LPJ也就是loops_per_jiffy,每次启动都会计算一次,但如果没有做修改的话,这个值每次启动 算出来都是一样的,可以直接提供数值跳过计算。   如下log所示,有skipped,lpj由timer计算得来,不需要再校准calibrate了。   如果没有skipped,则可以在cmdline中添加lpj=XXX进行预设。2.3.3.5 initcall优化   在cmdline中设置initcall_debug=1,即可打印跟踪所有内核初始化过程中调用initcall的顺 序以及耗时。   具体修改env配置文件(路径见上文),新增一行"initcall_debug=1",并在"setargs_*“后加入” initcall_debug=${initcall_debug}",如下所示。   加入后,内核启动时就会有类似如下的打印,对于耗时较多的initcall,可进行深入优化。2.3.3.6 内核initcall module并行   内核initcall有很多级别,其中启动中最耗时的就是各module的initcall,针对多核方案,可 以考虑将module initcall并行执行来节省时间。   目前内核do_initcalls是一个一个按照顺序来执行,可以修改成新建内核线程来执行。   注:当前Tina还未加入该优化。 2.3.3.7 减少pty/tty个数   加入initcall打印之后,部分平台发现pty/tty init耗时很多,可减少个数来缩短init时间。2.3.3.8 内核module.   需要考虑启动速度的界定,对于内核module的优化主要有两点:   比如某个应用,会开启主界面联网,启动速度以出现主界面为准,那么可以考虑将disp编入内 核,wifi编译成模块,后续需要时再动态加载。2.3.3.9 Deferred Initcalls   介绍页面及patch:http://elinux.org/Deferred_Initcalls   打上这个patch之后,可以标记一些initcall为Deferred_Initcall。这些被标记的初始化函 数,在系统启动的时候不会被调用   进入文件系统后,在合适的时间,比如启动主应用之后,再通过文件系统接口,启动这些推迟了 的调用,彻底完成初始化。2.3.4 rootfs启动优化   rootfs启动优化主要是优化rootfs的挂载到init进程执行。2.3.4.1 initramfs   initramfs是一个内存文件系统,会占用较多DRAM。   部分产品可能会用到initramfs来过渡到rootfs,其优化思路大体与rootfs类似。可参考本节后 续的优化方案。2.3.4.2 rootfs类型以及压缩.   存储介质、文件系统类型,压缩方式对rootfs挂载有很大影响。   此处给出某次测试结果供参考。实际优化的时候,需要重新测试,根据实际情况选择。2.3.4.3 rootfs裁剪   文件系统越小,加载速度越快。裁剪的主要思路是:删换压,即删除没有用到的,用小的换大   的,选择合适的压缩方式。2.3.4.4 指定文件系统类型   内核在挂载rootfs时,会有一个try文件系统类型的过程。可以在cmdline直接指定,节省时 间。   具体是在cmdline中添加"rootfstype=",其中type为文件系统类型,如ext4、squashfs 等。2.3.4.5 静态创建dev节点.   对于dev下面的节点,事先根据实际情况创建好,而不是在系统启动后动态生成,理论上也可以 节省一定的时间。2.3.4.6 rootfs拆分   可以将rootfs拆分成两个部分,一个小的文件系统先挂载执行,大的文件系统根据需要动态挂 载。2.3.5 主应用程序启动优化.   主应用程序主要是由客户开发,因此主导优化的还是客户,这里提一些优化措施:   Tina中启动优化主要依靠宏CONFIG_BOOT_TIME_OPTIMIZATION来完成,该宏会进行如 下工作:   注:通过该宏预计可达到70%左右的优化效果,如还需优化,可参考第二章的内容。 3.1 开启Tina启动速度优化.   在tina根目录下执行make menuconfig使能CONFIG_BOOT_TIME_OPTIMIZATION, 具体如下所示   注:如果看不到该选项,使用?键搜索,会发现此项有一些依赖选项,使能依赖选项即可看到   Boot Time Optimization3.2 实验结果   在某norflash方案上开启CONFIG_BOOT_TIME_OPTIMIZATION后,启动速度提升效果 如下:   注:对于不同的方案,由于CPU运算速度、存储器类型、内核压缩及尺寸、根文件系统类型及尺   寸、主应用等的不同,优化结果会有一定差异,请以实际优化结果为准。  不用羡慕别人电脑开机速度有多快,只能尽可能的提高你自己的电脑开机速度就好了,影响电脑开机速度是有多方面的因素,硬件配置是主要的,但是我们电脑的配置基本上是固定的,那么我们可以从其它方面对电脑开机时间进行提速,几种简单实用的方法如下。   一.每天关机前对电脑清洗   1、首先:双击桌面的“ 计算机 ”   然后找到C盘 ,鼠标右击C盘,选择“ 属性 ”   接着在弹出的界面上,点击“ 磁盘清理 ”   最后在弹出窗口,选择要清理的文件,之后在点击“ 确定 ”   记住在清理垃圾的过程中,你可以看到未经你许可进来的“临时文件”就会被清除了,C盘的空间就会多一些了,对于其他的D E F 等等其他盘也可以用此法来进行清理!   二.随时进行电脑清理   打开浏览器网页,点击上面一排最右边的齿轮图标也就是工具,点开后选择“ Internet选项 ”接下来我们用IE做示范。   接下来在弹出窗口后,在选择中间的“ 浏览历史记录 ”中的“ 删除 ”如果用的是其它的浏览器也是一样的,删除临时文件或者历史记录文件即可,最好是多清理几次,这样,可为打开网页和空间进行提速!   三.每一周为电脑所有的盘进行垃圾清理   首先在桌面点击桌面的“ 开始 ”   然后选择“ 所有程序 ”在点击“ 附件 ”找到“ 系统工具 ”   点开“ 系统工具 ”后双击:“ 磁盘碎片整理程序 ”   点击C盘,在点击右下角的“ 磁盘碎片整理 ”(注意:这需要的时间是比较久,建议最好是在吃饭时或者不需要使用电脑的情况下进行。在清理的过程当中您可看到您的盘里的状况,可将清理前后对比一下,是不是感觉垃圾少了很多)   最后在跳出“ 清理完成 ”后点击“ 关闭 ”   按照上述方法,对电脑其他的盘可以分别进行清理。   四。给宽带加速,释放电脑保留的20%宽带资源   点击桌面“ 开始 ”在搜索程序和文件框输入:“ 运行 ”   双击运行,然后输入:gpedit.msc 后回车   回车后打开“ 组策略对象编辑器 ”   接着展开“ 计算机配置 ”--管理模板--网络---QoS数据包计划程序,   然后双击右面设置栏中“ 限制可保留宽带 ”,在打开的属性对话框中的“设 置 ”选项卡中将“ 限制可保留的宽带 ”设置为“ 已启用 ”,然后在喜爱按暂开的“宽带限制(%)”栏将带宽值“20”设置为“0”然后点击“确定”就可以了   完成以后,我们重新在浏览网页的时候或者下载Bt文件的时候 你会发现上网和下载的速度会有明显的提升。   以上就是几个提高电脑开机速度的各项优化方法介绍,操作很简单的,大家按照上面步骤进行操作即可,希望这篇文章能对大家有所帮助!  https://www.zhihu.com/video/1000320180853059584   确认过眼神是高效君本人 大家好我是高效君   立志做你的高效生活说明书。   欢迎来到高效君的软件宝库   当你的电脑使用过了一段时间后,   由于你安装的软件和开机启动的软件越来越多。   你会发现你的电脑的速度会越来越慢。   一班情况下我们会使用XX卫士啥的来优化电脑的开机速度。   但是很多人不需要这种花里胡哨的东西。希望有专职优化的软件,   就如同高效君一样专一。   So今天就给大家带来的是一款自启动管理软件Quick Startup   双击打开软件,你以为他只能够禁止程序自启动吗?   它还能够将某个软件延迟N秒后启动。   可以让我们的电脑在开机的时候让必须启动的软件合理有序的错开高峰期。   软件操作十分简单,   只需要点击要禁止的程序,可以选择启用,删除,延迟或者禁止启动。   稍微演示下延迟启动,这个其实是这款软件的核心。   选择软件点击延迟启动,设置好延迟时间,   之后我们再次开机这款软件就会在我们开机后延迟再启动,不会影响我们的开机速度。   好了今天高效君给大家分享的软件   是不是合您的胃口呢。   确认过眼神是高效君本人   高效君您的高效生活说明书   那我们下次再见啦。   微信公众号:高效君   私信回复023获取软件
高效君:如何优化开机速度,让你的电脑开机速度快如闪电的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于高效君:如何优化开机速度,让你的电脑开机速度快如闪电高效君:如何优化开机速度,让你的电脑开机速度快如闪电的信息别忘了在本站进行查找喔。

未经允许不得转载! 作者:谁是谁的谁,转载或复制请以超链接形式并注明出处

原文地址:http://www.20fs.cn/post/4347.html发布于:2025-11-29