2核2G云服务器基于ollama运行Deepseek-r1-1.5b

最近在云服务器打折,三十元得到一年2核2G云服务器,为了提高可玩性,想借助ollama在服务器端部署1.5B大模型。由于服务器内存实在太小,经过尝试,发现使用内存拓展后能够完美运行1.5B的deepseek,同时速度损耗不大,能够达到可用的程度。

安装ollama

curl -fsSL https://ollama.com/install.sh | sh

正常安装完成显示的东西

>>> Cleaning up old version at /usr/local/lib/ollama
>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
######################################################################## 100.0%
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.

deepseek安装与问题发现

直接拉取模型并运行,内存不足会报错

root@l897:~# ollama run deepseek-r1:1.5b
pulling manifest
pulling aabd4debf0c8: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏ 1.1 GB
pulling 369ca498f347: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏  387 B
pulling 6e4c38e1172f: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏ 1.1 KB
pulling f4d24e9138dd: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏  148 B
pulling a85fe2a2e58e: 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏  487 B
verifying sha256 digest
writing manifest
success
Error: model requires more system memory (1.8 GiB) than is available (1.3 GiB)

swap内存扩展

为了扩展内存,采用swap。在Linux系统中,swap空间(通常称为swap分区)是一个用于补充内存资源的重要组件。当系统的物理RAM不足时,Linux会将一部分不经常使用的内存页面移动到硬盘上的swap空间中,这个过程被称为分页(paging)或交换(swapping)。这样可以为更重要的进程腾出物理内存,从而保持系统的高效运行。

swap分区大小设置规则:大小一般为真实物理内存的1~2倍

# 创建 2GB 的 Swap 文件(根据需求调整大小)
sudo fallocate -l 2G /swapfile
# 设置权限(必须为 600)
sudo chmod 600 /swapfile
# 格式化为 Swap 文件系统
sudo mkswap /swapfile
# 立即激活 Swap
sudo swapon /swapfile
free -h | grep Swap
# 输出示例:Swap: 2.0Gi

查看全部可用内存

watch -n 1 "free -h; nvidia-smi"

实际加载时间变长,但能正常使用,是在低成本服务器上实现大模型部署的一种方法

补充:若希望服务器重启后自动加载 Swap,需将 Swap 文件写入 /etc/fstab:

# 将 Swap 配置写入系统文件
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

测试结果

root@l897:~# ollama run deepseek-r1:1.5b
>>> hello
<think>

</think>

Hello! How can I assist you today? 😊

对内存占用进行测试,由于ollama对deepseek模型进行了量化,实际占用量小于理论需求(1.5B参数,每个参数16bit两个字节,模型理论占用3G左右)

               total        used        free      shared  buff/cache   available
Mem:           1.9Gi       1.5Gi        74Mi        14Mi       358Mi       265Mi
Swap:          4.0Gi       344Mi       3.7Gi
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐