Ollama pull vs run: வேறுபாடுகள் மற்றும் கோப்புகள் சேமிப்பு
Ollama pull மற்றும் run கட்டளைகளுக்கு இடையிலான வேறுபாடுகளை அறியுங்கள். VPS root disk-ல் சேமிக்கப்படும் model கோப்புகளை எவ்வாறு மாற்றுவது மற்றும் இடவசதியை மீட்பது எப்படி?
ollama pull மற்றும் ollama run ஆகியவற்றுக்கு இடையேயான வேறுபாடு
ollama pull ஒரு model-ஐத் தரவிறக்கம் செய்துவிட்டு நின்றுவிடும். ollama run model விடுபட்டிருந்தால் மட்டுமே அதைத் தரவிறக்கம் செய்யும், பின்னர் அதை memory-ல் ஏற்றி interactive chat-ஐத் தொடங்கும். தரவிறக்கம் செய்யும் முறை ஒன்றுதான், கோப்புகளும் ஒரே இடத்தில்தான் சேமிக்கப்படும். run மட்டுமே அதன் பிறகு தொடர்ந்து இயங்கும்.
இந்த ஒரு சிறிய வேறுபாடே, எந்தக் கட்டளையை script-ல் பயன்படுத்த வேண்டும், எதை keyboard மூலம் இயக்க வேண்டும் என்பதைத் தீர்மானிக்கிறது.
ollama pull gemma4
ollama run gemma4
ollama run gemma4 "Reply with one word: ready"முதல் வரி model-ஐப் பெற்றுக்கொண்டு வெளியேறிவிடும், எனவே இது provisioning மற்றும் systemd unit-களில் பயன்படுத்த பாதுகாப்பானது. இரண்டாவது வரி ஒரு chat session-ஐத் தொடங்கும்; வெளியேற /bye என்று தட்டச்சு செய்யவும் அல்லது Ctrl+D-ஐ அழுத்தவும். மூன்றாவது வரி ஒரு single prompt-ஐ அனுப்பி, பதிலை அச்சிட்டுவிட்டு வெளியேறிவிடும்; ஒரு session-ஐ விட பதில் மட்டுமே தேவைப்படும்போது, script-களுக்கு இந்த வடிவம் பொருத்தமானது. Model பெயர்கள் அடிக்கடி மாறக்கூடும் என்பதால், இங்கே உள்ள gemma4-ஐ ஒரு placeholder-ஆகக் கருதவும்: இது ஆகஸ்ட் 2026 நிலவரப்படி அதிகாரப்பூர்வ Ollama ஆவணங்களில் பயன்படுத்தப்பட்டுள்ள உதாரணம், library-ல் உள்ள எந்த tag-ம் இதேபோல்தான் செயல்படும்.
முதல் முறை ollama run இயக்கும்போது ஏன் உறைந்து போனது போல் உள்ளது
புதிய VPS-ல் முதல் முறையாக run இயக்கும்போது, பல நிமிடங்களுக்கு எந்த வெளியீடும் (output) இல்லாமல் இருக்கலாம். இதில் எந்தப் பிழையும் இல்லை. மாதிரி (model) கோப்பு வட்டில் (disk) பதிவிறக்கம் செய்யப்பட்டு நினைவகத்தில் (memory) ஏற்றப்படும் வரை, உரையாடல் தூண்டுதல் (chat prompt) தோன்றாது. எனவே, எதையும் காண்பிக்கும் முன்பே run பல ஜிகாபைட் அளவிலான தரவைப் பதிவிறக்கம் செய்கிறது.
இந்தச் செயல்பாட்டை இரண்டு காரணங்கள் மறைக்கின்றன. Ollama தனது முன்னேற்றப் பட்டையை (progress bar) முனையத்தில் (terminal) மட்டுமே காட்டும். எனவே, ஒரு shell script, cron job, CI step அல்லது ஒரு எளிய ssh host ollama run ...-க்குள் run இயங்கும்போது, பதிவிறக்கத்தின் போது எந்தத் தகவலும் திரையில் வராது. தரவு பதிவிறக்கம் செய்யப்பட்ட பிறகும், முதல் டோக்கன் (token) தோன்றுவதற்கு முன் கோப்பு வட்டில் இருந்து RAM-க்கு வாசிக்கப்பட வேண்டும். சிறிய VPS-களில் இந்த வாசிப்பு வேகம் குறைவாக இருக்கும். அந்தச் சர்வரில் மாதிரிக்குத் தேவையான நினைவகம் இல்லையென்றால், கர்னல் (kernel) swapping செய்யத் தொடங்கும், இதனால் காத்திருப்பு நேரம் இன்னும் அதிகரிக்கும்.
ஊகிப்பதற்குப் பதிலாக, இரண்டாவது அமர்விலிருந்து (session) இதைக் கண்காணிக்கவும்:
df -h /
watch -n5 df -h /இலவச நினைவகம் (free space) படிப்படியாகக் குறைந்து வருவது, பதிவிறக்கம் இன்னும் நடந்து கொண்டிருப்பதைக் குறிக்கிறது. கட்டளை இயங்கிக் கொண்டிருக்கும்போதே நினைவகம் குறைவது நின்றால், பதிவிறக்கம் முடிந்து நினைவகத்தில் ஏற்றும் பணி தொடங்கிவிட்டது என்று அர்த்தம்.
இதனால்தான் முன்கூட்டியே பதிவிறக்கம் (pull) செய்வது அவசியமாகிறது. ollama run என்று தட்டச்சு செய்பவர், பதிவிறக்கத்திற்காகக் காத்திருக்க வேண்டிய சூழல் இருக்கக்கூடாது.
யாரும் கோருவதற்கு முன்பே மாதிரியை (model) பதிவிறக்கம் செய்தல்
புதிய server-ல், server-ஐ நிறுவும் அதே script-ஐப் பயன்படுத்தி மாதிரியைப் பதிவிறக்கவும்:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull gemma4நீங்கள் முதல்முறையாக server-ஐ அமைப்பதாக இருந்தால், VPS-ல் முழுமையான Ollama நிறுவல் பகுதி, service-ஐ எவ்வாறு அமைப்பது மற்றும் அதை யார் அணுகலாம் என்பது குறித்து விளக்குகிறது. அதன் பிறகு, உங்கள் terminal அமர்வு முடிந்தாலும் பதிவிறக்கம் தொடரும் வகையில் அமைப்பது அவசியம். ஏனெனில், பதிவிறக்கம் பாதியில் நின்றால், முழுமையற்ற model store உருவாகிவிடும்.
இதை tmux-க்குள் இயக்கவும் அல்லது boot நேரத்தில் இயங்கும் ஒரு one-shot unit ஆக systemd-யிடம் ஒப்படைக்கவும். /etc/systemd/system/ollama-pull.service-ஐ உருவாக்கவும்:
[Unit]
Description=Pre-pull Ollama models
Wants=ollama.service network-online.target
After=ollama.service network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c 'until ollama list >/dev/null 2>&1; do sleep 2; done'
ExecStart=/bin/sh -c 'ollama pull gemma4'
[Install]
WantedBy=multi-user.targetஇரண்டு கட்டளைகளும் திட்டமிட்டு /bin/sh -c வழியாக இயக்கப்படுகின்றன. வெறும் ExecStart=-க்கு முழுமையான path தேவைப்படுகிறது, மேலும் installer எப்போதும் binary-ஐ ஒரே directory-ல் வைப்பதில்லை. எனவே, உங்கள் box-ல் உள்ள command -v ollama மட்டுமே நம்பகமான தீர்வாகும். Shell வழியாகச் செல்லும்போது, வழிகாட்டியில் உள்ள path-க்கு பதிலாக service-ன் PATH பயன்படுத்தப்படுகிறது. முதல் ExecStart-ம் முக்கியமானது: After=ollama.service என்பது server unit தொடங்கப்பட்டுவிட்டது என்பதைக் குறிக்கும், ஆனால் அது பயன்பாட்டிற்குத் தயாராக உள்ளது என்று அர்த்தமல்ல. எனவே, ollama list பதிலளிக்கும் வரை இந்த loop காத்திருக்கும், அதன் பிறகே பதிவிறக்கம் தொடங்கும்.
sudo systemctl daemon-reload
sudo systemctl enable --now ollama-pull.service
journalctl -u ollama-pull.serviceJournal-ல் பதிவிறக்கம் எந்தப் பிழையுமின்றி முடிவடைந்ததைக் காட்ட வேண்டும், அதன் பிறகு ollama list மாதிரியைக் காட்ட வேண்டும். நகரும் tag-ஐ (moving tag) தற்போதைய நிலையில் வைத்திருக்க, அதே பதிவிறக்கத்தை இயக்கும் ஒரு systemd timer அல்லது வாராந்திர cron entry-ஐச் சேர்க்கவும். மாறியுள்ள tag-ஐ மீண்டும் பதிவிறக்கும்போது, புதிய layers பதிவிறக்கப்பட்டு, பழைய layers-க்கு எந்த இணைப்பும் இருக்காது. server அடுத்த முறை தொடங்கும்போது அவை நீக்கப்படும்.
ஒரு pull தடைபடும்போது என்ன நடக்கும்
ஒரு model-ன் ஒவ்வொரு layer-ம் அதன் உள்ளடக்கத்தின் hash மதிப்பைக் கொண்டு சேமிக்கப்படுகிறது. எனவே, தடைபட்ட pull என்பது வீணான வேலை அல்ல: அதே ollama pull கட்டளையை மீண்டும் இயக்கினால், ஏற்கனவே முடிவடைந்த layer-கள் கண்டறியப்பட்டு தவிர்க்கப்படும்; இதனால் தடைபட்ட இடத்திலிருந்து download தொடரும்.
ஒரு செயல் இந்த முன்னேற்றத்தை அழித்துவிடும். Ollama server தொடங்கும்போது, எந்த model manifest-உடனும் தொடர்பில்லாத சேமிக்கப்பட்ட layer-களை அது நீக்கிவிடும். பாதியில் நின்ற pull-ஆல் உருவான பகுதி layer-ம் அத்தகையதே. எனவே, நீங்கள் மீண்டும் முயற்சிக்கும் முன் service-ஐ restart செய்தால், ஏற்கனவே download செய்த பகுதி நீக்கப்பட்டுவிடும். முதலில் pull-ஐ மீண்டும் முயற்சி செய்துவிட்டு, பிறகு restart செய்யவும். ஒரு பகுதி download restart-க்கு பிறகும் நீடிக்க வேண்டும் எனில், service environment-ல் OLLAMA_NOPRUNE=1-ஐ அமைக்கவும். பிறகு அதை நீக்கிவிடவும், ஏனெனில் அந்த startup cleanup தான் தேவையற்ற layer-கள் disk-ல் சேர்வதைத் தடுக்கிறது.
ஒருவேளை no space left on device பிழையுடன் pull நின்றால், மீண்டும் முயற்சிக்கும் முன் disk-ல் இடத்தை காலி செய்யவும். df disk முழுமையாக நிரம்பியதாகக் காட்டி, model directory-ல் du மூலம் கணக்கிடும்போது அந்த அளவு இடம் தெரியவில்லை என்றால், அந்த இடம் வேறு எங்கோ பயன்படுத்தப்படுகிறது என்று அர்த்தம். எதையும் நீக்கும் முன் df மற்றும் du ஏன் முரண்படுகின்றன என்பதற்கான காரணங்களைப் படிப்பது நல்லது.
VPS-ல் Ollama எங்கே மாதிரிகளை (models) சேமிக்கிறது?
எந்தவொரு வழிகாட்டியையும் நம்புவதற்குப் பதிலாக, உங்கள் கணினியிடமே நேரடியாகக் கேட்டுத் தெரிந்துகொள்ளுங்கள். இதில் இந்த வழிகாட்டியும் அடங்கும். ஒரு package install-க்கும் container-க்கும் இடையே சேமிப்பக இடம் மாறுபடும், மேலும் யாராவது OLLAMA_MODELS அமைத்திருந்தால் அது மீண்டும் மாறும்.
systemctl cat ollama.service
getent passwd ollama
sudo find / -xdev -type d -name blobs 2>/dev/nullsystemctl cat கட்டளையானது unit file-ஐ அதன் அனைத்து drop-in கோப்புகளுடனும் அச்சிடும், எனவே நீங்கள் அமைத்த அல்லது உங்கள் image-ல் உள்ளமைக்கப்பட்ட OLLAMA_MODELS வரி அதில் தெரியும். அத்தகைய வரி எதுவும் இல்லை என்றால், service எந்தக் கணக்கின் கீழ் இயங்குகிறதோ, அந்தப் பயனர் கணக்கின் home directory-ல் சேமிப்பகம் அமையும். getent passwd கட்டளையானது அந்த home directory-ஐ ஆறாவது colon-separated புலத்தில் அச்சிடும். find கட்டளையானது கோப்பு முறைமையில் blobs கோப்பகத்தைத் தேடும், அங்குதான் layers உண்மையில் எழுதப்படுகின்றன. மாதிரிகள் ஏற்கனவே ஒரு தனி mount-ல் இருக்கலாம் எனில், -xdev கட்டளையைப் பயன்படுத்தவும்.
இப்போது அளவீடு செய்து, உங்கள் கணினியின் தரவுகளைப் படியுங்கள்:
ollama list
df -h /
sudo du -sh /the/directory/you/found
sudo du -h -d1 /the/directory/you/foundஇந்தச் சேமிப்பகம் இரண்டு பகுதிகளைக் கொண்டது. manifests ஒவ்வொரு model tag-க்கும் ஒரு சிறிய கோப்பை வைத்திருக்கும், அந்தத் tag எந்தெந்த layers-ஆல் உருவாக்கப்பட்டது என்பதை அந்தக் கோப்பு பட்டியலிடும். blobs layers-களைத் தனியாக வைத்திருக்கும், ஒவ்வொன்றும் அதன் உள்ளடக்கத்தின் hash மதிப்பைக் கொண்டு பெயரிடப்பட்டிருக்கும்; சேமிப்பகத்தின் பெரும்பகுதி இதிலேயே செலவாகும். Layers பல tags-களுக்குப் பகிரப்படுவதால், ஒரே weights-ஐக் கொண்ட இரண்டு மாதிரிகள் ollama list-ல் தனித்தனியாகத் தங்கள் அளவைக் காட்டினாலும், வட்டில் அவை ஒருமுறை மட்டுமே இடத்தைப் பிடிக்கும். எனவே, பட்டியலிடப்பட்ட அளவுகளின் கூடுதல், du அந்த directory-க்குக் காட்டும் அளவை விட அதிகமாக இருக்கலாம்.
Model கோப்புகள் ஒரு சிறிய VPS root filesystem-ஐ நீங்கள் நிறுவும் மற்ற எதைவிடவும் வேகமாக நிரப்பிவிடும். அவற்றின் அளவைக் கட்டுப்படுத்தும் மிக முக்கியமான காரணி weight format ஆகும். q4, q8 மற்றும் fp16 ஆகியவற்றுக்கு இடையே தேர்ந்தெடுத்தல் என்பது ஒவ்வொரு மாதிரிக்கும் பல gigabytes அளவைச் சேமிக்க உதவும்.
OLLAMA_MODELS மூலம் மாதிரிகளை (models) ஒரு தரவு தொகுப்பிற்கு (data volume) நகர்த்துதல்
திட்டத்தில் இரண்டாவது வட்டு (disk) அல்லது பெரிய தரவு தொகுப்பு இருந்தால், root filesystem நிரம்புவதற்கு முன்பே சேமிப்பகத்தை நகர்த்தவும். முதலில் server-ஐ நிறுத்தவும், அப்போதுதான் எழுதப்பட்டுக்கொண்டிருக்கும் கோப்புகளை நகலெடுப்பதைத் தவிர்க்கலாம்.
sudo systemctl stop ollama
sudo mkdir -p /mnt/data/ollama-models
sudo rsync -a /the/directory/you/found/ /mnt/data/ollama-models/
sudo chown -R ollama:ollama /mnt/data/ollama-models
sudo systemctl edit ollama.servicesystemctl edit ஒரு drop-in கோப்பில் எடிட்டரைத் திறக்கும், இதனால் தொகுக்கப்பட்ட unit மாறாமல் இருக்கும் மற்றும் தொகுப்பு மேம்படுத்தல் (package upgrade) உங்கள் மாற்றத்தை மேலெழுதாது. இந்த இரண்டு வரிகளைச் சேர்க்கவும்:
[Service]
Environment="OLLAMA_MODELS=/mnt/data/ollama-models"sudo systemctl daemon-reload
sudo systemctl restart ollama
systemctl show ollama --property=Environment
ollama listsystemctl show உங்கள் புதிய பாதையை அச்சிட வேண்டும், மேலும் ollama list நகர்த்தலுக்கு முன்பு காட்டிய அதே மாதிரிகளைக் காட்ட வேண்டும். பட்டியல் காலியாக இருந்தால், புதிய கோப்பகத்தை server-ஆல் படிக்க முடியவில்லை என்று அர்த்தம். இந்தச் சேவை ollama பயனராக இயங்குகிறது, எனவே அந்தப் பயனருக்கு இலக்கு கோப்பகத்தில் படிக்க மற்றும் எழுத அனுமதி தேவை, அது மேலே உள்ள chown வரியின் பணியாகும். புதிய பாதையைக் குறிப்பிடும் அனுமதிப் பிழைகளுக்கு journalctl -e -u ollama-ஐச் சரிபார்க்கவும். பட்டியல் சரியாக வந்த பிறகு மட்டுமே பழைய நகலை நீக்கவும், ஏனெனில் நகர்த்தல் தோல்வியடைந்து மூலக் கோப்பு நீக்கப்பட்டால், அனைத்தையும் மீண்டும் பதிவிறக்க வேண்டியிருக்கும்.
மற்றொரு விருப்பம் அசல் பாதையை வைத்துக்கொண்டு, தரவு தொகுப்பை அதன் மீது mount செய்வது:
echo '/mnt/data/ollama-models /the/directory/you/found none bind 0 0' | sudo tee -a /etc/fstab
sudo mount -a
findmnt /the/directory/you/found
df -h /findmnt mount-ஐ அச்சிடுவது bind செயல்பாட்டில் இருப்பதைக் குறிக்கிறது. இயல்புநிலை இருப்பிடத்தை வேறு ஏதேனும் எதிர்பார்த்தால், bind mount உதவியாக இருக்கும். இதில் ஒரு சிக்கல் உள்ளது: நீங்கள் நகலெடுத்த கோப்புகள் root disk-ல் உள்ள mount point-க்கு அடியில் மறைந்திருக்கும், எனவே நீங்கள் unmount செய்து அவற்றை நீக்கும் வரை இடம் (space) திரும்பக் கிடைக்காது. அடுத்ததாக உள்நுழையும் நபருக்கு விளக்குவதற்கு environment variable முறையே எளிதானது.
கண்டெய்னர் அவற்றை எங்கு சேமிக்கிறது
அதிகாரப்பூர்வ image, நீங்கள் mount செய்யும் இடத்தில் மட்டுமே மாதிரிகளைச் (models) சேமிக்கும்; இது எந்தவொரு ollama பயனருக்கும் சொந்தமான host கோப்பகத்திலும் (directory) இருக்காது. ஆவணப்படுத்தப்பட்ட run கட்டளை இதுதான்:
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollamaகோலனுக்கு (colon) முன்னால் உள்ள ollama என்பது ஒரு named Docker volume ஆகும், மேலும் /root/.ollama என்பது கண்டெய்னருக்குள் server எழுதும் இடமாகும். எனவே, முந்தைய பிரிவில் உள்ள பாதைகளை வைத்து du கட்டளையை இயக்கினால் எதுவும் கிடைக்காது, ஏனெனில் அங்கு தரவுகள் இல்லை. உண்மையான இருப்பிடம் மற்றும் அளவை அறிய இதைப் பயன்படுத்தவும்:
docker volume inspect ollama
docker system df -v
docker exec -it ollama ollama listdocker volume inspect-லிருந்து Mountpoint புலத்தைப் படித்து, அதன் மீது sudo du -sh கட்டளையை இயக்கவும். மாதிரிகளை ஒரு data volume-ல் வைக்க, named volume-க்கு பதிலாக ஒரு host கோப்பகத்தை (-v /mnt/data/ollama:/root/.ollama) குறிப்பிட்டு கண்டெய்னரை மீண்டும் உருவாக்கவும். கண்டெய்னர் root பயனராக எழுதுவதால், அந்த host கோப்பகம் root பயனருக்குச் சொந்தமானதாக மாறும். rootless Podman-ல், ID-கள் உங்கள் பயனரின் subuid வரம்பிற்குள் map செய்யப்படும், எனவே host உரிமையாளர் விவரம் மாறுபடும்: rootless Podman-ன் கீழ் Ollama-வை இயக்குதல் என்ற பகுதியில் இந்த mapping விளக்கப்பட்டுள்ளது.
சுத்தம் செய்வது (cleanup) குறித்த ஒரு எச்சரிக்கை. docker volume prune கட்டளையானது எந்த கண்டெய்னரும் பயன்படுத்தாத அனைத்து volume-களையும் நீக்கிவிடும். ollama கண்டெய்னரை அதன் volume இல்லாமல் நீக்கினாலோ அல்லது மீண்டும் உருவாக்கினாலோ, பின்னர் இயக்கப்படும் prune கட்டளை நீங்கள் பதிவிறக்கிய அனைத்து மாதிரிகளையும் நீக்கிவிடும்; அவற்றை மீண்டும் பதிவிறக்குவதைத் தவிர வேறு வழியில்லை. மாதிரிகளை வைத்திருக்கும் ஒரு VPS-ல் prune கட்டளையை இயக்கும் முன் Docker disk பயன்பாட்டை எவ்வாறு prune செய்வது என்பதைப் படிக்கவும்.
Remove a model with ollama rm, not with rm
ollama list
ollama rm gemma4
ollama list
df -h /ollama rm deletes the manifest for that tag, then deletes the layers no remaining manifest refers to. The space comes back as soon as those files are unlinked, so df moves straight away. Because layers are shared, removing one of two closely related tags can free far less than the size ollama list printed next to it. That is correct behaviour, not a failed delete.
Deleting files by hand breaks the pair. Remove a blob with rm and the manifest still lists it, so ollama list keeps showing the model and any attempt to use it fails when the missing layer is read. Remove a manifest by hand and its layers stay on disk with nothing pointing at them, holding space that no Ollama command will report to you. If you have already done it, ollama rm on the tag clears the leftover entry, and restarting the server clears layers that nothing refers to.
One last distinction, because the two get mixed up constantly. ollama rm is about disk. ollama stop gemma4 unloads a model from memory and frees no disk at all. How long a model stays resident in RAM once the download is finished is a separate setting, and keeping a model loaded instead of reloading it on every request covers it.
FAQ
ollama pull மற்றும் ollama run ஆகியவற்றுக்கு இடையே உள்ள வேறுபாடு என்ன?
ollama pull ஒரு model-ஐ disk-ல் பதிவிறக்கம் செய்துவிட்டு வெளியேறிவிடும். ollama run அந்த model ஏற்கனவே disk-ல் உள்ளதா என்று சரிபார்க்கும்; இல்லையெனில் பதிவிறக்கம் செய்து, memory-ல் ஏற்றி, ஒரு interactive chat session-ஐத் தொடங்கும். இவை இரண்டுமே ஒரே கோப்புகளை ஒரே directory-ல் தான் எழுதும். Provisioning மற்றும் scripts-ல் pull-ஐப் பயன்படுத்தவும்; பயனர் நேரடியாக keyboard-ஐப் பயன்படுத்தும் போது run-ஐப் பயன்படுத்தவும். ollama run <model> "your prompt" ஒரு prompt-ஐ அனுப்பிவிட்டு வெளியேறிவிடும்; இது run-ன் scriptable வடிவம் ஆகும்.
எனது முதல் ollama run ஏன் hang ஆவது போல் தோன்றுகிறது?
அது பதிவிறக்கம் செய்து கொண்டிருக்கிறது. Model disk-ல் பதிவிறக்கம் செய்யப்பட்டு memory-ல் ஏற்றப்படும் வரை chat prompt தோன்றாது; ஒரு model பல gigabytes அளவுடையது. Output ஒரு terminal-ஆக இருந்தால் மட்டுமே Ollama progress bar-ஐக் காட்டும். எனவே, ஒரு script, cron job அல்லது ssh host ollama run ...-க்குள் இருக்கும் run இயங்கும்போது எந்தத் தகவலையும் காட்டாது. ஒரு இரண்டாவது session-ஐத் திறந்து watch -n5 df -h /-ஐ இயக்கவும்: free space படிப்படியாகக் குறைந்து கொண்டிருந்தால், பதிவிறக்கம் நடைபெறுகிறது என்று அர்த்தம். Model-ஐ முன்கூட்டியே pull செய்துவிட்டால் இந்தத் தாமதம் இருக்காது.
Ollama தனது model-களை எங்கே சேமிக்கிறது?
இதன் இருப்பிடம் நிறுவல் முறையைப் பொறுத்தது, எனவே ஊகிப்பதற்குப் பதிலாக அதை print செய்து பார்க்கவும். Unit அல்லது drop-in-ல் OLLAMA_MODELS அமைக்கப்பட்டுள்ளதா என்று பார்க்க systemctl cat ollama.service-ஐ இயக்கவும். அது அமைக்கப்படவில்லை எனில், service இயங்கும் account-ன் home directory-க்கு அடியில் சேமிப்பு இருக்கும்; அதை getent passwd ollama காட்டும். sudo find / -xdev -type d -name blobs 2>/dev/null layer directory-ஐ நேரடியாகக் கண்டறியும். Container image-க்கு, சேமிப்பு mounted volume-க்குள் இருக்கும், மேலும் docker volume inspect ollama அதன் host Mountpoint-ஐக் காட்டும்.
Ollama model-களை மற்றொரு disk-க்கு எப்படி நகர்த்துவது?
Service-ஐ நிறுத்தவும், rsync -a மூலம் சேமிப்பை புதிய இடத்திற்கு நகலெடுக்கவும், sudo chown -R ollama:ollama <directory> மூலம் அந்த directory-ஐ service account-க்கு வழங்கவும், பின்னர் sudo systemctl edit ollama.service-ஐ இயக்கி [Service] வரியின் கீழ் Environment="OLLAMA_MODELS=<directory>"-ஐச் சேர்க்கவும். sudo systemctl daemon-reload மூலம் reload செய்து restart செய்யவும். systemctl show ollama --property=Environment மற்றும் ollama list மூலம் உறுதிப்படுத்தவும். பட்டியல் காலியாக இருந்தால், ollama user-ஆல் புதிய directory-ஐப் படிக்க முடியவில்லை என்று அர்த்தம்; journalctl -e -u ollama அந்தப் பாதையைக் காட்டும்.
Model கோப்புகளை நீக்கினால் இடம் கிடைக்குமா?
கோப்புகளைக் கையால் நீக்கினால் இடம் கிடைக்கும், ஆனால் சேமிப்பு சீரற்றதாக (inconsistent) மாறிவிடும். ஒரு blob-ஐ நீக்கினால், manifest அந்த model-ஐ இன்னும் பட்டியலிடும், இதனால் அது ollama list-ல் தொடர்ந்து தோன்றும் மற்றும் பயன்படுத்த முயலும்போது தோல்வியடையும். ஒரு manifest-ஐ நீக்கினால், அதன் layers எதனுடனும் தொடர்பின்றி disk-ல் தங்கிவிடும். ollama rm <model>-ஐப் பயன்படுத்தவும்; இது manifest-ஐ நீக்கிவிட்டு, வேறு எந்த model-க்கும் தேவைப்படாத layers-ஐயும் நீக்கிவிடும். கோப்புகள் ஏற்கனவே கையால் நீக்கப்பட்டிருந்தால், அந்த tag-ல் ollama rm-ஐ இயக்கி entry-ஐ நீக்கவும், பின்னர் server-ஐ restart செய்யவும்; இது எந்த manifest-உடனும் தொடர்பில்லாத layers-ஐ நீக்கிவிடும்.