CPU / GPU 占用高时,重点不是先判断“是不是异常”,而是先确认“是谁在占用”。常见的相册处理、影视扫描 / 转码、Docker / 虚拟机、下载同步、备份校验等任务,都可能带来明显占用。
先区分“短时间高占用”和“空闲很久仍持续高占用”。如果刚导入大量照片、刚建立媒体库、刚启动容器或刚开始同步,高占用更像后台任务在处理;如果没有明显任务但长时间不回落,就需要继续定位具体进程。
GPU 占用要结合任务类型判断。GPU 0% 不一定代表硬件加速没有生效,GPU 99% 也不一定直接等于故障;关键是当前任务是否真的需要硬件解码、转码或 AI 计算,以及驱动识别、应用设置和格式条件是否满足。
处理顺序建议是:先看资源监控能不能对应到任务,再按相册、影视、Docker / 虚拟机、下载同步等场景排查;仍然找不到来源时,再通过 SSH 查看进程,并把截图和命令输出一起反馈。
先确认这几项
| 先看项 |
怎么判断 |
| 持续时间 |
是刚打开应用、刚导入数据后的短时间升高,还是空闲很久仍持续不降。 |
| 对应任务 |
资源监控里是否能看到具体应用、进程或任务占用,例如相册、影视、Docker、虚拟机、下载、同步、备份。 |
| 相册场景 |
是否刚导入大量照片 / 视频,是否正在生成缩略图、识别人物 / 场景、索引相册内容。 |
| 影视场景 |
是否正在刮削、扫描媒体库、播放需要转码的视频,或开启了代理播放 / 硬件加速相关设置。 |
| Docker / 虚拟机 |
是否有容器、虚拟机、数据库、下载器、媒体服务、AI 服务在后台运行。 |
| 下载 / 同步 / 备份 |
是否有网盘同步、BT 下载、文件复制、备份、校验、解压、索引等任务。 |
| GPU 识别 |
如果关注 GPU,占用前先确认显卡 / 核显是否被系统识别,相关应用是否有硬件加速设置。 |
| 最近变化 |
是否刚升级系统、更新应用、换显卡 / 网卡、改 Docker 配置、导入大量数据或异常断 电。 |

总览页先看 CPU、GPU、内存、硬盘和网络哪一项持续偏高,再从左侧进入进程管理查看明细。
排除思路
第一步:先看是不是正常任务占用
- 打开 fnOS 资源监控,先看 CPU、GPU、内存、磁盘、网络哪一项在高位。
- 再看高占用是否能对应到某个应用或任务。能对应到任务时,优先按该任务场景判断。
- 如果是刚导入照片、刚扫描影视库、刚启动容器、刚开始同步,先观察任务完成后占用是否回落。
- 不要只看某一秒的峰值,建议连续观察一段时间,记录开始时间、持续时间和是否回落。


进程管理里重点看 CPU 占用、CPU 时间、内存等列;如果能看到明确服务名,后面反馈时把这一屏一起截图。
第二步:按场景分别排查
| 场景 |
优先确认 |
| 相册 |
是否正在导入大量照片 / 视频、生成缩略图、做 AI 识别或重建索引。大量素材首次整理时资源占用升高比较常见。 |
| 影视 |
是否正在扫描媒体库、刮削信息、播放需要转码的视频。客户端能直放时和需要转码时,占用差异会很明显。 |
| Docker / 虚拟机 |
先看是否有容器或虚拟机长期占用 CPU / GPU,例如下载、数据库、媒体服务、AI 推理、编译任务。 |
| 下载同步 |
BT、网盘同步、备份、文件复制、解压、校验会同时拉高 CPU、磁盘和网络,不一定只表现为一个指标高。 |
| 升级后 |
升级后短时间可能有索引、扫描、缓存重建等后台任务。若长时间无任务仍持续高占用,再继续反馈。 |

相册相关任务占用时,通常能在服务列表里看到 AI、识别、缩略图等相关服务。能对应到任务时,先观察任务完成后是否回落。

影视场景先看播放信息里是否显示转码、编码 / 解码方式和是否启用 GPU;再结合 GPU 曲线判断是不是正在硬件处理。


Docker 页面先看容器健康状态和资源曲线,再进容器列表确认具体哪个容器在运行。

第三步:单独看 GPU 时,先确认调用条件
- 确认系统能识别到显卡或核显,相关页面能看到设备信息。
- 确认当前任务真的需要 GPU,例如视频硬件解码 / 转码、相册 AI 识别或其他支持 GPU 的应用。
- 确认应用内是否开启硬件加速,且该格式、客户端、播放方式满足硬件加速条件。
- 如果播放本来可以客户端直放,GPU 不动不一定是异常;如果任务不支持 GPU,也不会因为系统有显卡就自动调用。
- 如果 GPU 长时间 99% 且任务已经停止,记录资源监控、相关应用页面和最近操作时间线。
相册智能识别、视频转码等任务可能会触发 GPU;GPU 页面既要看曲线,也要看下方显存、Video、Render 等指标。GPU 低不一定异常,要结合当前任务是否需要 GPU 判断。
注:有部分GPU并不支持人脸识别/不支持大部分人脸识别任务,在此情况下人脸识别任务大量调用CPU执行是正常的情况。


第四步:做一个低风险对比
- 暂停或结束可疑的相册、影视、下载、同步、Docker / 虚拟机任务,观察占用是否回落。
- 如果能定位到某个应用,优先在应用内停止任务或重启该应用,不要直接删文件、删数据库或改系统目录。
- 如果不确定是哪项占用,先记录截图,再逐项关闭最近新增的任务做对比。
- 对比时一次只改一个变量,例如只暂停相册任务,或只停止某个容器,避免后续无法判断原因。
- 如果重启设备后短时间恢复,但过一段时间又复现,要记录复现前做了什么操作。
补充:通过 SSH 查看具体进程
如果前台资源监控只能看到整体占用,看不到具体进程,可以在已经开启 SSH 的前提下,用电脑连接设备后查看。下面这些命令主要用于定位“是谁在占用”,不要直接拿来强制结束进程。
top
- 进入 top 后,按 P 可以按 CPU 占用排序,按 M 可以按内存占用排序,按 q 退出。
- 重点记录占用最高的 PID、进程名、CPU / 内存占用,以及占用是否持续不降。

ps -eo pid,ppid,comm,%cpu,%mem --sort=-%cpu | head -n 15

ps -eo pid,ppid,comm,%cpu,%mem --sort=-%mem | head -n 15

如果某个 PID 持续排在前面,再用下面的命令查看这个进程的详细信息。
ps -fp 进程ID
如果看到可疑进程,先不要直接删除文件或强制结束进程。建议先截图保存 top、ps、docker stats 的输出,再记录进程 ID、进程名、启动路径和是否来自 Docker 容器。正常的相册、影视转码、虚拟机、下载器、备份任务也会造成高占用,需要先区分“正常任务占用”和“异常进程持续占用”。