#5296 RuntimeError: mkl_malloc: failed to allocate memory

1.164* Posted at: 1 day ago

Traceback (most recent call last):
File "videotrans\process\stt_fun.py", line 452, in faster_whisper
File "faster_whisper\transcribe.py", line 1851, in restore_speech_timestamps
File "faster_whisper\transcribe.py", line 1213, in generate_segments
File "faster_whisper\transcribe.py", line 1446, in generate_with_fallback
RuntimeError: mkl_malloc: failed to allocate memory


=
system:Windows-10-10.0.26100-SP0
version:v3.98
frozen:True
language:zh
root_dir:C:/Users/320124233/OneDrive - Philips/文件/win-pyvideotrans-v3.98-317

1 Replies

这是由于系统内存(RAM)不足,导致 Intel Math Kernel Library (MKL) 无法分配所需的内存。通常发生在运行较大 Whisper 模型时,或同时有其他程序占用大量内存。

解决办法(按优先级排列):

  1. 关闭其他占用内存的程序(特别是浏览器、大型IDE、虚拟机等),释放更多可用内存。
  2. 切换到更小的 ASR 模型
    在软件主界面 语音识别渠道 行,将 faster-whisper(本地) 的模型从 large-v3 改为 mediumsmall
    模型越小,内存需求越低。
  3. 调整计算数据类型(降低内存占用)
    进入 菜单 → 工具 → 高级选项 → 语音识别参数,将 计算数据类型 设为 int8(最省内存),或 float16(如果有NVIDIA显卡并启用CUDA时推荐)。
  4. 减少同时处理的任务数
    高级选项 → 通用设置 中,将 CPU同时任务数 设为 1;如果启用了GPU,也将 GPU同时任务数 设为 1,防止并发导致内存耗尽。
  5. 增加系统虚拟内存
    Windows 中调整方法:

    • 右键“此电脑” → 属性 → 高级系统设置 → 性能设置 → 高级 → 虚拟内存 → 更改
    • 取消勾选“自动管理”,选择系统盘(或空间充足的盘),将“自定义大小”的初始和最大值设为不低于 16384 MB(16GB),点击“设置”并重启电脑。
  6. 如果是使用CUDA GPU加速但显存不足
    同样降低模型大小或关闭GPU加速,改用CPU处理(但要确保内存足够大)。

尝试以上步骤后重新执行任务。如果问题依然存在,请提供 logs/ 目录下最新的日志文件(至少包含错误前后30行),以便进一步分析。

Post Your Reply