admin管理员组

文章数量:1567744

    七月初N1的Armbian有过一次内核升级,我把我的N1内核升级到了5.7.7,因为主要是做打印服务器使用,之前版本的系统负载一直都是很低的,这次升级之后,system load一直维持在2.0的高负载状态,因为当时对使用没有太大影响,以为下个内核版本更新以后会有改善,便没有再管它。今天更新了一下系统,发现系统内核又有更新,内核版本更新到了5.7.16,原以为这次更新后系统负载过高问题能有改善,重启以后发现系统负载仍然维持在2.0,心有不甘,于是就百度了一下是否有解决办法。
    百度的结果发现确实有不少朋友碰到这样的问题,他们发现了问题的根源(通过对比N1 Armbian负载低版本的dtb文件和负载高版本的dtb文件,负载低的文件中有一行是注释掉的,而对应的负载高的那一行却没有注释掉),他们也给出了解决办法,就是编译当前负载高的dtb文件为dts文件,然后修改dts文件,注释掉导致负载高的那一行,再重新编译为新的dtb文件,最后修改uEnv.txt文件,引入新的dtb文件,重启系统。
    这里写这篇文章主要是想补充一下,其他朋友文章中提到的具体行号是不能适应所有版本的dtb文件的,不同版本的Armbian的dtb文件也是不同的,并且phandle变量的值也是不一样的(似乎分几次编译同一个dtb文件生成不同的dts文件,这些文件中变量的值都不一样),所以如果想要在dts文件中找到需要注释的行,不要以文章中提到的行号和变量的值作为定位依据,我们只要找到以下这段内容:

interrupt-controller@9880 {
	compatible = "amlogic,meson-gpio-intc\0amlogic,meson-gxl-gpio-intc";
	reg = < 0x00 0x9880 0x00 0x10 >;
	interrupt-controller;
	#interrupt-cells = < 0x02 >;
	amlogic,channel-interrupts = < 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 >;
	status = "okay";
	phandle = < 0x25 >;
};

注释掉最后一行就可以了

interrupt-controller@9880 {
	compatible = "amlogic,meson-gpio-intc\0amlogic,meson-gxl-gpio-intc";
	reg = < 0x00 0x9880 0x00 0x10 >;
	interrupt-controller;
	#interrupt-cells = < 0x02 >;
	amlogic,channel-interrupts = < 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 >;
	status = "okay";
	#phandle = < 0x25 >;
};

而不要管phandle变量的值是多少。

这里只是给不是linux专家的朋友提供一个简单、有效的方法。

相关文章:

斐讯N1刷入armbian 5.77写入emmc,斐讯基本完美N1Armbian_5.77刷入方法

斐讯N1自己编译Armbian的低负载DTB

斐讯 N1 Armbian 低负载 dtb 编译

本文标签: 过高负载系统Armbianload