0
点赞
收藏
分享

微信扫一扫

Linux | MemoryError: Unable to allocate 2.10 GiB for an array内存溢出问题解决

做个橙梦 2022-05-02 阅读 27

在机器学习训练中,因载入的矩阵过于庞大,在本机训练是总会报 MemoryError的错,又因本人需要将10G多的内容同时载入一同训练,无法使用其他博客(推荐下面链接处所给博客)所用到的方法,只能从硬件的层面进行扩展。

https://blog.csdn.net/qq_41780295/article/details/89677453

第一步:查看内存大小

[root@xiaoni-training 代码]#free -m

在这里插入图片描述
第二步:创建要作为swap分区的文件:增加20GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=交换区大小) 大概需要2min的样子

[root@xiaoni-training 代码]# dd if=/dev/zero of=/tmp/big_swap bs=1M count=20480

在这里插入图片描述
第三步 查看目录空间大小

[root@xiaoni-training 代码]# du -sh /tmp/big_swap

在这里插入图片描述
第四步 格式化为交换分区文件

[root@xiaoni-training 代码]# mkswap /tmp/big_swap

在这里插入图片描述
第五步 启用交换区文件

[root@xiaoni-training 代码]# swapon /tmp/big_swap  #启用swap文件

在这里插入图片描述
第六步 启用交换区文件

[root@xiaoni-training 代码]#free -m

在这里插入图片描述


开始训练:不断记录虚拟内存和物理内存使用数量
在这里插入图片描述

举报

相关推荐

0 条评论