跳转至

如何排查问题

有时 Ollama 可能无法按预期运行。了解发生了什么的最佳方法之一是查看日志。在 Mac 上,通过运行以下命令来找到日志:

cat ~/.ollama/logs/server.log

在带有 systemd 的 Linux 系统中,可以用以下命令找到日志:

journalctl -u ollama

当你在 容器 中运行 Ollama 时,日志会输出到容器的 stdout/stderr:

docker logs <container-name>
(使用 docker ps 查找容器名称)

如果在终端手动运行 ollama serve,日志将显示在该终端上。

当你在 Windows 上运行 Ollama 时,有几个不同的位置。你可以通过按 <cmd>+R 并输入以下内容在资源管理器窗口中查看它们: - explorer %LOCALAPPDATA%\Ollama 查看日志 - explorer %LOCALAPPDATA%\Programs\Ollama 浏览二进制文件(安装程序会将此添加到你的用户 PATH) - explorer %HOMEPATH%\.ollama 浏览存储模型和配置的位置 - explorer %TEMP% 浏览存储在一个或多个 ollama* 目录中的临时可执行文件

要启用额外的调试日志以帮助排查问题,请先从托盘菜单退出正在运行的应用,然后在 PowerShell 终端中

$env:OLLAMA_DEBUG="1"
& "ollama app.exe"

加入 Discord 寻求帮助解释日志。

LLM 库

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 库概览

你可以将 OLLAMA_LLM_LIBRARY 设置为任何可用的 LLM 库以绕过自动检测,例如,如果你有 CUDA 卡,但想强制使用支持 AVX2 矢量的 CPU LLM 库,使用:

OLLAMA_LLM_LIBRARY="cpu_avx2" ollama serve

你可以使用以下方法查看你的 CPU 具有哪些功能。

cat /proc/cpuinfo| grep flags  | head -1

在 Linux 上安装较旧或预发布版本

如果你在 Linux 上遇到问题并想安装较旧版本,或者你想在正式发布前尝试预发布版本,你可以告诉安装脚本安装哪个版本。

curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION="0.1.29" sh

Linux tmp noexec

如果你的系统配置了在 Ollama 存储其临时可执行文件的地方使用 "noexec" 标志,你可以通过设置 OLLAMA_TMPDIR 到一个由 ollama 运行的用户可写的位置来指定一个替代位置。例如 OLLAMA_TMPDIR=/usr/share/ollama/