OSError [WinError 1455]页面文件太小,无法完成操作”解决方案“

目录

前言

一、问题原因

二丶解决办法

1.调大虚拟内存

2.升级pytorch版本

总结


前言

windows下用pytorch训练的时候,比如用yolov5丶yolov8等等,只要是涉及到多进程,如dataloader的num_workers设的比较大),就有可能会遇到“OSError: [WinError 1455] 页面文件太小,无法完成操作”的错误。


一、问题原因

简述一下,就是pytorch里面有一些cuda相关的dll文件非常大,并且只要你导入了pytorch相关的包,就会去加载这些文件,而且在开启多进程的时候,每个进程都会去加载这些文件,实际上可能并没有用到,所以在windows下用的是虚拟内存。但如果你的虚拟内存不够大的话,那就会报页面文件太小的错了。

其实,电脑在默认情况下没有给C盘以外的磁盘分配虚拟内存,所以如果将Anaconda装在C盘以外的话,由于没有分配虚拟内存,在跑程序时,内存不够,自然就遇到了上面的问题。

二丶解决办法

1.调大虚拟内存

很明显,一个简单粗暴的办法就是,调大虚拟内存呗,到于调多大,我的内存是16g,直接给了100000M,也就是14g左右,可以看到下图已提交25.5g,这就是我需要的大小,所以你可以按照自己的需要和自己硬盘的大小情况,先试着给大点。

具体步骤:

1.右键此电脑选择属性,进入如下界面,点击“高级系统设置”

2.选择 ”高级“

3.在性能这一栏,选择 ”设置“

4.选择 “高级”,选择 “更改”

按照下面的12345来,先把1的勾选取消掉,我的Anaconda装在E盘,所以这里改E盘的虚拟内存,所以选中E盘,开始自定义大小,先搞个大的,点击 ”设置“,确定之后重启电脑就好了。

提几点:

(1)如果Anaconda所在盘空间不够没关系,虚拟内存可以分配到其它分区,而且还能配置到多个分区上。

(2)最好用固态硬盘啦,机械硬盘会慢一些。

(3)这个办法简单粗暴,所以当然会有他的缺点。就是分配给虚拟内存的空间会导致你硬盘空间变少,有点可惜,而且如果每次它都是实打实地给你把硬盘上的内容写一遍,还是蛮伤硬盘的,尤其是固态硬盘。

2.升级pytorch版本

为什么要升级pytorch版本呢,是因为导致这个问题的原因,可能跟pytorch有关,也可能跟英伟达有关,反正你们那个dll太大啦,或者别让我每次都得加载这些dll也行。

之前报错的环境是在conda里面,pytorch版本安装的是 pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 cudatoolkit=10.2

现在来尝试一下1.13.1+cu117(cuda自然也要更新一下啦,没有尝试最新的pytorch2.0是因为yolov5貌似还不支持pytorch2.0)

这次不报错了,虽然仍然用了一些虚拟内存,但是跟之前相比,已经小很多了!

升级pytorch版本的方法步骤就不赘述了,可以参考其他帖子,直接换更高级版本的pytorch即可。


总结

1.调大虚拟内存

2.升级pytorch版本

  • 29
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 这个错误提示是操作系统错误,具体是指页面文件(即虚拟内存)的大小不足以支持当前的操作。可能是因为系统资源不足或者程序运行过程中需要的内存过多导致的。建议尝试关闭一些不必要的程序或者增加系统内存来解决问题。 ### 回答2: 这个错误指的是操作系统(OS)出现了内存问题,导致系统无法执行某些任务。具体地说,它表示页面文件太小,因此无法完成当前的操作页面文件是一种辅助内存,可以将数据从内存复制到硬盘以便于管理。当内存不足时,操作系统会将一些数据转移到页面文件中,并在需要时将其还原回内存。 当操作系统需要更多的页面文件时,它会尝试增加其大小。如果此时系统发现页面文件已经达到其最大容量,或者硬盘上剩余空间不足,那么就会出现winerror 1455错误。这意味着操作系统无法继续将数据转移到页面文件中,因此无法执行任务并抛出错误。 解决这个问题的方法是增加硬盘的可用空间,或者增加页面文件的大小。如果您经常遇到这个错误,您可以调整操作系统的内存管理和页面文件大小来优化它们,这将帮助您避免未来的内存问题。总之,这个错误是由于系统内存不足而导致的,需要通过优化系统来解决。 ### 回答3: OS Error: [WinError 1455] 页面文件太小,是一种常见的操作系统错误。操作系统将页面文件用作内存的扩展,当系统的内存不足时,它将调用页面文件来存储内存中的数据。如果页面文件太小,它将无法存储所有必需的数据,从而导致系统崩溃。 页面文件也称为虚拟内存,其作用是允许操作系统将一部分内容保存到硬盘中,以便您的计算机可以在内存不足的情况下继续运行应用程序。如果页面文件太小,那么电脑就会出现各种应用程序无法正常工作的情况。 导致页面文件太小的原因很多,其中最常见的原因是系统内存过少。如果您的计算机只有很少的内存可用,那么操作系统就会尝试使用大量的页面文件。此时如果您不增加页面文件大小,就无法存储所有必要的数据。此外,如果您过度使用虚拟内存,那么页面文件也可能会变得过小。 解决此错误的方法是增加系统的虚拟内存或升级计算机的内存。您可以通过打开控制面板-> 系统->高级系统设置->高级选项卡来修改虚拟内存的设置。在“性能”下点击“设置”,然后单击“高级选项”选项卡。在“虚拟内存”下单击“更改”,然后更改大小以增加虚拟内存。 另外,您也可以通过升级您的电脑内存解决页面文件太小的问题。内存升级将使您的计算机更快,并能同时运行更多的应用程序。 总之,如果您在使用电脑时遇到了页面文件太小的问题,您需要及时处理,可以考虑升级电脑内存或调整虚拟内存设置。这样,在将来的使用中,您就可以顺利地运行应用程序,同时也可以让计算机更加稳定运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值