【Linux】解决Nvidia Jetson Xavier NX开发套件开机启动时间过长问题

环境

硬件:Jetson Xavier NX 套件
系统:Ubuntu 20.04

解决

0、现象

在使用Nvidia 的Jetson Xavier NX套件,开发产品,准备发布时,每次设备开机重启时间都太长,用户体验很不好,决定优化一下开机启动时间。

1、分析

主要是禁用一些开机就启动的服务,以达到缩短开机启动时间的效果

2、思路

使用命令,罗列出开机启动的服务,以及耗费时间,然后查看那些耗时长的服务可以禁用。

systemd-analyze blame
4min 38.682s cron-daily.service                  
     11.693s NetworkManager-wait-online.service  
     11.641s alsa-restore.service                
      7.783s postfix@-.service                   
      6.362s systemd-udev-settle.service         
      3.614s nv-l4t-usb-device-mode.service      
      3.448s dev-nvme0n1p1.device                
      3.408s dev-mmcblk0p1.device                
      2.430s docker.service                      
      2.212s apt-daily-upgrade.service           
      1.933s apt-daily.service                   
      1.911s systemd-udev-trigger.service        
      1.502s apport-autoreport.service           
      1.402s blueman-mechanism.service           
      1.180s xrdp.service                        
      1.173s nv.service                          
      1.123s udisks2.service                     
      1.100s setssdroot.service                  
       999ms systemd-sysctl.service              
       986ms ua-timer.service                    
       907ms accounts-daemon.service             
       886ms networkd-dispatcher.service         
       826ms user@1000.service

我这里查询了一些耗时较长service的作用,给大家参考一下,以免禁用某些服务后,系统功能不正常。

1、startup.service 
它在设备启动时运行,并负责启动和运行NVIDIA Jetson平台的各种组件和服务。
禁用此服务可能会导致系统启动失败或无法正常运行。
因此,在禁用之前,请确保了解其可能会对系统的影响,并确保有备份或其他措施以避免系统损坏。
2、cron-daily.service
它负责在每天定时运行系统范围的cron脚本。这些脚本可以包括日志轮换、系统备份等任务。
cron-daily.service服务是由systemd-tmpfiles-clean.timer计时器触发的。
如果不需要在系统上运行任何每日cron脚本,则可以禁用cron-daily.service。
但是,如果禁用该服务,则可能无法完成一些重要的系统任务,例如日志轮换和备份等。
3、gdm.service
它负责启动GNOME桌面管理器(GDM),GDM是Linux桌面系统中最常用的桌面管理器之一。
当登录到系统时,GDM将负责显示登录屏幕,并在您完成身份验证后启动桌面环境。
如果不需要使用GNOME桌面环境,或者想使用其他桌面环境,则可以禁用gdm.service。
但是,如果禁用该服务,则无法使用GNOME桌面环境。
4、NetworkManager-wait-online.service 
它负责在系统启动时等待网络连接可用,以确保NetworkManager服务可以正确运行。
这是特别有用的,因为NetworkManager服务负责管理网络连接,如果在其运行之前没有网络连接,
则可能会导致网络连接的失败。
如果不使用NetworkManager服务或者不需要等待网络连接可用,则可以禁用NetworkManager-wait-online.service。
但是,如果禁用该服务,则需要确保在NetworkManager服务启动之前,已经有可用的网络连接。
5、alsa-restore.service
它负责在系统启动时恢复ALSA(Advanced Linux Sound Architecture)音频设置。 
ALSA是Linux内核中的音频架构,它提供了一种API,用于管理音频设备和播放音频。
如果不需要使用音频设备或希望使用其他音频系统,则可以禁用alsa-restore.service。
但是,请注意,如果禁用该服务,则可能无法正确设置和使用音频设备。
6、systemd-udev-settle.service
它负责等待所有udev设备完成初始化。udev是Linux系统中用于管理硬件设备的设备管理器。
该服务会在系统启动时运行,并等待udev完成其初始化过程,确保所有硬件设备都已经准备就绪。
如果您禁用此服务,则可能会导致系统启动失败或无法正常运行。
通常情况下,不建议禁用此服务。
7、docker.service
它负责启动和管理Docker容器服务。
Docker是一种开源容器化平台,可以让您在单个主机上轻松运行和管理多个独立的应用程序容器。
如果您不需要使用Docker,或者想要使用其他容器化平台,则可以禁用docker.service。
但是,如果禁用该服务,则无法使用Docker容器。
8、udisks2.service
它负责管理和监控Linux系统中的可移动设备和存储设备。
udisks2.service会在系统启动时自动启动,并在后台运行,监听系统中的存储设备插入和移除事件。
如果不需要使用可移动设备或存储设备,或者想使用其他管理工具,则可以禁用udisks2.service。
但是,如果禁用该服务,则可能无法正确管理和使用存储设备。
9、nv-l4t-usb-device-mode.service
它负责启用和管理USB设备模式。
这是一种功能,使Xavier NX设备可以在主机和从设备之间切换,以便在需要时作为外部存储器或USB网卡进行使用。如果不需要使用USB设备模式,或者想要使用其他方法进行外部存储器或USB网卡的使用,
则可以禁用nv-l4t-usb-device-mode.service。
但是,如果禁用该服务,则无法使用USB设备模式。
10、networkd-dispatcher.service 
它负责在网络配置更改时运行钩子脚本,以允许其他服务响应网络配置更改。
networkd-dispatcher.service服务通常与systemd-networkd网络守护进程一起使用。
如果不需要在网络配置更改时运行任何钩子脚本,或者想要使用其他网络守护进程,则可以禁用networkd-dispatcher.service。
但是,如果禁用该服务,则其他服务可能无法响应网络配置更改。

3、解决

经过分析,我决定禁用gdm.service、NetworkManager-wait-online.service、alsa-restore.service、docker.service、cron-daily.service这几个。禁用方法也很简单

//禁用服务
sudo systemctl disable gdm.service  注意此服务是桌面服务,要确定自己是否需用
sudo systemctl disable NetworkManager-wait-online.service
sudo systemctl disable alsa-restore.service
sudo systemctl disable docker.service
sudo systemctl disable cron-daily.service
//然后重启
reboot

如果需要恢复被禁用的服务可以使用

//启用服务
sudo systemctl enable cron-daily.service
//然后重启
reboot

OK!
至此,问题解决。欢迎留言交流

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Nvidia Jetson Xavier NX 刷机的步骤如下: 1. 下载 JetPack SDK,这是 Nvidia 提供的开发套件,包含了系统镜像、驱动程序、SDK 等。 2. 将 Jetson Xavier NX 连接到电脑上,使用 USB 线连接。 3. 进入恢复模式,按住电源按钮,同时按下复位按钮,等待几秒钟后松开复位按钮,此时 Jetson Xavier NX 进入恢复模式。 4. 在电脑上运行 JetPack SDK,选择刷机选项,按照提示进行操作。 5. 等待刷机完成,重新启动 Jetson Xavier NX。 注意事项: 1. 刷机过程中不要断开电源或 USB 连接。 2. 刷机前备份重要数据,刷机会清空所有数据。 3. 刷机前确认电脑上已安装好 JetPack SDK。 4. 刷机前确认 Jetson Xavier NX 进入恢复模式。 ### 回答2: NVIDIA Jetson Xavier NX 是一种高性能嵌入式计算机,它可以针对人工智能、机器学习和深度学习进行优化。如果我们想要定制该计算机系统,或更改操作系统,我们就需要进行刷机。 首先,我们需要下载所需的固件。官方提供了很多版本的系统供下载使用,我们需要选择最适合我们需求的版本。在下载完毕后,我们需要准备一个SD卡,并安装软件(Win32 Disk Imager)用于将系统镜像烧录到SD卡中,该软件可以从官网下载。 接下来,我们需要在启动时进入系统设置模式(按住电源按钮,同时按下重置按钮,松开重置按钮后再松开电源按钮),然后连接启动设备。启动设备可以是一个USB设备或者一个SD卡,使计算机能够识别新的系统。 然后,我们需要输入以下命令进入可引导设备: ``` # For USB device: $ reboot usb # For SD Card: $ reboot recovery ``` 一旦我们进入了引导设备,我们就可以开始刷机过程。 使用以下命令可以查看设备列表: ``` # 查看设备列表 $ lsblk # 显示格式化设备 $ sudo fdisk -l ``` 使用以下命令可以使用该镜像文件在SD卡上设置新系统: ``` $ sudo dd if=jetpack_4.5.1_xavier_nx_sd_card.zip of=/dev/mmcblk0 bs=1M status=progress ``` 注意:该命令将删除SD卡上的所有数据。如果我们希望保留现有数据,则可以使用GUI应用程序Etcher。 在完成SD卡设置后,我们将启动计算机,然后进入恢复模式。在此处,我们可以使用以下命令安装新的系统: ``` $ sudo chmod +x ./flash.sh $ sudo ./flash.sh jetson-xavier-nx-devkit mmcblk0p1 ``` 该命令将卸载并格式化应用存储器,并在其中安装新的系统。 完成安装后,我们可以重新启动计算机。此时,我们已经完成了nvidia jetson xavier nx 的刷机过程。 ### 回答3: NVIDIA Jetson Xavier NX是一款非常强大的嵌入式计算机,可以用于各种AI、机器人和自动化控制应用。它内置了基于ARM架构的六核CPU和512核Volta GPU,同时还拥有8GB LPDDR4x内存和16GB eMMC存储空间。然而,当我们用该设备进行AI开发时,可能需要刷机来安装新的操作系统或驱动程序。下面是关于NVIDIA Jetson Xavier NX刷机的详细介绍。 首先,为了避免误操作导致设备变砖,我们需要备份当前系统的镜像。可以使用NVIDIA提供的工具JetPack进行备份。在备份完成后,我们可以下载新的系统包,并使用JetPack进行安装。 在执行刷机操作之前,需要使用Micro-USB电缆将Jetson Xavier NX与PC连接,并进入bootloader模式。在此模式下,设备可以通过USB进行刷机,并且没有操作系统可以干扰刷机过程。连接好设备后,我们可以使用JetPack中的“Flash OS”选项。 刷机过程可能需要一段时间,具体时长取决于设备所需的软件包大小和PC的性能。在刷机过程中,JetPack会在设备上安装各种软件包、驱动和库文件,需要有足够的存储容量和内存空间。为了提升效率和减少出错率,我们应该尽量在稳定的网络环境下进行刷机,并选择可靠的软件源。 刷机完成后,我们需要重新启动设备,并检查新的操作系统是否正常运行。此时可以进行一些简单的操作测试,例如运行NVIDIA自带的示例程序或自己编写的简单的Python脚本。如有必要,可以安装额外的软件包和库文件,以满足特定的应用需求。 总之,刷机是在使用NVIDIA Jetson Xavier NX进行AI开发时不可避免的一步操作,它帮助我们安装新的系统,修复已有的故障,从而有效地提高开发效率和开发质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值