Premiere Pro 占用内存过高?内存泄漏与解决办法
长时间剪辑后 Premiere Pro 内存占用越来越高?教你分辨内存泄漏和工程本身太重,以及能把内存控制住的设置和素材处理习惯。
如果 Premiere Pro 占用内存过高,先判断你遇到的是两种问题中的哪一种。工程太重时,内存会很快涨上去,然后趋于平稳。内存泄漏则是你重复同样的操作时,占用一直往上涨,只有重启才会降下来。工程太重,靠的是素材和时间线上的习惯:代理文件、更小的图片、少开几个序列。疑似泄漏,则要检查版本、插件和缓存,并在修复版发布之前有计划地重启。下面这个测试大约需要十五分钟,能告诉你该走哪条路。
内存占用高本身并不是故障。现代操作系统,尤其是 macOS,会有意用缓存填满空闲的 RAM,等其他应用需要时再释放。真正要看的是你的 Mac 是否真的内存吃紧:播放卡顿、彩色转轮一直转、弹出应用程序内存不足的警告,或者到了傍晚软件崩溃。
剪辑师常见的反馈
论坛上和机房里的抱怨有一个很容易辨认的规律。早上 Premiere 反应很快。剪了几个小时、反复拖动时间线、渲染预览之后,播放开始卡顿,界面变得迟钝,活动监视器显示 Premiere 占用的内存比刚启动时多得多。关闭工程并不总能把内存还回来。退出再重新打开能解决问题,但只能维持一阵子。
有时这确实是某个版本的泄漏、与 GPU 驱动的兼容问题或某个插件造成的。但更多时候,是工程在工作过程中越来越重:加载的序列更多,加了效果的片段更多,预览文件更多,时间线上的高分辨率图片也更多。坐在剪辑台前,这两种情况感觉一模一样,所以测试才重要。
在活动监视器里看对数字
在 Mac 上打开活动监视器,选择 内存 标签页。有三项值得关注。
- 内存压力。 底部的图表是最诚实的信号。绿色表示 macOS 应付得过来,即使“已使用内存”的数字看起来吓人。黄色表示系统正在靠压缩来勉强跟上。红色表示内存不够了,你也会明显感觉到。
- 已使用的交换。 有一些交换是正常的。如果交换在整个工作过程中和 Premiere 的内存数字一起稳步增长,就说明压力是真实存在的。
- Premiere 自己的“内存”一栏。 在启动时、打开工程后以及之后每隔一段时间记录一次。变化趋势比任何单个数字都更能说明问题。
在 Apple silicon 上,RAM 是 CPU 和 GPU 共享的统一内存。GPU 效果、高分辨率播放和硬件解码,都和应用本身使用同一个内存池,所以一条大量依赖 GPU 的时间线,即使 CPU 看起来很空闲,也可能推高内存压力。
在 Windows 上,任务管理器能给出同样的信息:“进程”标签页显示 Premiere 的内存占用,“性能”中的“内存”图表显示总体使用量和已提交内存。和 Mac 一样,一段时间内的趋势比某一次的读数更重要。
十五分钟泄漏测试
挑一个没有交付压力的日子,先保存一份工程副本再做。
- 重启 Mac,只打开 Premiere Pro。记下它的内存占用。
- 打开工程,只打开你正在剪的那一个序列。再记一次。这一步的增长是工程本身的开销,不是泄漏。
- 不做任何编辑,把时间线上同一段 30 到 60 秒的内容播放十遍。每播放几遍记一次内存。
- 停止播放,让 Premiere 闲置五分钟。再记一次。
- 关闭工程,保持 Premiere 打开,最后再记一次。
结果这样解读。如果打开工程时内存上升,前几遍播放时略有增长,然后趋于平稳,那是工程太重,不是泄漏。如果每播放一遍同样的素材,内存都会增长差不多的量,而且在闲置时或关闭工程后仍然居高不下,那就是有什么东西没有释放内存。
要缩小范围,可以把这一段复制到一个没有任何效果的新空白工程里,重复测试。如果增长消失了,嫌疑就在原工程里的某个效果、插件或素材上。按组逐批移除效果,直到增长停止。如果在只有普通素材的干净工程里也一直增长,原因更可能在版本或系统上。
有帮助的设置
在较新的版本中,Premiere 的内存设置位于 Settings > Memory(旧版本中叫 Preferences,菜单名称在不同版本之间也可能变化)。最主要的选项是为其他应用程序保留多少 RAM。给其他应用多留一些并不能修复泄漏,但在内存较小的机器上,可以避免 Premiere 把 macOS 和浏览器的内存也挤占掉。如果你以前改过这个值,把它调回一个合理的中间值,再测试一次。
还有几项设置在实际使用中很有用:
- 媒体缓存管理。 在 Settings > Media Cache 中开启自动删除旧缓存文件,或者设置大小上限。缓存盘被塞满并不会直接推高 RAM 占用,但会造成卡顿,而这种卡顿很容易被误以为是内存问题。
- 播放分辨率。 剪辑时把节目监视器调到 1/2 或 1/4。看剪辑效果完全够用,而 Premiere 每帧需要解码的像素会少得多。
- Auto Save。 保持开启,间隔设为你能接受的长度。如果内存问题最终导致崩溃,它决定了你会丢掉多少工作。
- 硬件解码。 在 Settings > Media 中,硬件加速解码通常能减轻 H.264 和 HEVC 的负担。如果某个版本表现异常,暂时关掉它做测试,也是我们Mac 上 Premiere Pro 频繁崩溃一文中的排查步骤之一。
比设置更重要的素材和时间线习惯
长时间工作中的大部分内存问题,来自工程里装了什么,而不是某个设置。
- 为相机原始素材做代理。 手机、无人机和无反相机拍的长 GOP H.264 和 HEVC 文件解码开销很大,4K 或 6K 的更是如此。导入时就生成代理,剪辑时打开代理开关。
- 转码可变帧率素材。 手机录像和录屏通常是可变帧率,有些剪辑软件处理起来效率较低。导入前先转成 ProRes 这类恒定帧率的中间编码,可以避开一整类问题。
- 导入前缩小图片。 一张 4000 万或 5000 万像素的照片放在高清时间线上,仍然要被载入内存并缩放。除非你需要推镜头的余量,否则就按时间线分辨率或接近的尺寸导出图片。
- 关闭不用的序列。 每个打开的序列标签页都会把内容保持在随时可用的状态。关掉旧版本,也不要同时打开好几个大工程。
- 留意重型效果。 Warp Stabilizer、第三方降噪插件、Morph Cut、层层叠加的 Lumetri,以及嵌套里再套嵌套的序列,都会不断累积。已经通过审核的段落,可以用“渲染和替换”,或者把完成的部分渲染成固定文件。
- 拆分超大工程。 剪长片或长剧集时,按卷或按集拆成独立工程,或者使用 Premiere 的 Productions 工作流程,都能让每个打开的工程保持较小。
如果真的是泄漏
如果测试结果指向泄漏,你有四个实际可行的选择。
- 检查版本。 阅读 Adobe 针对你所用版本的发行说明和已知问题。如果增长是从某次更新后开始的,就退回到之前表现正常的版本。通过 Creative Cloud 操作的步骤,见我们的指南将 Premiere Pro 回退到旧版本。
- 测试插件。 暂时把第三方插件移出它们所在的文件夹,然后重新测试。一个行为异常的效果,就可能一直占着本该释放的帧。
- 反馈问题。 把你的测试结果、版本号、Mac 型号和素材类型发到 Adobe Community 论坛。一个带数据、可复现的案例,对 Adobe 来说远比“越用越慢”有用。
- 有计划地重启。 在修复版发布之前,每隔几个小时找个自然的停顿点退出并重新打开 Premiere,是很多剪辑师最终采用的变通办法。先保存,重新打开后再确认 Auto Save 仍在运行。
不管原因是什么,先保护好你的工作。内存压力很大的 Mac 更容易卡死或崩溃,而丢掉的往往就是最后那几分钟。我们的保存卡死后的工程恢复指南介绍了能把损失降到最低的习惯。
如果你在考虑换软件
换一款剪辑软件,并不会让重型素材变轻。长 GOP 的 6K 素材、超大图片和层层叠加的降噪,放在任何软件里都很吃资源,所以上面这些习惯无论在哪里剪都值得保留。如果当前版本里挥之不去的问题让你开始寻找替代品,请用真实工程的副本来测试,而不是用一个全新的演示工程。
cinemaOS 是面向 Apple silicon 的一款 Mac 原生选择,目前是 0.2 版。它不能直接替换:它无法直接打开 Premiere 的 .prproj 文件,所以剪辑需要通过 XML 或 EDL 导入(导入剪辑教程演示了具体步骤),它也不能完全替代 After Effects。Windows 版计划于 2027 年 11 月推出,目前还无法使用。它的工程是本地优先的 .mntm 文件,带有恢复功能和版本快照。价格是 60 天免费期之后每月 9.99 美元(不含增值税),无需绑卡,也不会自动扣费。和评估其他软件一样,看它在漫长的一天里如何处理你自己的素材。
常见问题
Premiere Pro 需要多少内存?
这取决于分辨率、编码格式、效果和工程规模。官方的最低配置和推荐配置,请查看 Adobe 最新的系统要求。实际使用中,4K 长 GOP 素材、重型效果和很长的时间线都能从更大的内存中受益,而代理文件能让配置较低的机器好用得多。
为什么关闭工程后 Premiere 还占着内存?
其中一部分是应用有意保留、以便复用的缓存,当其他应用需要内存时,macOS 会把它收回。如果内存一直居高不下,在之后的工作中继续增长,而且内存压力变成黄色或红色,就应该把它当作可能的泄漏,做一遍上面的测试。
加内存能解决内存泄漏吗?
不能。更多内存只是推迟了泄漏开始造成影响的时间,也许足够撑过一个工作日,但增长并不会停止。要么找到原因,要么退回旧版本,在此期间按计划在休息时重启。
下一步
用你手头最重的工程做一遍十五分钟测试,把数字记下来。如果内存趋于平稳,就逐条检查素材习惯。如果内存不停增长,就检查版本和插件,并把你的发现反馈出去。