이전 글에서는 아래 이슈를 해결했다.
Splunk Project | Ollama / AITK 모델 연결 문제 해결 과정 정리
해당 글에서는 Ollama 모델 사용 시 답변 속도가 비정상적으로 느렸고,
모니터링 결과 GPU 사용률이 전혀 오르지 않던 문제를 다뤘다.
단순히 “느리다” 수준의 현상이 아니라, 실제로는 모델이 GPU가 아니라 CPU에서 추론되고 있었고,
그 결과 Splunk의 | ai 명령 실행 시 응답 지연과 실패가 발생하고 있었다.
당시에는 hf.co 모델 호출 방식, Ollama 내부 저장 구조, systemd 환경, GPU 미사용 이슈까지 하나씩 점검하면서 결국 문제를 해결했다. 그리고 실제로 수정 후에는 GPU 메모리 사용량과 GPU Util이 즉시 상승하는 것도 확인했다.
그런데 여기서 한 가지 이상한 점이 남았다.
회사에서 PoC 서버를 구축할 당시에는 분명 Ollama가 그래픽 카드 위에서 정상적으로 동작했다.
Splunk와 연동한 상태에서도 GPU 사용 여부를 확인했고, 실제로 GPU 리소스가 올라가는 것까지 체크했었다.
그런데 동일한 서버를 고객사 IDC로 옮긴 뒤 다시 구동하자,
Ollama는 갑자기 GPU를 사용하지 않았고 CPU fallback 상태로 동작했다.
모델이 바뀐 것도 아니고, Ollama를 아예 다른 방식으로 설치한 것도 아니며,
겉으로 보기에는 “같은 서버, 같은 구성”처럼 보였다. 그런데 결과는 완전히 달랐다.
이 시점에서 중요한 질문은 단순히 “왜 안 됐을까?”가 아니다.
- 왜 구축 환경에서는 정상적으로 GPU를 사용했는가?
- 왜 고객사 IDC로 옮긴 뒤에는 동일한 구성이 달라진 것처럼 보였는가?
- 이 문제의 진짜 원인은 무엇이었는가?
- 앞으로 서버 이관이나 재부팅 이후에도 같은 문제가 반복되지 않도록 하려면 무엇을 점검해야 하는가?
이번 글에서는 바로 이 지점을 정리하려고 한다. 단순한 증상 기록이 아니라,
“왜 같은 서버가 장소와 환경이 바뀌자 다른 결과를 만들었는지”를 추적해보고,
앞으로 Splunk + Ollama 기반 PoC 또는 운영 환경을 구축할 때 같은 문제가 재발하지 않도록 체크해야 할 포인트까지 함께 정리해보겠다.
즉, 이번 글의 주제는 단순한 GPU 미사용 이슈가 아니다.
“동일한 서버와 동일한 애플리케이션이라도, 실행 환경과 기동 시점, 서비스 설정 차이로 인해 완전히 다른 동작을 할 수 있다”는 사실을 실제 사례를 통해 정리하는 글이다.
특히 PoC 환경에서는 잘 보이지 않던 문제가 고객사 IDC, 운영망, 재기동 환경에서 어떻게 드러나는지, 그리고 이런 차이를 사전에 어떻게 통제할 수 있는지를 중심으로 살펴보겠다.
1️⃣ 왜 사무실에서는 되고 IDC에서는 안 됐을까?
같이 systemctl을 사용했는데도 결과가 달랐던 이유는 단순한 설정 문제가 아니었다. 핵심은 다음 한 가지였다.
🔥 핵심 변수 = “Ollama 시작 시점의 GPU 상태”
🔹 사무실 환경
부팅 → GPU 드라이버 로딩 완료 → ollama 시작
👉 정상 흐름
- Ollama가 GPU를 정상적으로 인식
- GPU 모드로 추론 수행
🔹 재부팅 시
부팅 → ollama 먼저 시작 → GPU 드라이버 늦게 올라옴
👉 문제의 핵심
- Ollama 시작 시점에 GPU가 준비되지 않음
- CPU fallback 모드로 시작
- 이후 GPU가 올라와도 자동 전환되지 않음
2️⃣ 이게 왜 중요한 포인트인가?
Ollama의 동작 방식 때문이다.
- ❗ GPU 사용 여부는 “실행 시점”에 결정됨
- ❌ 런타임 중 GPU가 준비되어도 자동 전환되지 않음
즉, 한 번 CPU 모드로 시작되면 이후 GPU가 정상 상태가 되어도 계속 CPU로만 동작한다.
3️⃣ 그래서 실제로 발생한 현상
이번 케이스를 정리하면 아래 흐름과 정확히 일치한다.
서버 부팅
→ ollama.service 자동 시작
→ 이 시점에 GPU 아직 준비 안 됨
→ Ollama CPU 모드로 시작
→ GPU 드라이버 이후 로딩 완료
→ ❗ 하지만 Ollama는 계속 CPU 사용
4️⃣ 검증 방법 (확실하게 확인)
systemctl restart ollama
이후 바로:
watch -n 1 nvidia-smi
👉 이때 GPU 메모리와 Util이 상승한다면:
✔️ 해당 원인이 100% 맞다
5️⃣ 근본 해결 방법
✅ 방법 1 — Ollama 시작 지연 (추천)
sudo systemctl edit ollama
다음 내용 추가:
[Unit]
After=network.target nvidia-persistenced.service
또는 더 확실한 방법:
[Service]
ExecStartPre=/bin/sleep 10
✅ 방법 2 — NVIDIA 서비스 의존성 추가
[Unit]
Requires=nvidia-persistenced.service
After=nvidia-persistenced.service
6️⃣ 최종 정리
같은 명령(systemctl start ollama)을 사용했는데도 결과가 달라진 이유는 단 하나다.
👉 “Ollama가 언제 시작됐는가”
🔥 한 줄 정리
Ollama가 GPU가 준비되기 전에 먼저 실행되면서 CPU 모드로 고정된 것이 문제의 본질이었다.
'Splunk > Splunk Project' 카테고리의 다른 글
| 데이터 수집 | TAP 미러링 환경에서 Python raw socket으로 syslog 수집 시 중복 발생 원인 분석 및 해결 (1) | 2026.04.15 |
|---|---|
| 데이터 수집 | TAP(미러링) 환경에서 syslog 수집 안될 때 해결 방법 (tcpdump → Python RAW Socket까지) (0) | 2026.04.15 |
| Splunk Project | Ollama / AITK 모델 연결 문제 해결 과정 정리 (0) | 2026.04.14 |
| Splunk Project | Splunk + Ollama + LLM 연동 구축 가이드 (실전 PoC 기준) (0) | 2026.04.01 |
| Splunk Project | Splunk 서버에 Ollama 연동 시, 아키텍처 선택 이유 (0) | 2026.04.01 |