Jetson nano笔记——SWAP:使用SD卡的空间扩展CPU和GPU的共享运行内存(SD卡拓展Jetson nano内存)

**特别注意:
   SWAP技术会导致存储设备的频繁擦写,而SD卡等设备并不具备与闪存一样的擦写能力。
   因此,SWAP操作会降低SD卡的寿命(但远水解不了近渴,SWAP总比自己更改硬件来的容易)。


问题描述

   目前,绝大多数Jetson nano的CPU与GPU采取了共享运行内存的模式,且其内存大小往往仅有2-4GB左右(笔者设备的运行内存为4GB)。
   当想要将Jetson nano作为边缘设备,并部署深度学习模型时,我们就会面临一个很大的“窘境”:深度学习模型参参数量巨大,而导致运行内存不足的问题,最终进程被操作系统“Kill”。

解决方案

   在尝试解决这个问题的时候,我突然想起了SWAP技术(存储内存共享为运行内存):SD卡上还有很多存储空间呢,我的设备是128GB的SD卡。

  1. 下载虚拟内存管理软件
$ git clone https://github.com/JetsonHacksNano/installSwapfile.git
$ cd installSwapfile
  1. 安装(默认自动分配6G为SWAP内存)

(1)输入如下命令运行程序,默认SWAP为6G;若想分配其他大小的内存,请参考本篇附录:

$ ./installSwapfile.sh

(2)将会看到如下信息,并输入Linux系统的管理员密码。

Creating Swapfile at:  /mnt
Swapfile Size:  6G
Automount:  Y

(3)看到如下信息后,则说明安装成功。

Swap file has been created
Reboot to make sure changes are in effect

(4)使用jtop命令(此命令容易在CSDN上找到安装方法,在此不做赘述)查看Jetson nano的资源情况。

$ jtop

   会看到Memory下方出现了一个SWAP的资源,大小为6G。

附录

$ ./installSwapfile.sh [[[-d directory ] [-s size] -a] | [-h]]
  1. -d:dir的缩写,表示分配的虚拟内存在SD卡中的位置,默认为/mnt。
  2. -s:size的缩写,分配的虚拟内存大小,默认为6G。
  3. -a:auto的缩写,默认为Y,即开机时自动打开虚拟内存,此项不需要额外设置。
  4. -h:help的缩写,即弹出帮助文档。
  5. 软件在Github上的下载地址:installSwapfile软件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值