请注意,索引 RAW 图像和高分辨率全景图可能需要超出建议最小值的额外交换空间和/或物理内存。我们建议不要设置硬性内存限制,除非你熟悉内存管理并了解其影响。
Linux
打开终端,运行此命令检查服务器是否配置了交换功能。
swapon --show
输出示例:
NAME TYPE SIZE USED PRIO
/swapfile file 64G 88M -2
这意味着你有 64 GB 的交换容量,无需再增加。了解你需要多少。
否则,请运行这些命令永久添加 4 GB 的交换空间(或更多,取决于你有多少物理内存):
sudo -i
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab
如果已经以 root 身份登录,可以跳过 sudo -i。
注意:如果 swapon /swapfile 命令提示“swapon失败:无效的参数”,就使用以下命令重新生成 swapfile。
rm /swapfile
dd bs=1G count=4 if=/dev/zero of=/swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab
Raspbian
在 Raspberry Pi 上打开终端,运行以下命令来验证是否配置了交换功能:
swapon --show
输出示例:
NAME TYPE SIZE USED PRIO
/swapfile file 100M 0B -2
如果未配置交换或命令仅显示 100 MB,请使用文本编辑器打开 /etc/dphys-swapfile,搜索 CONF_SWAPSIZE=100,如果设备有 4 GB 物理内存,则将值增加到 2048,否则增加到 4096:
sudo nano /etc/dphys-swapfile
然后重新启动,使更改生效:
sudo reboot
此外,你还可以在 compose.yaml 或 docker-compose.yml 文件中将 PHOTOPRISM_WORKERS 设置为 1,以限制索引工作者的数量,从而减少内存使用量并提高稳定性。
Windows
使用 Hyper-V 时,必须将 Docker 内存限制提高到 4 GB 或更高。默认的 2 GB 会降低索引性能,并导致意外重启。还要确保配置至少 4 GB 的交换空间。Docker Desktop 使用 WSL 2 进行动态内存分配,这意味着您无需更改任何与内存相关的设置(取决于您使用的 Windows 和 Docker 版本)。
macOS
将 Docker 内存限制提高到 4 GB 或更高很重要,因为默认的 2 GB 会降低索引性能并导致意外重启。此外,确保配置至少 4 GB 的交换空间。
发表回复