~/ / AI 기사 / VPS에서 로컬 LLM / 작은 VPS에서 Ollama의 메모리 사용량 살펴보기
작은 VPS에서 Ollama의 메모리 사용량 살펴보기
작은 서버에서는 메모리가 곧 한계이고, Ollama는 답변을 마친 뒤에도 모델을 메모리에 남겨 둡니다. 이 글에서는 무엇이 로드되어 있는지, 얼마나 오래 남아 있는지, Ollama가 동시에 몇 개의 모델과 요청을 처리하는지, 그리고 어떤 설정이 메모리 사용량을 바꾸는지 확인하는 방법을 설명합니다. 아래의 모든 기본값은 공식 FAQ에서 인용한 것입니다.
게시: · 읽는 데 약 4분 · 2026-10-27에 공식 Ollama 문서와 대조해 확인한 내용입니다. 기본값은 버전에 따라 바뀔 수 있으므로, 사용 중인 버전의 FAQ를 확인하세요.
로드된 모델 확인하기
FAQ에 따르면 ollama ps를 사용하면 현재 메모리에 로드된 모델을 볼 수 있습니다. PROCESSOR 열은 모델이 어디에 올라가 있는지를 알려 줍니다.
| PROCESSOR 표시 | FAQ가 설명하는 의미 |
|---|---|
| 100% GPU | 모델이 전부 GPU에 로드되었습니다. |
| 100% CPU | 모델이 전부 시스템 메모리에 로드되었습니다. |
| 48%/52% CPU/GPU | 모델이 일부는 GPU에, 일부는 시스템 메모리에 나뉘어 로드되었습니다. |
GPU가 없는 VPS에서는 100% CPU가 정상적인 표시입니다. 모델이 서버의 메모리에 올라가 있다는 뜻입니다.
모델이 메모리에 남아 있는 시간
FAQ에 따르면 기본적으로 모델은 5분 동안 메모리에 유지된 뒤 언로드됩니다. 이 시간은 서버 전체에 대해서도, 요청 하나에 대해서도 바꿀 수 있습니다.
| 하고 싶은 일 | FAQ에 따른 방법 |
|---|---|
| 모델을 지금 언로드하기 | ollama stop llama3.2 |
| 모델을 계속 로드해 두기 | /api/generate 또는 /api/chat 요청에 keep_alive를 음수(예: -1)로 보냅니다. |
| 답변 직후에 언로드하기 | keep_alive를 0으로 보냅니다. |
| 다른 시간으로 지정하기 | keep_alive에는 10m이나 24h 같은 기간 문자열, 또는 3600 같은 초 단위 숫자도 쓸 수 있습니다. |
| 서버 전체에 설정하기 | 서버를 시작할 때 OLLAMA_KEEP_ALIVE 환경 변수를 설정합니다. 같은 종류의 값을 받습니다. 요청에 포함된 keep_alive가 이 설정보다 우선합니다. |
문서에 적힌 내용이 아니라 우리의 해석입니다. 같은 서버에서 Dify나 채팅 화면 같은 다른 것도 함께 돌린다면, 로드된 채로 남아 있는 모델이 그들이 쓸 메모리를 차지합니다. 시간을 짧게 하면 메모리가 더 빨리 풀리지만, 다음 요청 때 모델을 다시 로드해야 합니다. 그 로드에 시간이 얼마나 걸리는지는 측정하지 않았습니다.
여러 모델, 여러 요청
FAQ는 세 가지 제한값과 한 가지 규칙을 설명합니다. 다른 모델이 로드된 상태에서 새 모델이 남은 메모리에 들어가지 않으면, 새 요청은 모델을 로드할 수 있을 때까지 대기열에 쌓이고, 사용 중이 아닌 모델은 자리를 만들기 위해 언로드됩니다.
아래 추정 도구에는 병렬 요청 수를 입력하는 칸이 있어서, 값을 높였을 때 합계가 어떻게 달라지는지 볼 수 있습니다.
| 설정 | FAQ의 설명 |
|---|---|
| OLLAMA_MAX_LOADED_MODELS | 사용 가능한 메모리에 들어간다는 조건에서 동시에 로드할 수 있는 모델의 최대 개수입니다. 기본값은 GPU 수의 3배이며, CPU 추론에서는 3입니다. |
| OLLAMA_NUM_PARALLEL | 각 모델이 동시에 처리하는 병렬 요청의 최대 개수입니다. 기본값은 1입니다. 필요한 RAM은 OLLAMA_NUM_PARALLEL에 OLLAMA_CONTEXT_LENGTH를 곱한 값에 비례해 늘어납니다. |
| OLLAMA_MAX_QUEUE | Ollama가 바쁠 때 더 이상 받지 않고 거부하기 전까지 대기열에 쌓아 두는 요청의 최대 개수입니다. 기본값은 512입니다. 거부된 요청은 503 오류를 받습니다. |
직접 해 보기: Local LLM Memory Estimator
추정값
- 모델 가중치
- 4.84 GiB
- KV 캐시
- 0.56 GiB
- 예비분
- 1.00 GiB
- 합계
- 6.41 GiB (6.88 GB)
- 담을 수 있는 가장 작은 일반 메모리 크기
- 8 GiB
이 값은 추정입니다. 런타임의 연산 버퍼는 포함하지 않으며, 모든 레이어의 KV 구조가 같다고 가정합니다. 플랜을 정하기 전에 실제로 실행해 측정하세요.
모델 데이터 확인일: 2026-10-26.
출처: Ollama library · 모델 구성 파일 (config.json) · Ollama FAQ
모든 처리는 브라우저 안에서 이루어지며 아무것도 업로드되지 않습니다.
메모리 사용량을 바꾸는 설정
| 설정 | FAQ의 설명 |
|---|---|
| OLLAMA_CONTEXT_LENGTH | 기본적으로 Ollama는 4096 tokens의 컨텍스트 창을 사용합니다. 이 환경 변수로 값을 덮어쓸 수 있고, num_ctx는 세션별로 또는 API를 통해 설정할 수 있습니다. |
| OLLAMA_KV_CACHE_TYPE | K/V 캐시의 양자화 유형입니다. 기본값은 f16입니다. |
| OLLAMA_FLASH_ATTENTION | 서버를 시작할 때 1로 설정하면 Flash Attention을 강제로 켭니다. FAQ에 따르면 백엔드와 장치가 지원하는 경우 Ollama가 자동으로 켭니다. |
서버의 환경 변수는 systemd override에 넣습니다. VPS에 Ollama를 설치하는 글에서 그 순서를 보여 줍니다. 각 설정이 사용 중인 서버에서 메모리를 얼마나 줄여 주는지는 측정하지 않았으므로, 설정을 바꾼 뒤에는 ollama ps로 확인하세요.
출처
다음에 읽기
- 내 VPS의 Ollama에 Dify 연결하기내 VPS에서 Dify를 실행하고 Ollama를 모델로 사용하기: 설치, 플러그인 입력란, Docker 주소 문제, 임베딩을 공식 문서 기준으로 정리했습니다.
- 비싼 PC 없이 로컬 LLM 시작하기: VPS 활용 입문 가이드고성능 PC가 없다면 VPS를 빌려 작은 로컬 LLM을 브라우저에서 써 보세요. 메모리 추정부터 보호된 채팅 화면까지 6단계, 한계도 솔직하게 적었습니다.
- Ollama 앞에 nginx 두기: 기본 인증, HTTPS, 스트리밍 설정Ollama에 외부에서 안전하게 접속하기: 프록시로서의 nginx, 기본 인증, HTTPS, 스트리밍과 타임아웃 설정, 방화벽 규칙을 공식 문서 기준으로 정리했습니다.
- VPS에서 Open WebUI 사용하기: Docker로 실행하고 Ollama에 연결하기자신의 서버에서 Docker로 Open WebUI를 실행하고 Ollama에 연결하기: 명령어, 첫 번째 계정, 두 가지 연결 방식, 업데이트 방법.