多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Ollama模型路径迁移实战:三平台完整指南与排坑手册

Ollama模型路径迁移实战:三平台完整指南与排坑手册 Ollama模型路径迁移实战Windows/Mac/Linux三平台保姆级教程附常见问题排查如果你也在用Ollama部署本地大模型十有八九已经撞上一个非常现实的问题模型还没装几个系统盘先红了。Ollama把所有模型默认塞进当前用户目录下的.ollama/models里Windows下面是C:\Users\你的用户名\.ollama\modelsmacOS是~/.ollama/modelsLinux用官方脚本安装的话则在/usr/share/ollama/.ollama/models。一套Llama 3系列模型打底就是好几个GB我平时本地常驻的模型加起来超过40GB系统盘根本扛不住。这篇就从我实际迁移过三台机器的经验出发把Ollama模型路径迁移这件事彻底讲透三平台各自的完整操作步骤、环境变量和目录联接两条技术路线怎么选、迁移之后常见的坑怎么排查。不管你是第一次搬还是已经搬砸了正在找救星这篇都值得看完再动手。1. 为什么模型目录非搬不可默认存储位置、空间侵占与三条迁移路线1.1 默认路径藏在哪一个模型能吃多少空间先别急着操作花两分钟搞清楚Ollama的存储结构。无论哪个平台它的模型目录结构都是一样的顶层是models下面两个子目录blobs和manifests。blobs里存的是真正的大文件文件名统一是sha256-开头的一长串哈希没有扩展名一个文件就是一个模型层少则几百MB多则几十GBmanifests是模型清单记录了每个模型由哪些层组成、对应哪个版本目录层级大概是manifests/registry.ollama.ai/library/模型名/标签。你在终端里执行ollama list看到的每一个模型背后就是靠这些清单文件去索引blobs里的实体文件。也就是说迁移的核心对象是整个models目录不是只搬某一个文件。很多人不知道这一点直接把单个模型文件夹拷走结果Ollama压根不认。默认路径因安装方式不同有差异我把常见情况整理成一个表平台安装方式默认模型目录Windows官方exe安装包C:\Users\用户名\.ollama\modelsmacOS官方App菜单栏应用~/.ollama/modelsmacOSHomebrew安装~/.ollama/modelsLinux官方安装脚本systemd服务/usr/share/ollama/.ollama/modelsLinux手动下载二进制运行~/.ollama/modelsDocker官方镜像容器容器内/root/.ollama/models正因为所有大块头都堆在用户目录或系统盘很多人连续拉几个模型就能把整块盘塞满。我手头这台机器上一个Llama 3.1 8B的Q4量化版大约4.7GB再加Qwen2.5 7B、DeepSeek系列模型轻轻松松超过30GB。对系统盘只有128GB或256GB的笔记本来说这几乎是灾难级的占用。我的建议是装第一个模型之前就规划好存储位置或者在刚发现磁盘变红时立刻做迁移。拖得越久模型文件越多迁移时复制耗时越长出错的概率也越大。1.2 三条路线怎么选环境变量、目录联接、整体搬迁Ollama的模型路径迁移本质上就是三选一第一种是设置OLLAMA_MODELS环境变量让它指向新目录。这是Ollama官方支持的机制跨平台通用服务端进程在启动时会读取这个变量作为模型根目录。优点是最干净、最符合软件设计意图缺点是设置完成后必须重启Ollama的server进程Windows下还牵扯到环境变量刷新问题容易被设置失效这种假象误导。第二种是用软链接或Windows目录联接Junction把旧路径指向新位置。Ollama本身不需要做任何配置因为应用层面看到的路径没变实际数据已经写到新盘。优点是透明、不用反复折腾环境变量缺点是对新手来说链接这个概念本身就有理解成本而且链接一旦断裂排查起来比环境变量问题更隐蔽。第三种是物理搬迁把整个models目录复制到新位置同时配合OLLAMA_MODELS环境变量。这是我最推荐的做法相当于给模型数据换了个永久地址没有任何中间层。缺点就是复制大目录耗时较长但一次性投入换长久清净。三者对比看这张表方案适用场景优点缺点OLLAMA_MODELS环境变量大多数用户新装或旧环境均可官方支持、直观、可脚本化需重启server进程Windows下需重开进程Junction / 软链接不想改应用行为只想暗渡陈仓对Ollama透明旧配置不用动链接有断裂风险概念上绕整体搬迁 环境变量磁盘告急、彻底整理磁盘最干净无中间层复制耗时长步骤略多我自己在Windows和Linux上用的都是整体搬迁环境变量的组合。迁移这事儿最忌讳半吊子只移动文件但不设置任何变量结果Ollama发现旧路径没了启动时又悄悄重建一个空目录你原以为迁移成功了实际上下次一拉模型全写到老地方白忙一场。后面每一章的实操都按搬迁变量验证的闭环来讲。2. Windows实操robocopy搬迁 OLLAMA_MODELS环境变量再用Junction兜底2.1 盘点现状并规划新路径Windows上第一步是搞清楚现在模型目录到底占了多少空间以及Ollama当前用的哪个用户路径。打开CMD依次执行where ollama echo %USERPROFILE%第一条确认Ollama是否在PATH里第二条确认当前用户目录。接下来看目录体积CMD原生的dir也能看但显示不直观我一般直接用PowerShell(Get-ChildItem -Path $env:USERPROFILE\.ollama\models -Recurse -Force | Measure-Object -Property Length -Sum).Sum / 1GB输出结果就是模型目录的GB数。如果这个数字已经超过你系统盘剩余空间的一半基本就该动手了。新路径规划上我的建议是放在一个独立数据盘的非系统分区比如D:\ollama\models。两个原则一是路径里尽量不要出现中文和空格虽然大多数情况下Ollama能处理但保不齐某些调用链上的第三方工具会翻车没必要冒这个险二是目标分区文件系统最好是NTFS别用FAT32——FAT32单文件上限4GB而模型层文件动辄好几GB复制到一半报文件过大就尴尬了。2.2 停掉Ollama进程再robocopy复制完验证再删旧迁移前必须确保Ollama的server进程完全停止否则文件被占用会复制失败或者复制过程中数据还在被写入导致文件不完整。Windows下Ollama有两种运行方式一种是安装官方exe后后台静默运行托盘区会有图标另一种是你自己在CMD里执行过ollama serve。不管哪种先全部停掉托盘图标右键退出或者任务管理器里找到ollama.exe和ollama app进程全部结束。确认进程已退出后先创建目标目录mkdir D:\ollama\models推荐用robocopy复制它是Windows自带的强项工具断点续传、多线程、保留属性都不在话下robocopy C:\Users\你的用户名\.ollama\models D:\ollama\models /E /COPYALL /DCOPY:DAT /R:1 /W:1 /MT:16参数逐个说明一下/E复制所有子目录包括空目录/COPYALL尽可能复制文件属性和权限/DCOPY:DAT复制目录时间戳/R:1和/W:1控制失败重试次数和等待秒数/MT:16是16线程并行复制。对动辄几十GB的模型目录来说多线程提升非常明显。robocopy执行完会返回一个退出码0或1都算成功8说明有文件没复制成功。稳妥起见复制完成后先别急着删旧目录手动抽查几个大文件的大小是否一致或者干脆再跑一遍不带/E的robocopy看它还会不会复制东西。确认无误后再删rmdir /s /q C:\Users\你的用户名\.ollama\models如果你的磁盘空间紧张到没法同时容纳两份模型也可以直接让robocopy边复制边删加个/MOVE参数就行。但除非真的没空间否则我不建议一上来就用/MOVE万一复制中途出错旧文件已经被删恢复起来很麻烦。2.3 设置OLLAMA_MODELS环境变量并让所有进程都拿到新值搬迁完成后把新路径告诉Ollama。Windows下最简单的方式是用setx命令setx OLLAMA_MODELS D:\ollama\models注意setx只对之后新启动的进程生效你当前这个CMD窗口哪怕立刻执行echo %OLLAMA_MODELS%也不会显示新值这是正常的。重开一个CMD验证echo %OLLAMA_MODELS%看到D:\ollama\models就说明变量设置成功。setx有个历史坑写入超过1024字符的值会被截断但模型路径这种短字符串完全没影响。不想用命令行的话图形界面路径是系统属性 → 高级系统设置 → 环境变量 → 在用户变量里新建变量名OLLAMA_MODELS变量值D:\ollama\models。效果一样。接下来重点来了重新启动Ollama。这一步无数人栽过跟头。如果Ollama是托盘后台运行的必须从托盘图标右键彻底Quit再重新打开如果托盘的退出选项不好使去任务管理器把所有ollama相关进程全部结束后再启动。很多人只是关了窗口实际进程还活着server启动时读取的还是旧环境变量结果就是明明设置了变量模型还是写回老路径。启动完成后先跑ollama list看到原有模型列表还在说明搬迁和变量都成功再随便ollama run一个模型真正把推理跑通才算完事。2.4 不想动环境变量Junction目录联接方案有些场景下你不想改任何配置比如公司电脑有统一软件管理策略或者你只是临时把模型挪到移动硬盘腾空间那就用Windows目录联接Junction。Junction是NTFS的特性创建后旧路径像替身一样指向新路径Ollama完全无感知。操作流程是这样的先把原始models目录改名或移走然后创建联接ren C:\Users\你的用户名\.ollama\models models_old mkdir D:\ollama\models mklink /J C:\Users\你的用户名\.ollama\models D:\ollama\models在PowerShell里对应的命令是New-Item -ItemType Junction -Path C:\Users\你的用户名\.ollama\models -Target D:\ollama\models注意这里用的是Junction目录联接不是符号链接Symbolic Link。Junction的好处是不需要管理员权限普通用户就能创建而符号链接在Windows上通常要管理员权限或开启开发者模式。用mklink /J创建出来的链接在dir命令下会显示JUNCTION标识。Junction方案有一个必须记住的安全细节删除Junction链接时在CMD里用rmdir C:\Users\你的用户名\.ollama\models不要带/s参数也不要直接用资源管理器或PowerShell的Remove-Item -Recurse去删。因为前者只删链接本身后者很可能顺着链接把目标目录里的真实模型文件一并删除。这个坑我在帮同事处理时亲眼见过数据全没了只能重新下载。2.5 Windows迁移验证清单无论你选了哪条路迁移结束后按下面清单过一遍echo %OLLAMA_MODELS%输出新路径环境变量方案。ollama list列出的模型和迁移前完全一致。ollama run随便跑一个模型输出正常生成。打开目标盘目录检查blobs和manifests两个子目录都真实存在模型文件字节数和源目录一致。系统盘剩余空间明显变大删除旧目录后。3. macOS实操App版走launchctl、brew版改plist外置盘还要看文件系统3.1 先分清你的Ollama是App版、brew版还是命令行版macOS的Ollama安装方式五花八门不同方式注入环境变量的通道差别很大动手之前先搞清楚自己的是哪一种。打开终端执行which ollama如果输出是/Applications/Ollama.app/Contents/Resources/ollama说明是官方App版server进程由菜单栏应用管理如果输出是/opt/homebrew/bin/ollamaApple Silicon或/usr/local/bin/ollamaIntel Mac说明是Homebrew装的还有一种情况是ollama路径在别处比如你自己下载二进制放到/usr/local/bin那就是纯命令行版。三种版本的环境变量注入方式完全不同用错了就会复现开头说的变量设了没用的诡异现象。判断方法很简单看你现在是怎么启动Ollama的。菜单栏有图标是App版brew services list里能看到ollama是brew版每次都是手动敲ollama serve是命令行版。3.2 App版迁移setenv必须在App启动之前执行App版是macOS上最多人用的形态操作链路如下。第一步彻底退出Ollama点击菜单栏的Ollama图标选Quit再去活动监视器确认没有ollama和Ollama进程残留。第二步复制模型目录到新位置。假设我要迁到外置SSD的/Volumes/SSD/ollama-modelsmkdir -p /Volumes/SSD/ollama-models rsync -aH --progress ~/.ollama/models/ /Volumes/SSD/ollama-models/这里的-a是归档模式保留权限、属主、时间戳-H保留硬链接这个参数对model仓库很重要因为Ollama的部分文件存在硬链接关系丢了可能影响完整性。源目录末尾的斜杠~/.../models/表示复制目录内的内容到目标如果漏了斜杠rsync会把models本身作为一个子目录嵌进目标路径结果多了一层嵌套路径就对不上了。第三步把原目录改名保留备份不要急着删mv ~/.ollama/models ~/.ollama/models.bak第四步用launchctl setenv注入环境变量launchctl setenv OLLAMA_MODELS /Volumes/SSD/ollama-models launchctl getenv OLLAMA_MODELSgetenv能看到刚才设置的值。这一步的关键在于launchctl setenv设置的是当前用户GUI会话的环境变量只有设置之后再启动的App才能继承到。所以顺序必须是先setenv再启动Ollama App反过来就白费功夫。设置完成后重新打开Ollama App此时server进程启动时会从launchd环境中读到OLLAMA_MODELS模型目录就切到新位置了。第五步验证ollama list看模型列表ollama run跑一个模型。确认没问题后把备份目录删掉释放空间rm -rf ~/.ollama/models.bak3.3 brew版把变量写进服务plist不要靠launchctl碰运气Homebrew的Ollama通常以brew services的形式作为LaunchAgent常驻。对这种服务进程launchctl setenv并不总是可靠因为LaunchAgent启动时的环境变量是从它的plist配置里读取的不一定继承GUI会话里后补的setenv值。最稳妥的做法是把变量直接写进plist文件。找到服务的plist文件cat ~/Library/LaunchAgents/homebrew.mxcl.ollama.plist用PlistBuddy加入环境变量配置/usr/libexec/PlistBuddy -c Add :EnvironmentVariables dict ~/Library/LaunchAgents/homebrew.mxcl.ollama.plist /usr/libexec/PlistBuddy -c Add :EnvironmentVariables:OLLAMA_MODELS string /Volumes/SSD/ollama-models ~/Library/LaunchAgents/homebrew.mxcl.ollama.plist然后重启服务brew services restart ollama如果打开plist看到已经有EnvironmentVariables这个键就少跑第一条Add命令直接加具体的变量键值。修改完plist后也可以顺手执行launchctl unload和launchctl load来让改动生效但brew services restart一般就够了。3.4 外置SSD的文件系统坑与拔盘纪律很多Mac用户迁移的目标盘是外置SSD。文件系统这里有几个容易踩的坑。首先优先用APFS或Mac OS扩展格式虽然exFAT兼容性好但它没有POSIX权限体系某些情况下Ollama创建文件时会遇到权限异常。其次外置盘如果以前在Windows上格式化成了NTFSMac默认只能读不能写Ollama会直接报权限错误得先把盘格式化成APFS或者用支持NTFS写入的软件。再一个纪律性问题拔出外置盘之前一定先彻底退出Ollama。不然Ollama进程还握着盘上的文件句柄你强行拔盘轻则模型目录损坏重则整个卷的文件系统报错。这个习惯我从翻车之后就一直坚持宁可多花几秒退出再拔。4. Linux实操systemd drop-in、目录属主、SELinux一次配齐4.1 先确认Ollama服务是怎么跑的Linux环境最复杂的地方在于安装方式太多不同方式的服务管理机制不一样。官方安装脚本是一套Docker是一套从源码编译又是另一套。动手前先看服务状态systemctl status ollama如果输出显示服务存在且在运行继续看它的配置systemctl cat ollama官方脚本安装的服务里你会看到这样几行关键配置[Service] ExecStart/usr/local/bin/ollama serve Userollama Groupollama这说明Ollama以一个名为ollama的系统用户身份运行它的HOME目录是/usr/share/ollama所以默认模型目录是/usr/share/ollama/.ollama/models。这个路径和手动安装时的~/.ollama/models完全不同很多人在Linux上找不到模型目录就是拿自己的HOME路径去比对结果对不上。4.2 用systemctl edit写override而不是直接改service文件很多人习惯直接编辑/etc/systemd/system/ollama.service这样确实能生效但有个隐患如果哪天你重装Ollama或者升级脚本重新生成了service文件你的改动会被覆盖。正确的做法是用systemd的drop-in覆盖机制sudo systemctl edit ollama这会打开一个临时编辑窗口在里面输入[Service] EnvironmentOLLAMA_MODELS/data/ollama/models保存退出后执行sudo systemctl daemon-reload sudo systemctl restart ollamadaemon-reload这一步不能省它让systemd重新读取配置。改完之后查看实际生效的环境变量systemctl show ollama -p Environment或者更直接地看运行中进程的真实环境sudo tr \0 \n /proc/$(systemctl show ollama -p MainPID --value)/environ | grep OLLAMA这条命令读取ollama主进程的环境变量列表并过滤出OLLAMA相关项以这个输出为准比任何配置文件都真实。4.3 新目录的属主和挂载检查Linux上最常遇到的错误是permission denied。原因很简单Ollama服务以ollama用户运行而你的新目录可能是用root创建的属主是rootollama用户没有写权限。解决方式sudo mkdir -p /data/ollama/models sudo chown -R ollama:ollama /data/ollama/models如果模型目录放在独立挂载的数据盘上还要检查挂载参数。用mount | grep /data看一下如果有noexec通常不影响模型文件但如果有ro只读那必然出问题。另外注意如果你的系统启用了SELinux迁移后可能需要调整文件上下文排查方法是用journalctl -u ollama看日志里有没有avc: denied的条目有的话再针对性处理。4.4 手动安装场景变量写进shell配置再启动如果你当初不是用官方脚本而是手动下载二进制、自己执行ollama serve那上面说的systemd方法都不适用。这种情况最简单把变量写进shell配置文件echo export OLLAMA_MODELS/data/ollama/models ~/.bashrc source ~/.bashrc ollama serve注意环境变量必须在执行ollama serve之前导出因为server只在启动时读一次。如果你已经开着服务设置完变量后要重启这个进程。4.5 Linux迁移验证ollama list模型列表完整。ollama run 模型名正常出结果。systemctl show ollama -p Environment能看到EnvironmentOLLAMA_MODELS/data/ollama/models。du -sh /data/ollama/models显示的数据量和新目录对得上。这一套走完Linux这边的迁移就闭环了。5. 迁移后翻车排查看懂进程环境五个真实案例拆解5.1 排查三板斧先看进程环境、再看目录、最后看日志迁移后出了问题最忌讳的就是瞎猜一会儿怀疑变量没设置一会儿怀疑文件没复制全。我的排查顺序永远是固定的先确认Ollama进程真正读到了哪个路径再确认目标目录的文件结构是否完整最后才去看Ollama的日志报错。看进程环境三平台各有一套命令平台命令Windows任务管理器或Process Explorer找到ollama进程查看环境变量块CMD里echo %OLLAMA_MODELS%验证当前shell变量macOSlaunchctl getenv OLLAMA_MODELS或ps eww $(pgrep -x ollama)查看进程环境Linuxsystemctl show ollama -p Environment或直接读/proc/pid/environ看目录核心是确认blobs和manifests两个子目录都在。日志方面Windows和macOS一般都在~/.ollama/logs/server.logLinux是journalctl -u ollama -n 100 --no-pager。这三个信息拿到手90%的问题都能定位。5.2 案例一环境变量明明设置了模型还是写回旧路径这是最常见的怪现象。某次我在Windows上给同事处理他信誓旦旦说echo %OLLAMA_MODELS%输出正确但模型依然下载到C盘。查了半天最后用Process Explorer看ollama进程的环境变量发现进程里压根没有OLLAMA_MODELS这个变量。根因是Ollama的server进程在环境变量设置之前就已经启动了它一直保留着旧环境。Windows和macOS都容易踩这个坑。解决方式就是彻底退出并重启Ollama进程。Windows托盘App尤其恶心关窗口不代表退出必须右键托盘图标QuitmacOS App也是同样launchctl setenv设置完之后如果Ollama App是之前就开着的必须彻底退出再重开因为server进程启动时读取环境变量的动作已经发生过了后来的setenv对它无效。顺序永远是先设变量再启动Ollama。5.3 案例二Linux报permission denied目录建不出来现象是ollama run报错日志里有类似mkdir /data/ollama/models: permission denied的信息。根因基本就两个要么新目录属主不是ollama要么挂载点权限不对。我之前还遇到过一种变体目录在NFS共享盘上NFS服务端配置了只读导出本地怎么chown都没用。排查路径就是ls -ld看属主mount看挂载参数一步步排除。5.4 案例三迁移后ollama list一片空白模型全部消失模型目录搬过去了环境变量也设了进程也是新启动的但ollama list输出为空。我遇到过一次排查到后来发现新目录下只有blobs没有manifests。原因是当初迁移时robocopy漏了隐藏目录或中途被打断manifests没复制过去。ollama list依赖manifests来枚举模型清单缺失自然什么都列不出来。修复很简单把旧目录或备份里的manifests完整补拷过去重启Ollama进程模型就回来了。这也再次说明迁移时保留整个目录结构、复制完成做校验有多重要。5.5 案例四ollama run报file does not exist模型在ollama list里能看到但运行时提示文件不存在。这种情况几乎都是blobs目录里的实体文件缺失或损坏。manifest里记录了每个层对应哪个sha256-xxx哈希文件只要有一个blob丢了整个模型就跑不起来。定位方法是进到blobs目录对比manifest里引用的哈希文件名是否都存在ls ~/目标路径/models/blobs | grep sha256-如果确实缺文件把缺失的哈希文件从备份目录补拷过去没有备份就直接ollama rm删掉这个模型重新ollama pull。顺带说一句我后来学乖了迁移大目录时永远用robocopy的/E或rsync的-aH这两个参数能最大程度保证隐藏文件、硬链接和目录结构都不丢。5.6 案例五外置盘没挂载、Windows盘符漂移导致模型消失这个坑在迁移到外置盘或数据盘时特别典型。macOS外置SSD没插上就启动了OllamaWindows移动硬盘盘符从D:变成了E:Linux数据盘挂载失败结果都一样Ollama启动时发现配置里的路径不存在要么新建一个空目录导致ollama list为空要么直接报错。这类问题排查起来最迷惑因为配置、环境变量全都正确唯一的问题是盘不在。所以我的习惯是迁移到外置存储后启动Ollama前先确认存储已挂载、路径可访问再启动服务。Windows上如果盘符漂移最好在磁盘管理里把分区固定一个盘符或者用Junction指向目标盘符并养成检查盘符的习惯。6. 迁移之后容量规划、备份习惯、顺手优化6.1 模型体积怎么估算别再等磁盘满了才后悔迁移完成只是开始后续还要持续下载新模型学会估算体积能让你少折腾几次。最简单的估算公式量化模型的体积约等于参数量乘以单参数所占字节。Q4_K_M量化级别下每10亿参数大约占0.6GBF16格式大约每10亿参数占2GB。举例来说7B模型的Q4版本约4.2GB70B模型的Q4版本约40GB和实际下载体积基本吻合。常见模型大致体积我列一下模型参数规模Q4量化约体积Llama 3.1 8B8B4.7GBQwen2.5 7B7B4.7GBMistral 7B7B4.1GBLlama 3.3 70B70B40GBDeepSeek R1 7B7B4.9GB规划磁盘时建议至少留出预估模型总量2倍的剩余空间。因为下载是分层的临时空间和最终占用的模型空间会有一段时间同时存在再者模型运行时还会加载到内存或显存磁盘空间太满会影响系统整体性能。6.2 复制还是硬链接备份与回滚我怎么做迁移这套操作我最看重的时刻其实是删旧目录之前。过去我的习惯是迁移稳定后立刻删掉旧目录释放空间但后来一次事故改变了我的做法迁移后第三天发现有个模型的精度不对排查半天确定是迁移时有个blob在复制中被静默损坏旧目录早就删了只能重新下载一个40GB的模型。从那次以后我的流程调整为迁移完成后旧目录改名保留观察至少一周。期间正常使用Ollama确认所有模型都能跑、下载新模型也没问题。一周后无异常再删旧目录。如果你Linux上空间富余还有一个更高效的备份思路用硬链接而不是复制。cp -al可以把整个models目录做出一份虚假占用的完整副本每个文件都是硬链接不额外消耗磁盘空间但文件系统层面看起来是完整目录。哪天误删了原文件硬链接副本里的数据还在。这个技巧对经常折腾模型的人来说非常实用。6.3 顺手可调的其它OLLAMA_环境变量既然已经掌握了环境变量配置不妨把几个常用的OLLAMA变量一并设置了。它们和OLLAMA_MODELS放在同一个地方Windows用户变量里添加macOS的launchctl或plist里添加Linux的systemd override里添加变量名作用建议值OLLAMA_MODELS模型存储路径本文核心指向迁移后的目录OLLAMA_KEEP_ALIVE模型在内存/显存中驻留时间5m或30m按使用频率调整OLLAMA_MAX_LOADED_MODELS并发驻留模型数上限1或2显存小就设1OLLAMA_HOST服务监听地址127.0.0.1:11434默认即可别一次性全加上先想清楚自己需要什么。加变量本身不会错但变量太多出问题的时候排查面也大我最开始只加了OLLAMA_MODELS一个跑顺了才逐步添加。6.4 官方源拉取太慢用GGUF本地导入绕开下载瓶颈迁移过程中顺手还会遇到另一个高频问题模型下载太慢。尤其是一些大型模型从官方源拉取速度堪忧。这里分享一个我常用的替代思路从可直连的社区模型库下载GGUF格式的模型文件然后本地导入Ollama完全绕开官方的下载通道。操作方式很简单。假设你下载了一个qwen2.5-7b-instruct-q4_k_m.gguf文件先创建一个ModelfileFROM ./qwen2.5-7b-instruct-q4_k_m.gguf然后在同一目录执行ollama create qwen2.5-7b-local -f ModelfileOllama会根据这个GGUF文件构建出模型并写入当前OLLAMA_MODELS指向的目录。之后再ollama run qwen2.5-7b-local就能正常使用。这个方法对网络不稳的用户非常友好而且导入后的模型和直接pull的在本地行为上没有任何差别。我在实际使用中最深的体会是迁移这件事看起来只是几条命令真正考验人的是进程环境没有刷新目录权限不对文件结构复制不全这些细节。所以最后再分享一条个人纪律每次迁移完我都强制自己用ollama list加一次实际ollama run双验证确认不是光有清单没有blob的假成功。这个习惯帮我少踩了很多次坑。
返回列表