报错:OSError: [WinError 1455] 页面文件太小,无法完成操作

这个错误 OSError: [WinError 1455] 页面文件太小,无法完成操作 是一个典型的 Windows 系统资源不足 错误,特别是当你在加载大型依赖库(如 PyTorch 的 CUDA 组件)时。

简单来说:你的物理内存(RAM)不够用了,而 Windows 设置的虚拟内存(页面文件)也不够大,导致系统无法为 cufft64_10.dll(这是 PyTorch 依赖的 CUDA FFT 库)分配足够的内存空间。

以下是导致该问题的具体原因及分步解决方案:


核心原因分析

  1. 物理内存耗尽:你的电脑 RAM 可能已经被占满(比如浏览器开了几十个标签,或者之前的进程没释放)。
  2. 页面文件(Pagefile)设置过小:Windows 会在硬盘上划出一块空间当内存用。如果这块空间设置得太小,或者被系统限制了,就会报这个错。
  3. CUDA 依赖冲突 :cufft64_10.dll 属于 CUDA 10.x 版本。如果你的显卡驱动太旧、太新,或者安装了多个版本的 CUDA,可能会导致加载失败。
  4. 缺少运行库 :虽然报错是内存,但有时是因为缺少 Visual C++ Redistributable,导致 DLL 加载失败,系统误报为内存错误。

解决方案(按推荐顺序尝试)

方案一:增加 Windows 虚拟内存(最有效)

这是直接针对 WinError 1455 的解法。

  1. 在桌面右键点击 "此电脑" -> "属性"。
  2. 点击 "高级系统设置"。
  3. 在 "高级" 选项卡下,点击 "性能" 区域的 "设置" 按钮。
  4. 在弹出的窗口中,切换到 "高级" 选项卡,点击 "虚拟内存" 下的 "更改"。
  5. 取消勾选顶部的"自动管理所有驱动器的分页文件大小"。
  6. 选中你的系统盘(通常是 C 盘),选择 "系统管理的大小"(推荐)或者手动设置一个较大的值(比如你的物理内存的 1.5 倍到 2 倍,例如 16GB)。
  7. 点击 "设置" -> "确定"。
  8. 重启电脑(这一步很重要,必须重启生效)。
方案二:检查并修复 VC++ 运行库

PyTorch 和 CUDA 非常依赖微软的运行库。

  1. 去微软官网下载 Visual C++ Redistributable for Visual Studio 2015-2022。
  2. 安装 x64 版本(即使你是 32 位系统,为了兼容也建议装,但现在的电脑基本都是 64 位)。
  3. 安装完成后重启 IDE 或电脑。
方案三:检查 PyTorch 与 CUDA 的兼容性

你的错误日志显示正在加载 cufft64_10.dll,这说明你安装的 PyTorch 是 CUDA 10.x 版本的(或者是为了兼容旧显卡打包的)。

  1. 检查你的显卡驱动:右键"此电脑" -> "管理" -> "设备管理器" -> "显示适配器",看你的 NVIDIA 显卡型号。
  2. 检查 PyTorch 版本 :在终端运行 python -c "import torch; print(torch.__version__); print(torch.version.cuda)"。
  3. 如果不匹配 :
    • 如果你的显卡比较新(RTX 30/40 系列),CUDA 10 可能太老了。建议卸载当前 PyTorch,去官网找对应 CUDA 11.8 或 12.1 的命令重新安装。

    • 如果你不需要 GPU 加速 (只是做数据标记,不需要训练模型),可以安装 CPU 版本,彻底避开 CUDA 错误:

      bash 复制代码
      pip uninstall torch
      pip install torch --index-url https://download.pytorch.org/whl/cpu
方案四:释放物理内存
  1. 打开 任务管理器 (Ctrl+Shift+Esc)。
  2. 查看"性能"标签页下的 内存 使用率。
  3. 如果快满了,结束掉不需要的进程(如 Chrome、Docker、其他 Python 脚本)。
  4. 重启你的 IDE(PyCharm/VSCode),有时候 IDE 本身也会占用大量内存。

总结建议

先做【方案一】(调大虚拟内存)并重启,90% 的 WinError 1455 都能通过这个方法解决。如果不行,再尝试重装 VC++ 运行库或换用 CPU 版本的 PyTorch。

相关推荐
m0_674571971 小时前
力扣 hot 100 python
python·算法·leetcode
小白快快跑哦1 小时前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
Want5951 小时前
Python炫酷烟花①
开发语言·python
青少儿编程课堂1 小时前
蓝桥杯+全国青少年信息素养大赛+电子学会PythonC/C++考级:最长公共子序列LCS解析
c++·python·算法·bfs·信息学竞赛
Y3815326622 小时前
印度电商数据采集教程:用 SerpBase 查 Flipkart/Myntra/Ajio 商品(附代码)
数据库·python
阿维的博客日记2 小时前
大白话解析快排Python
python
doujiaozh2 小时前
我在 DOS 6.22 上跑通了 Kimi AI:一场跨越 40 年的硬核接力
python
凛铄linshuo2 小时前
分析业务流程什么时候适合断言?
python·pytest
import_random3 小时前
[python]IDE可以自动检测venv工具创建的虚拟环境.venv吗
python
楠风测开3 小时前
Python学习路线:搭好环境,跑通第一个脚本
python