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 512M、MemoryMax 1536M):MemoryMin 512M
MemoryMax 1536M
sudo systemctl daemon-reload && sudo systemctl restart jellyfin
3. 启用并配置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"
}
sudo systemctl restart jellyfin
4. 限制并发连接数
过多的并发连接会增加内存负担,需根据服务器性能调整。
/etc/jellyfin/config.json中找到"MaxConcurrentSessions",设置合理的并发数(例如家庭使用可设为50,小型服务器设为100):"MaxConcurrentSessions": 50
5. 启用硬件加速
硬件加速(如Intel Quick Sync、NVIDIA NVENC)可显著降低CPU/内存占用,尤其适合转码高分辨率视频。
intel-media-va-driver-non-free)并启用Quick Sync:sudo apt install intel-media-va-driver-non-free -y
在Jellyfin Web界面→播放→转码中,开启硬件加速选项。sudo apt install nvidia-driver-XXX nvidia-cuda-toolkit -y # 替换XXX为适合的驱动版本
同样在Jellyfin转码设置中开启NVENC。6. 转换媒体文件为高效编码
使用H.265(HEVC)、AV1等高效编码格式可减少文件大小,降低转码时的内存消耗。
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或调整硬件加速设置)。