没错,我的阿里云 Linux 的轻量应用服务器上 2C2G 没显卡也跑起来了 DeepSeek 本地模型,但是没卵用。
我是看到好友 Alfred Zhao 的 手把手教你部署 DeepSeek 本地模型 的这篇文章,其实我是对这个本地部署不感冒的,因为 chatgpt 等其他ai能够很愉快的使用,国内的大模型也没注册和关注过,我之前一直认为本地部署需要显卡,mac 部署需要 M系列的,但是我看他的本地环境截图是 4年前的 intel,我这就来了兴趣,然后我看了下我的本子,虽然是 6 年前的了,但是跟他的配置差不多,配置如下:
首先介绍下什么是 ollama
在 ollama官网 上很显眼的一句话就是 Get up and running with large language models.
什么是 Ollama ?正如 Ollama 官方仓库所说:本地启动并运行大型语言模型。
Ollama 是一个开源的大型语言模型服务工具,旨在帮助用户快速在本地运行大模型。通过简单的安装指令,用户可以通过一条命令轻松启动和运行开源的大型语言模型。 它提供了一个简洁易用的命令行界面和服务器,专为构建大型语言模型应用而设计。用户可以轻松下载、运行和管理各种开源 LLM。与传统 LLM 需要复杂配置和强大硬件不同,Ollama 能够让用户在消费级的 PC 上体验 LLM 的强大功能。
参考:https://github.com/datawhalechina/handy-ollama/blob/main/docs/C1/1.%20Ollama%20介绍.md
话不多说,晚上就开搞,安装其实很简单,不多赘述,但是在本地部署需要下载模型,由于 ollama 的模型仓库对国内不太友好,速度是时快时慢,我就想着在我那阿里云新加坡节点是不是会有好一些呢,然后查了下ollama 支持 Linux上部署,并且支持一键部署,那就走起, 直接在Linux上使用如下命令curl -fsSL https://ollama.com/install.sh | sh
安开始装 ollama。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [root@sgtdo ~] >>> Installing ollama to /usr/local >>> Downloading Linux arm64 bundle >>> 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.
这一安装不要紧,直接红色的 WARNING 提醒我,WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.
好家伙,竟然可以以CPU模式运行,也就是不必须要有显卡。
那就直接在我的阿里云的新加坡节点进行安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@sgtdo ~]# ollama run deepseek-r1:1.5b pulling manifest pulling aabd4debf0c8... 54% ▕████████████████████████████████████████████████████████████████████▏ 602 MB/1.1 GB 1.6 MB/s 5m14s pulling manifest 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
速度明显好于本地的速度,本地的速度也就400k,有时候 10k左右。
安装之后可以通过/?查看 帮助,我首先问了你是谁?你牛哔么?输入你牛哔么?之后,只出现了 <think>
而阈值对应的</think>
没有出现,刚开始我认为是卡了,再后来还是没动弹,我以为是过滤和不文明用语。多次回车之后又回复我:您好!我是由中国的……,好的没有细究具体为啥。然后再问了 3.8和3.11比较大小。我把这贴到群里,同事说问个复杂的,然后扔给我一个问题:ORACLE REGEXP_LIKE 多行匹配模式,回答具体如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 >>> /? Available Commands: /set Set session variables /show Show model information /load <model> Load a session or model /save <model> Save your current session /clear Clear session context /bye Exit /?, /help Help for a command /? shortcuts Help for keyboard shortcuts Use "" " to begin a multi-line message. >>> Who are you? <think> </think> Greetings! I'm DeepSeek-R1, an artificial intelligence assistant created by DeepSeek. I'm at your service and would be delighted to assist you with any inquiries or tasks you may have. >>> 你是谁? <think> </think> 您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。我为您提供服务,请问有什么我可以帮助您的吗?😊 >>> 你牛哔么? <think> >>> >>> >>> >>> >>> >>> >>> 你牛哔么? <think> </think> 您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1,很高兴为您提供服务。请问有什么我可以帮助您的吗?😊 >>> >>> 3.8 和3.11 比大小 <think> </think> 好,我现在来比较一下3.8和3.11这两个数的大小。首先,我需要将它们转换成相同的小数位数,这样更容易进行比较。 3.8可以写成3.80,因为它有两位小数;而3.11是两位小数,保持不变。现在,我们有: 3.80 3.11 接下来,我可以逐一比较每一位上的数字: - 第一位是3,相同; - 第二位,3.80中的8和3.11中的1,显然8比1大。 因此,3.80大于3.11。所以,3.8比3.11大。 总结一下: 3.8 > 3.11 >>> ORACLE REGEXP_LIKE 多行匹配模式 <think> </think> 您好!我无法直接提供Oracle的Regular Expression的多行匹配模式。不过,我可以为您提供一个通用的方法来实现多行匹配,您可以将 这个方法与Oracle的Regular Expression集成起来使用。 以下是通用的多行匹配策略: 1. **定义多行规则**: /* 多行规则 */ 2. **在代码中应用规则**: - 在有条件的情况下,执行多行规则。 3. **将规则整合到OracleSQL脚本中**。 如果您有具体的需求或问题,请提供更多信息,我可以进一步协助您。
可以看到比较 3.8 和 3.11 是可以比较成功的,但是对ORACLE REGEXP_LIKE 多行匹配模式这个问题,同事的结论是 说了跟没说似的。
想起来第二天有个数据库堡垒机的会议,然后我就输入了 数据库堡垒机通常解决哪些难点?的问题他给我的信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 >>> 数据库堡垒机通常解决哪些难点? <think> </think> 数据库堡垒机设计的目的是为需要访问外部数据库、如Web服务器、网络服务等提供稳定和高效的访问方式。以下是一些数据库堡垒机通常 面临的主要挑战: 1. **网络延迟与稳定性**: - 外部数据库可能部署在不同的地理位置,导致网络连接时延迟增加。 - 数据库的存储设备和通信协议可能导致高 latency(延迟)问题。 2. **数据传输速率限制**: - 一些外部服务器可能有较高的带宽需求,无法满足本地数据库的速度需求。 - 不同地区的网络环境和技术不稳定可能影响数据传输速度。 3. **硬件资源不足**: - 外部数据库的存储设备(如磁盘、网络缓存)可能需要较大的内存和存储能力。 - 办法上存在有限,例如使用云存储解决方案以替代本地存储。 4. **安全性与访问控制**: - 数据库在堡垒机上的访问权限管理可能会带来挑战。 - 需要考虑数据的加密和存储安全问题,防止被破解或未经授权访问。 5. **性能与延迟优化**: - 多个数据库服务器需要同步工作,可能导致整体性能下降。 - 快速响应时间对于需要实时监控的应用至关重要,但可能受到网络延迟的影响。 6. **资源管理**: - 处理多个数据库和多个客户端需要大量的内存和CPU资源。 - 使用虚拟化技术(如VPS或NFS)可以帮助降低资源需求。 如果您有更多具体的技术细节或问题,请提供更多上下文信息。
哦,好的,我准备卸载了。
但是还是没忍住,又给了一个写shell脚本的问题:写个shell 脚本,实现Linux 下 df 检测磁盘空使用率超过80%的 分区目录。实际上这个问题我写错了,落了一个字,就是空间的间,磁盘空间使用率,但是我写成了磁盘空使用率,没想当到这一个写错,竟然很明显的看到本地模型的能力。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 >>> 写个shell 脚本,实现Linux 下 df 检测磁盘空使用率超过80%的 分区目录 <think> </think> 是的,我愿意为您提供一个 shell脚本来实现 Linux 上下文中提到的磁盘空用率检测功能。该功能可以帮助用户快速识别和修复潜在的问 题。 1. 读取磁盘空用率(df -h)。 2. 检测是否有分区显示为空的文件或目录。 ```shell for /b in *. /b*; do if [ ! -z $(cat /proc/drives/ /b) ]; then echo "分区 {b} 为空使用" exit 1 fi done if [ ! -z "$?" ]; then echo "磁盘空用率不超过80%" fi ``` 1. **读取所有分分区**:`for /b in *. /b*; do ` - 使用 `*` 以读取所有分分区。 - `/b*` 是分分区的目录,用于循环读取每个分分区。 2. **检查空分分区**: ```bash if [ ! -z $(cat /proc/drives/ /b) ]; then echo "分区 {b
没错,没执行完,我就给取消了。
上面的阿里云的主机配置是2c2g的配置,具体如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [root@sgtdo ~] total used free shared buff/cache available Mem: 1756 394 103 0 1258 1179 Swap: 4095 393 3702 [root@sgtdo ~] Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 2 Core(s) per socket: 1 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 85 Model name: Intel(R) Xeon(R) Platinum Stepping: 4 CPU MHz: 2500.000 BogoMIPS: 5000.00 Hypervisor vendor: KVM Virtualization type : full L1d cache: 32K L1i cache: 32K L2 cache: 1024K L3 cache: 33792K NUMA node0 CPU(s): 0,1 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single rsb_ctxsw fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat
然后我在oracle cloud 上的 arm 主机上进行安装
主机的配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [root@armdb01 ~] total used free shared buff/cache available Mem: 10905 3681 568 2636 6655 4461 Swap: 4095 71 4024 [root@armdb01 ~] Architecture: aarch64 Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: ARM BIOS Vendor ID: QEMU Model: 1 Model name: Neoverse-N1 BIOS Model name: virt-4.2 Stepping: r3p1 BogoMIPS: 50.00 L1d cache: unknown size L1i cache: unknown size L2 cache: unknown size NUMA node0 CPU(s): 0,1 Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
在 oracle cloud 上进行下载模型速度很快,我感觉没超过1分钟。
1 2 3 4 5 6 7 8 9 10 11 [root@ ~]# 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 >>> Send a message (/? for help)
在进行回答问题的时候的我查看主机的负载如上。级别上把俩cpu跑满了。
以下是我在本地本子上跑的,本地本子是带个集成显卡,虽然下载的速度慢,但是我试了下,有显卡和没有显卡的效果不一样。我也让他回答了写shell脚本的问题,问题是原模原样复制过去的。但是这次的效果还真不一样。具体如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ollama run deepseek-r1:1.5b pulling manifest pulling aabd4debf0c8... 54% ▕██████████████████████████████████████████████ ▏ 602 MB/1.1 GB 1.6 MB/s 5m14s pulling manifest 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 >>> >>> >>> >>> >>> >>> 写个shell 脚本,实现Linux 下 df 检测磁盘空使用率超过80%的 分区目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 >>> 写个shell 脚本,实现Linux 下 df 检测磁盘空使用率超过80%的 分区目录 <think> 好,我现在需要帮用户写一个shell脚本来检测 Linux 下各个分区内磁盘空用率超过80%的情况。首先,我得了解df 命令的基本用法和输出结果。 用户希望实现的就是检查所有分区内空用率达到80%以上的文件系统。那我得知道,在分区目录结构中,每个分区内都有对应的df 命令,用来获取空可用空间。所以,我 需要遍历所有分区,然后运行df 命令,提取空可用率,最后筛选出超过80%的那些。 接下来,我需要考虑如何生成这样的脚本。通常,使用for 循环来遍历所有分区可能是一个有效的方法。首先,我要找到系统中所有的分区目录,这可以通过 systemctl listfs或lsf来找。或者,我可以手动遍历常见的分区结构,比如通常会有一些主分区(like, lib, etc.)以及用户、组和大小的分区。 假设我有一个列表中的分区内,每个分区内都有一个对应的路径结构,比如 "/path/to/directory/like/ /path/to/directory/group/ /path/to/directory/root" 。那 么,在每个这样的字符串中,我会将它作为输入参数发给df 命令。 接下来,我需要考虑如何生成这些字符串。可能的话,我可以手动写一个脚本,遍历常见的分区结构,或者使用某种工具来动态生成它们的路径。不过,手动实现可能 会更可靠些,特别是对于用户来说更容易控制。 然后,在每个分区内运行df -l命令(或者更精确地用df -h -c -C 来获取空可用率),并处理输出结果。如果空可用率超过80%,就记录下来,并保存到一个文件中, 比如kill.sh。 另外,我还需要考虑一些特殊情况,比如某些系统可能没有分区或分区内为空使用率的情况。在这些情况下,脚本应该忽略或者过滤掉这些情况。 现在,我大致有了框架: 1. 找出所有的分区内路径字符串。 2. 对每个路径字符串,执行df -l命令,提取空可用率。 3. 如果超过80%,将结果保存到kill.sh文件中。 4. 最后,检查杀行动作是否成功,并以有意义的方式输出结果。 在编写脚本时,我需要注意一些细节: - 确保输入路径字符串的格式是正确的,比如“like /group /root”这种形式。如果没有特殊处理,可能会导致df 命令解析错误。 - 考虑分区内是否有其他东西被包含进去,确保不会漏掉或多发文件系统。 - 检查空可用率是否正确显示为百分比数,并确保输出格式符合要求。 另外,我还需要考虑如何处理可能的错误情况。比如,某些分区是否有空可用空间,或者是否有磁盘空空间但不是空分区的情况?可能需要进一步了解df 命令的输出结 果来判断。 最后,我需要将脚本整合到一个shell脚本中,并测试它是否能够正确工作。如果有什么问题,可以进行调整和优化。 </think> 以下是实现 Linux 下 df 检测磁盘空使用率超过80%的分区目录的 shell 脚本: ```bash for path in "${systemctl listfs --format '*' || lsf > /dev/null | grep 'path*'; echo $(cut -d\s+ -f1h); &} {'l'}" "${path} " "${path} /like}" do df -l | cut -d '/' -f 8 --max-width 10 if ["$(cut -d /; max-width 1) $(last) " -gt "80%" ] then echo "分区内空使用率超过80%的路径是:$path " > kill.sh exit 0 fi done > kill.sh``` 1. **查找所有分区内路径字符串**: ```bash for path in "${systemctl listfs --format '*' || lsf > /dev/null | grep 'path*'; echo $(cut -d\s+ -f1h); &} {'l'}" "${path} " "${path} /like}" ``` 使用 `systemctl listfs` 和 `lsf` 查找所有分区内路径字符串,然后过滤出 `path*` 类型的路径,并生成循环变量 `$path `。 2. **执行 df 检查空可用率**: ```bash df -l | cut -d '/' -f 8 --max-width 10 ``` 使用 `df -l` 打开所有分区内磁盘空使用率信息,`cut ` 剪切输出结果中的空可用率(第 9 列),并过滤出不超过 10 行的条目。 3. **判断是否超过80%**: ```bash if ["$(cut -d /; max-width 1) $(last) " -gt "80%" ] then echo "分区内空使用率超过80%的路径是:$path " > kill.sh exit 0 fi ``` 4. **保存结果到kill.sh 文件**: ```bash done > kill.sh ``` 将循环变量 `$path ` 存入 `kill.sh` 文件名,文件内容包含所有空使用率超过80%的路径信息。 - 该脚本将检查所有分区内空可用空间,并输出所有超过80%的路径。 - 请确保分区内路径字符串格式正确(如 `like /group /root`)。 - 定期验证脚本工作是否正常,以处理可能存在的意外情况。
可以看到不带显卡的大模型,<think>
和</think>
之间直接是空的,本地有显卡,虽然是集成的显卡,但是效果很明显,,<think>
和</think>
之间是有内容的,最起码在思考了哈。
1 2 3 4 5 6 7 8 9 10 11 12 13 #!/bin/bash for path in "${systemctl listfs --format '*' || lsf > /dev/null | grep 'path*'; echo $(cut -d\s+ -f1h); &} {'l'}" "${path} " "${path} /like}" do df -l | cut -d '/' -f 8 --max-width 10 if ["$(cut -d /; max-width 1) $(last) " -gt "80%" ] then echo "分区内空使用率超过80%的路径是:$path " > kill.sh exit 0 fi done > kill.sh
虽然给的df命令不能直接执行,但是最起码他理解了我问的问题了。
另,我把这个问题:写个shell 脚本,实现Linux 下 df 检测磁盘空使用率超过80%的 分区目录,同样包给 chatgtp,给出的脚本能够直接跑通,且正确。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 写个shell 脚本,实现Linux 下 df 检测磁盘空使用率超过80%的 分区目录 ChatGPT 说: 以下是一个简单的 Shell 脚本,用于检测 Linux 系统中磁盘使用率超过 80% 的分区,并输出相关信息。脚本使用 df 命令来获取磁盘使用信息,并通过 awk 对数据进行处理。 脚本内容 (check_disk_usage.sh) bash 复制 编辑 #!/bin/bash # 设置阈值为 80% THRESHOLD=80 # 获取磁盘使用情况,排除掉虚拟文件系统(tmpfs, cdrom 等) df -h --exclude-type=tmpfs --exclude-type=cdrom | awk ' BEGIN { # 打印表头 print "Filesystem\tMounted on\tUsed\tAvailable\tUse%" } { # 忽略表头行 if (NR > 1) { # 获取当前的使用百分比 usage = substr($5, 1, length($5) - 1) # 去掉 % 符号 # 如果使用率超过阈值,输出该分区信息 if (usage > '"$THRESHOLD"') { print $1 "\t" $6 "\t" $3 "\t" $4 "\t" $5 } } } ' 说明 df -h:列出磁盘使用情况,-h 表示以人类可读的方式输出(例如:GB、MB)。 --exclude-type=tmpfs --exclude-type=cdrom:排除虚拟文件系统(tmpfs)和光盘驱动器(cdrom)等不需要监控的文件系统。 awk:用于处理 df 输出的内容: 提取第五列(使用率)并去掉 % 符号。 如果使用率超过 80%,输出该分区的信息。 如何使用 将脚本保存为 check_disk_usage.sh。 给脚本执行权限: bash 复制 编辑 chmod +x check_disk_usage.sh 执行脚本: bash 复制 编辑 ./check_disk_usage.sh 输出示例 如果某个分区的使用率超过 80%,你会看到类似以下输出: bash 复制 编辑 Filesystem Mounted on Used Available Use% /dev/sda1 / 15G 5G 85% /dev/sdb1 /home 20G 4G 90% 这样就能清晰地看到磁盘使用率超过 80% 的分区。
由于我没有注册 deepseek 账户,没法测试线上版本的效果,这里就跟chatgpt比较了下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 [root@liups ~] THRESHOLD=80 df -h --exclude-type=tmpfs --exclude-type=cdrom | awk ' BEGIN { # 打印表头 print "Filesystem\tMounted on\tUsed\tAvailable\tUse%" } { # 忽略表头行 if (NR > 1) { # 获取当前的使用百分比 usage = substr($5, 1, length($5) - 1) # 去掉 % 符号 # 如果使用率超过阈值,输出该分区信息 if (usage > ' "$THRESHOLD " ') { print $1 "\t" $6 "\t" $3 "\t" $4 "\t" $5 } } } ' [root@liups ~] Filesystem Mounted on Used Available Use% /dev/vda1 / 35G 2.8G 93% overlay /var/lib/docker/overlay2/39d86e4f3e44e8c68939d87421f72d26d17d0d612234927b463d8ba4bf20ab46/merged 35G 2.8G 93% overlay /var/lib/docker/overlay2/cdb977a3253a5a1341ee63bdead476d0fd2518e0c2c713adc2d509e0186907f6/merged 35G 2.8G 93% overlay /var/lib/docker/overlay2/6e58aa07f1949bb7b5c74b723e023dc6fa00a7b2154514df1ee7e5cd9396c882/merged 35G 2.8G 93% [root@cnwww ~] Filesystem Size Used Avail Use% Mounted on devtmpfs 868M 0 868M 0% /dev tmpfs 879M 1.1M 878M 1% /dev/shm tmpfs 879M 780K 878M 1% /run tmpfs 879M 0 879M 0% /sys/fs/cgroup /dev/vda1 40G 35G 2.8G 93% / https://ogi.teracloud.jp/dav/ 26G 13G 13G 50% /pan tmpfs 176M 0 176M 0% /run/user/0 overlay 40G 35G 2.8G 93% /var/lib/docker/overlay2/39d86e4f3e44e8c68939d87421f72d26d17d0d612234927b463d8ba4bf20ab46/merged shm 64M 0 64M 0% /var/lib/docker/containers/d7c71c2b9e7ca356f0b9f2d536d83ad24c87dfafe5ee03b3a90fee5fba8f1788/mounts/shm overlay 40G 35G 2.8G 93% /var/lib/docker/overlay2/cdb977a3253a5a1341ee63bdead476d0fd2518e0c2c713adc2d509e0186907f6/merged shm 64M 0 64M 0% /var/lib/docker/containers/a2d96e51d61c82b96af04c7816cf0000f1337d7f7dae6bee38528a4042c6f20b/mounts/shm overlay 40G 35G 2.8G 93% /var/lib/docker/overlay2/6e58aa07f1949bb7b5c74b723e023dc6fa00a7b2154514df1ee7e5cd9396c882/merged shm 64M 0 64M 0% /var/lib/docker/containers/d391661e0fe831ec8b500083c604d9feee3d69daf6215d574fc99c7c8dc3c5b0/mounts/shm
可以看到,检查出来我的磁盘空间使用率超过80%的分区目录没问题。
附:ollama 基本命令
ollama 跟 docker 类似,支持 pull、list、stop等命令,具体命令可以通过-h查看帮助
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ➜ ~ ollama -h Large language model runner Usage: ollama [flags] ollama [command ] Available Commands: serve Start ollama create Create a model from a Modelfile show Show information for a model run Run a model stop Stop a running model pull Pull a model from a registry push Push a model to a registry list List models ps List running models cp Copy a model rm Remove a model help Help about any command Flags: -h, --help help for ollama -v, --version Show version information Use "ollama [command] --help" for more information about a command . ➜ ~
然后本地关闭了 deepseek-r1:1.5b 由于下载模型太费劲,没舍得删除,先留几天。
1 2 3 4 5 6 7 8 9 ➜ ~ ollama ps NAME ID SIZE PROCESSOR UNTIL deepseek-r1:1.5b a42b25d8c10a 1.6 GB 100% CPU 4 minutes from now ➜ ~ ollama list NAME ID SIZE MODIFIED deepseek-r1:1.5b a42b25d8c10a 1.1 GB 7 hours ago ➜ ~ ollama stop deepseek-r1:1.5b ➜ ~ ollama ps NAME ID SIZE PROCESSOR UNTIL
总结一句话:2C2G 没显卡也能跑 DeepSeek 本地模型–但是没卵用。还是安心用 api或者在线使用吧。
原文作者:
liups.com
原文链接:
http://liups.com/posts/a474da47/
许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议