如何解决故障问题
有时候,Ollama 可能无法按预期工作。找出发生了什么的最好方法之一是查看日志。在 Mac 上,通过运行以下命令来查找日志:
cat ~/.ollama/logs/server.log在使用 systemd 的 Linux 系统上,可以使用以下命令找到日志:
journalctl -u ollama当你在 ** 容器 ** 中运行 Ollama 时,日志会输出到容器的 stdout/stderr:
docker logs <container-name>(使用 docker ps 查找容器名称)
如果在终端中手动运行 ollama serve,日志会显示在那个终端上。
- 打开
%LOCALAPPDATA%\Ollama查看日志 - 打开
%LOCALAPPDATA%\Programs\Ollama浏览二进制文件(安装程序会将其添加到您的用户 PATH 中) - 运行
explorer %HOMEPATH%\.ollama浏览模型和配置文件的存储位置 - 打开
%TEMP%,其中包含存储在多个ollama*目录中的临时可执行文件。 当你在 Windows 上运行 Ollama 时,有几个不同的位置。你可以在资源管理器窗口中查看它们,方法是按<cmd>+R,然后输入:
$env:OLLAMA_DEBUG="1"
& "ollama app.exe"要启用额外的调试日志以帮助解决问题,请先从托盘菜单中 ** 退出正在运行的应用程序 ** ,然后在 PowerShell 命令行窗口中:
加入 Discord 以获取日志解读的帮助。
LLM libraries
Ollama 包含了为不同 GPU 和 CPU 向量特性编译的多个 LLM 库。Ollama 会根据您的系统能力选择最佳的一个。如果自动检测有问题,或者您遇到其他问题(例如:GPU 崩溃),您可以强制使用特定的 LLM 库来解决此问题。cpu_avx2 性能最优,其次是 cpu_avx,最慢但兼容性最好的是 cpu。在 MacOS 上的 Rosetta 模拟器可以与 cpu 库配合使用。
在服务器日志中,你会看到一条类似以下信息的消息(随版本不同而不同):
Dynamic LLM libraries [rocm_v6 cpu cpu_avx cpu_avx2 cuda_v11 rocm_v5]实验性 LLM libraries 覆盖
你可以设置 OLLAMA_LLM_ 库为可用的任何 LLM 库以绕过自动检测,例如,如果你有一张 CUDA 卡,但希望强制使用带有 AVX2 向量支持的 CPU LLM 库,可以使用:
OLLAMA_LLM_LIBRARY="cpu_avx2" ollama servecat /proc/cpuinfo| grep flags | head -1你可以使用以下方法查看你的 CPU 具有哪些功能。
在 Linux 上安装旧版或预发布版本
如果你在 Linux 上遇到问题并想要安装一个旧版本,或者你想要在官方发布之前试用一个预发行版,你可以告诉安装脚本要安装哪个版本。
curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION="0.1.29" shLinux 临时目录 noexec
如果你的系统在 Ollama 存储临时可执行文件的地方被配置为使用"noexec" 标志,你可以通过设置 OLLAMA_TMPDIR 为 Ollama 运行用户具有写入权限的位置来指定一个替代位置。例如 OLLAMA_TMPDIR=/usr/share/ollama/
容器无法在 NVIDIA GPU 上运行
请确保按照 docker 教程 中的描述先配置了容器运行时。
有时,容器运行时在初始化 GPU 时可能会遇到困难。当您检查服务器日志时,这可能表现为各种错误代码,例如:"3"(未初始化),"46" (设备不可用),"100"(无设备),"999"(未知)或其他。以下故障排除技术可能有助于解决问题。
- UVM 驱动程序是否未加载?运行
sudo nvidia-modprobe -u命令。 - 尝试重新加载 nvidia_uvm 驱动程序 -
sudo rmmod nvidia_uvm然后sudo modprobe nvidia_uvm - 尝试重启 Docker 容器
- 确保你正在运行最新的 nvidia 驱动程序
如果以上方法都不能解决问题,请收集更多信息并在 这里 提交问题:
- 设置
CUDA_ERROR_LEVEL=50并再次尝试以获取更详细的诊断日志。 - 检查 dmesg 中的任何错误,运行命令
sudo dmesg | grep -i nvrm和sudo dmesg | grep -i nvidia。
笔记本电脑休眠恢复
在 Linux 系统中,休眠 / 唤醒循环后,有时 Ollama 可能无法发现您的 NVIDIA GPU,并退回到使用 CPU 运行。您可以通过重新加载 NVIDIA UVM 驱动程序来解决这个驱动问题,命令为 sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm。
