当电脑运行内存不足的时候,我们一般会想到通过给电脑加内存条的方式来增加内存。对此,本文提供了运行内存不足的另一个解决方案:为电脑配置交换空间。
交换空间是硬盘驱动器上的一个区域,它被指定为电脑需要临时存储但无法再保存在 RAM 中的数据的位置。由于写入磁盘比写入 RAM 慢得多,因此操作系统更愿意在内存中运行应用程序数据,并使用、交换旧数据。
简而言之,交换空间可以看做系统 RAM 耗尽时的后备空间
swapon --show
free -h
sudo fallocate -l 2G /swapfile
sudo chmod 666 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo vi /etc/fstab
#复制 /swapfile swap swap defaults 0 0
sudo spapon --show
sudo free -h
有两种、10w 、5w(自动关掉两个cpu,只使用cpu1,2)模式
sudo nvpmodel -q
#当前10w
sudo nvpmodel -m 1 #0是10w模式 1是5w
sudo jetson_clocks #使cpu频率固定
sudo apt-get purge libreoffice*
sudo apt-get clean
备份sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
修改sources.list
sudo vim /etc/apt/sources.list
替换
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main multiverse restricted universe
更新
sudo apt-get update
vim ~/.bashrc
#粘贴到最下面
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_ROOT=/usr/local/cuda
#让修改生效
source ~/.bashrc
sudo apt-get install build-essential make cmake cmake-curses-gui
sudo apt-get install git g++ pkg-config curl zip zlib1g-dev libopenblas-base libopenmpi-dev
sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev
sudo apt-get install nano locate screen
#scipy 依赖和 cython
sudo apt-get install libfreetype6-dev
sudo apt-get install protobuf-compiler libprotobuf-dev openssl
sudo apt-get install libssl-dev libcurl4-openssl-dev
sudo apt-get install cython3
sudo apt-get install libxml2-dev libxslt1-dev
#opencv 依赖
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libxvidcore-dev libavresample-dev
sudo apt-get install libtiff-dev libjpeg-dev libpng-dev
sudo apt-get install -y python3-dev python3-testresources python3-setuptools
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
rm get-pip.py
mkdir ~/.pip
vim ~/.pip/pip.conf
#粘贴以下到文件
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip install virtualenv virtualenvwrapper
vim ~/.bashrc
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs #指定所有的需拟环境的安装位置
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 #指定解释器
source /usr/local/bin/virtualenvwrapper.sh #进行激活生效
#重新载入
source ~/.bashrc
创建虚拟环境
mkvirtualenv test
virtualenv常用命令
#创建一个环境
mkvirtualenv name
#不使用默认python版本、使用指定python版本创建环境
mkvirtualenv -p /python目录/python.exe name
#激活环境
workon name
#退出
deactivate
#删除
rmvirtualenv name
#所有环境
lsvirtualenv
#复制虚拟环境
cpvirtualenv source_name dest_name
sudo -H pip install jetson-stats
sudo jtop
https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-10-now-available/72048
安装pytorch
workon test #进入虚拟环境
pip install torch-1.10.0-cp36-cp36m-linux_aarch64.whl
安装vision
git clone --branch https://github.com/pytorch/vision torchvision # see below for version of torchvision to download
cd torchvision
export BUILD_VERSION=0.x.0 # where 0.x.0 is the torchvision version
python setup.py install # use python3 if installing for Python 3.6
cd ../ # attempting to load torchvision from build dir will result in import error
验证
python -c "import torch;print(torch.__version__);print('cuda available:'+str(torch.cuda.is_available()));print('cuDNN version:'+str(torch.backends.cudnn.version()))"
使用virtualenv创建环境后 没有numpy
ImportError: numpy.core.multiarray failed to import
ImportError: numpy.core.multiarray failed to import
ModuleNotFoundError: No module named 'numpy'
Traceback (most recent call last):
File "app.py", line 9, in
from models.yolo import DetectMultiBackend
File "/home/mmm/work/pytorch_base_infer/models/yolo.py", line 9, in
import cv2
File "/home/mmm/.virtualenvs/test/lib/python3.6/site-packages/cv2/__init__.py", line 8, in
from .cv2 import *
ImportError: numpy.core.multiarray failed to import
安装以后执行代码报错
Illegal instruction (core dumped)
解决:
vim ~/.bashrc
#在末尾添加
export OPENBLAS_CORETYPE=ARMV8
source ~/.bashrc