外观
速度与资源问题
先分清是哪一类慢
| 现象 | 方向 |
|---|---|
| 管理界面操作卡顿 | 系统资源或磁盘 I/O |
| 文件传输慢 | 网络,见网络问题 |
| 播放卡顿 | 转码,见影音问题 |
| 首次访问慢,之后正常 | 硬盘从休眠中唤醒,正常现象 |
| 某个应用慢,其他正常 | 那个应用自身的问题 |
症状一:整机卡顿
先看负载和占用:
sh
uptime # 平均负载,持续高于核心数说明在排队
top # 实时看哪个进程占 CPU
ps aux --sort=-%mem | head # 按内存排序
docker stats # 各容器的资源占用常见的原因:
- 存储空间正在重建或校验——这时候慢是正常的,等它跑完。
- 相册在做后台分析,建库阶段占用很高。
- 媒体库在扫描,把扫描改到夜间。
- 某个容器失控,通过
docker stats能直接看出来。 - 内存不足导致频繁使用交换分区,
free -h中交换分区占用持续增长就是信号。
症状二:硬盘不休眠
这是最常见的「设了没生效」类问题。原因是有东西在持续访问硬盘:
| 可能的访问源 | 处理 |
|---|---|
| 容器数据目录在机械盘上 | 把配置和数据库移到系统固态盘 |
| 日志持续写入 | 调整日志位置 |
| 定时任务分散在全天 | 集中到同一时段 |
| 媒体库定时扫描 | 改成每天一次 |
| 有客户端一直挂载着共享 | 检查各设备的挂载状态 |
| 相册后台任务 | 建库完成后会降下来 |
详细讨论见功耗与硬盘休眠。
频繁唤醒比不休眠更伤硬盘
如果硬盘每十几分钟就启停一次,损耗大于持续运转。要么让它稳定休眠,要么关掉休眠。
症状三:内存占用看起来很高
Linux 会把空闲内存用作文件缓存,「已用」数字高本身不是问题。真正的警示信号是:
- 交换分区使用量持续增长。
- 容器因内存不足被系统结束(日志里会有 OOM 相关记录)。
- 系统响应明显变慢。
用 free -h 看 available 那一列,它才代表实际可用的内存。
症状四:某个时间段特别慢
多半是定时任务撞在一起。检查:
- 备份任务
- 快照任务
- SMART 长检测
- 媒体库扫描
- 容器自动更新
把它们错开,并安排在无人使用的时段。
症状五:升级之后变慢
- 查看版本更新说明,确认是否有已知问题。
- 检查升级后是否有后台任务在跑(索引重建、数据迁移)——等它跑完再判断。
- 对比升级前后的资源占用,确认是哪一项变化了。
建立基准
排查性能问题的前提是知道正常是什么样。在系统状态良好时记录下:
- 待机时的 CPU、内存占用
- 局域网大文件传输速度
- 硬盘休眠后的待机功耗
- 管理界面的响应速度
有了基准,以后「是不是变慢了」就不再是感觉问题。