起因
最近在使用pip安装torch时,由于内存不足,导致了Memory Error。pip安装的缓存机制想要先把整个文件读取到内存以后才开始安装,因此可能导致内存不足。
解决方案
方案一 不缓存
1
pip --no-cache-dir install xxx
方案二 使用Swap File
启动swap文件,swap文件在硬盘上开辟一段空间,作为虚拟内存。操作系统会把使用频率低的内容,暂时存放到swap文件内,需要使用时再调用到内存中。
启动方法,在任意目录下执行以下命令1
2
3
4
5
6创建一个512 MB大小的swap文件,大小根据你的需要设置
dd if=/dev/zero of=/swapfile bs=1024 count=524288
chown root:root /swapfile
chmod 0600 /swapfile
mkswap /swapfile
swapon /swapfile
完成以上指令后,再次尝试使用pip install xxx 即可成功安装。
若出现以下错误:1
dd: failed to open ‘/swapfile’: Text file busy
这是因为swapfile处于启动状态,可能正在被使用,因此需要先关掉swapfile:1
swapoff /swapfile