跳转到内容

速度与资源问题

先分清是哪一类慢

现象方向
管理界面操作卡顿系统资源或磁盘 I/O
文件传输慢网络,见网络问题
播放卡顿转码,见影音问题
首次访问慢,之后正常硬盘从休眠中唤醒,正常现象
某个应用慢,其他正常那个应用自身的问题

症状一:整机卡顿

先看负载和占用:

sh
uptime                          # 平均负载,持续高于核心数说明在排队
top                             # 实时看哪个进程占 CPU
ps aux --sort=-%mem | head      # 按内存排序
docker stats                    # 各容器的资源占用

常见的原因:

  • 存储空间正在重建或校验——这时候慢是正常的,等它跑完。
  • 相册在做后台分析,建库阶段占用很高。
  • 媒体库在扫描,把扫描改到夜间。
  • 某个容器失控,通过 docker stats 能直接看出来。
  • 内存不足导致频繁使用交换分区free -h 中交换分区占用持续增长就是信号。

症状二:硬盘不休眠

这是最常见的「设了没生效」类问题。原因是有东西在持续访问硬盘:

可能的访问源处理
容器数据目录在机械盘上把配置和数据库移到系统固态盘
日志持续写入调整日志位置
定时任务分散在全天集中到同一时段
媒体库定时扫描改成每天一次
有客户端一直挂载着共享检查各设备的挂载状态
相册后台任务建库完成后会降下来

详细讨论见功耗与硬盘休眠

频繁唤醒比不休眠更伤硬盘

如果硬盘每十几分钟就启停一次,损耗大于持续运转。要么让它稳定休眠,要么关掉休眠。

症状三:内存占用看起来很高

Linux 会把空闲内存用作文件缓存,「已用」数字高本身不是问题。真正的警示信号是:

  • 交换分区使用量持续增长。
  • 容器因内存不足被系统结束(日志里会有 OOM 相关记录)。
  • 系统响应明显变慢。

free -h 看 available 那一列,它才代表实际可用的内存。

症状四:某个时间段特别慢

多半是定时任务撞在一起。检查:

  • 备份任务
  • 快照任务
  • SMART 长检测
  • 媒体库扫描
  • 容器自动更新

把它们错开,并安排在无人使用的时段。

症状五:升级之后变慢

  1. 查看版本更新说明,确认是否有已知问题。
  2. 检查升级后是否有后台任务在跑(索引重建、数据迁移)——等它跑完再判断。
  3. 对比升级前后的资源占用,确认是哪一项变化了。

建立基准

排查性能问题的前提是知道正常是什么样。在系统状态良好时记录下:

  • 待机时的 CPU、内存占用
  • 局域网大文件传输速度
  • 硬盘休眠后的待机功耗
  • 管理界面的响应速度

有了基准,以后「是不是变慢了」就不再是感觉问题。

继续浏览

fnOS 非官方中文使用指南,与飞牛官方无隶属关系。