温馨提示×

怎样在ubuntu上优化jellyfin的内存使用

小樊
70
2025-09-01 04:41:32
栏目: 智能运维

1. 更新Jellyfin及依赖软件包
确保Jellyfin、ffmpeg-jellyfin等核心软件包为最新版本,新版本通常包含内存占用优化及bug修复。使用以下命令更新:

sudo apt update && sudo apt upgrade jellyfin ffmpeg-jellyfin -y

2. 调整systemd服务内存限制
通过修改systemd服务文件控制Jellyfin的内存分配,避免过度占用。

  • 编辑服务文件(路径通常为/etc/systemd/system/jellyfin.service/lib/systemd/system/jellyfin.service):
    sudo nano /etc/systemd/system/jellyfin.service
    
  • [Service] section添加或修改以下参数(单位:MB,根据服务器内存调整,例如2GB内存可设为MemoryMin 512MMemoryMax 1536M):
    MemoryMin 512M
    MemoryMax 1536M
    
  • 保存后重载systemd并重启Jellyfin:
    sudo systemctl daemon-reload && sudo systemctl restart jellyfin
    

3. 启用并配置Jellyfin缓存
缓存可减少对媒体文件的重复读取,提升响应速度并降低内存波动。

  • 编辑Jellyfin配置文件(/etc/jellyfin/config.json):
    sudo nano /etc/jellyfin/config.json
    
  • 找到"Cache" section,启用缓存并调整大小(例如设置"Enabled": true"Size": 1024表示1GB缓存):
    "Cache": {
      "Enabled": true,
      "Size": 1024,
      "Location": "/var/cache/jellyfin"
    }
    
  • 保存后重启Jellyfin使配置生效:
    sudo systemctl restart jellyfin
    

4. 限制并发连接数
过多的并发连接会增加内存负担,需根据服务器性能调整。

  • /etc/jellyfin/config.json中找到"MaxConcurrentSessions",设置合理的并发数(例如家庭使用可设为50,小型服务器设为100):
    "MaxConcurrentSessions": 50
    
  • 保存后重启Jellyfin。

5. 启用硬件加速
硬件加速(如Intel Quick Sync、NVIDIA NVENC)可显著降低CPU/内存占用,尤其适合转码高分辨率视频。

  • Intel平台:安装Intel核显驱动(intel-media-va-driver-non-free)并启用Quick Sync:
    sudo apt install intel-media-va-driver-non-free -y
    
    在Jellyfin Web界面→播放转码中,开启硬件加速选项。
  • NVIDIA平台:安装NVIDIA驱动及CUDA工具包,启用NVENC:
    sudo apt install nvidia-driver-XXX nvidia-cuda-toolkit -y  # 替换XXX为适合的驱动版本
    
    同样在Jellyfin转码设置中开启NVENC。

6. 转换媒体文件为高效编码
使用H.265(HEVC)、AV1等高效编码格式可减少文件大小,降低转码时的内存消耗。

  • 用FFmpeg将现有视频转换为H.265(示例命令,需根据原视频参数调整):
    ffmpeg -i input.mp4 -c:v libx265 -crf 23 -preset fast -c:a aac -b:a 128k output_hevc.mp4
    
  • 推荐使用HandBrake等图形化工具批量转换,避免命令行操作复杂度。

7. 监控内存使用情况
实时监控内存占用,定位瓶颈并调整配置。

  • 使用htop查看进程内存占用:
    sudo apt install htop -y
    htop
    
  • 使用nvidia-smi(NVIDIA显卡)监控GPU内存:
    nvidia-smi
    
    根据监控结果进一步优化上述参数(如增加MemoryMax或调整硬件加速设置)。

0