cgminer 3.1.1 Windows版部署与调参:让老显卡重新出算力
简介面向比特币和莱特币等数字货币的挖矿与矿机管理场景cgminer 3.1.1 Windows 版是一款经典的多线程、多矿池挖矿工具支持主流显卡、FPGA 开发板与 ASIC 矿机并提供显卡温度监控、核心超频和风扇转速调节等实用功能。压缩包共收纳 43 个文件整体大小约 6.83MB其中主要是可执行程序、动态链接库、内核计算脚本、说明文档、固件位流和编程接口示例覆盖了从挖矿运算到底层调用及设备烧录的完整流程。从文件预览看包含主程序、免显卡版本、接口使用说明、Java 与 PHP 调用示例以及多款 FPGA 和 ZTEX 板的位流文件便于深入研究矿机通信机制和二次开发。目前已有 558 人学习下载适合希望了解挖矿程序架构、搭建个人实验矿场的初中级用户借助其中可运行的 Windows 挖矿程序、多算法内核脚本与设备控制样例可以快速开展相关实验并验证功能。1. cgminer 3.1.1 Windows 版老矿工软件今天还值不值得翻出来手里还躺着一台装了 Windows 的老机器显卡是好几年前的型号扔了可惜跑新程序又带不动。A 同学最开始和我聊这个 cgminer 3.1.1 for Windows 的时候我也以为这种多年前的矿工客户端放到今天只能进回收站。但实际把压缩包里的文件拆完、在真机上连续跑了一周之后我的结论是对于只想在老硬件上复现经典挖矿流程、或者拿来做性能实验的人来说这个版本反而比新版本更顺手。它能解决“老显卡怎么被程序正确识别、算力参数怎么调才稳定”这两个具体问题。适合手头有旧显卡、又不想折腾新工具链的开发者。2. 为什么还选 3.1.1老版本在 Windows 下的三个真实理由2.1 什么硬件能配得上这个版本这不是一个万能工具。3.1.1 时代的目标主要是 GPU 和 FPGA 设备CPU 挖矿只在非常早的版本里还有实际意义到 3.1.1 基本是辅助作用。算法上这个版本主要跑 SHA-256 系也就是经典挖矿算法如果你手里要做的项目走的是其他算法这个版本就不对口。硬件适配上有几个硬条件系统Windows 7 到 Windows 11 都能跑我实测在 Windows 10 上工作正常显卡优先 A 卡同代老显卡里 A 卡在 OpenCL 适配上比 N 卡顺滑N 卡不是不能用但容易出现驱动版本不对就报错的情况显存至少 512MB 起步1GB 以上比较从容驱动不要装最新的厂商驱动反而要找能为老设备提供兼容支持的旧版稳定驱动。为什么我会提驱动版本稍后的避坑章节还会展开这是新手上路最容易翻车的地方。2.2 新旧版本差异3.1.1 不丢人的地方后面版本确实把界面和内核改得比较复杂但对老设备支持反而在退步。新版本默认优先专用挖矿设备老显卡走通用计算容易被忽略而且新版本的参数体系复杂了很多光是找参数名就要翻半天。相比之下 3.1.1 的参数结构简洁配置文件写起来一行是一个意思启动也快内存占用只有几十兆级别对一台老机器来说很轻。同时它也有明显边界不识别后来出现的新硬件矿池地址格式也可能不兼容。所以我不会无脑推荐它而是先想清楚你的场景是否在这个版本的能力圈内。用来做复现和实验它的确定性和简单性就是优势。2.3 拿到压缩包后先核对这四样东西在解压之前先检查这些省得后面踩坑解压目录必须全部是英文和数字不能有中文、空格路径尽量短。比如C:\mlab\cgminer。解压后确认里面有主程序、说明文件、配置文件示例。缺了配置文件示例不要紧稍后可以手写但主程序必须有。杀毒或系统实时防护可能需要处理。看到文件被隔离不要慌先放行再继续。右键主程序看属性确认它能读出版本号再查看文件大小是否正常。老程序没有数字签名是正常的别因此误判。把这一套走完之后再进入部署步骤。3. 部署与首次启动从解压到出算力的完整步骤3.1 解压、目录结构与运行库检查解压到一个纯英文目录比如C:\mlab\cgminer。目录里会出现主程序、说明文档、示例配置。先打开命令行工具切到目录cd C:\mlab\cgminer cgminer.exe --help如果程序能打出帮助信息说明运行库没问题如果提示缺少某个 dll多半是缺少 C 运行库。老版本编译时依赖旧运行时环境常见的做法是安装一份完整的 C 运行库合集装完重开命令行再跑--help。为什么我不建议直接双击运行因为不带参数双击会进入交互界面在没法正常识别设备的时候界面上只会显示一堆初始化失败的日志新手看不出哪一步出了问题。先跑--help能确认程序本体可用再跑下一步。3.2 第一次启动先不连矿池看它能不能跑初次启动的核心目标是验证设备能被识别而不是马上出算力。执行cgminer.exe --device正常会列出识别到的显卡设备、驱动类型、显存大小。如果这里报错先回到驱动问题排查。如果看不到任何设备说明程序没认到显卡这时不用急着调参数先解决设备枚举问题。设备识别通过以后再不带参数启动一次进入程序自带的文字界面。界面上会实时刷新算力、温度、提交状态。这里顺便熟悉几个界面快捷键按s进入设置、按q退出程序。不懂先别乱按尤其是设置页里很多值改了会立即生效容易把参数搞乱。cgminer.exe这次启动仍然不会出算力因为还没有配置矿池。它的意义在于确认程序能在没有矿池的情况下不闪退、能稳定显示日志。3.3 写好你的第一个矿池配置文件3.1.1 支持通过配置文件进行参数设置这是最清晰的方式。配置文件是一个 JSON 结构的文本下面是我实际用的一个最小可用配置{ pools: [ { url: stratumtcp://pool.example.com:3333, user: user.name.worker1, pass: x } ], gpu-engine: 850,850, gpu-memclock: 1100,1100, gpu-fan: 70, gpu-vddc: 0.950, intensity: 13, worksize: 256, thread-concurrency: 8192, log: 5, log-file: cgminer.log }字段说明pools是矿池列表url填矿池地址user是你在矿池的账号加设备名pass一般填x即可。gpu-engine和gpu-memclock分别控制核心频率与显存频率顺序对应设备编号比如两块卡就写850,850。gpu-vddc是核心电压单位伏特老卡建议先写低一点。intensity是计算强度13 属于中等偏上。thread-concurrency是线程并发数直接影响核心占用率显存 1GB 左右的卡从 8192 起步。log-file用来把日志落到文件里方便后面排查问题。3.4 从命令行启动参数不是乱填的配置文件写好之后启动命令变成cd C:\mlab\cgminer cgminer.exe --config cgminer.conf如果一切正常交互界面会开始显示算力和提交数。这里要理解一个规则命令行参数后面跟的值会覆盖配置文件里对应的字段。比如你配置里写的是intensity: 13又在命令行写--intensity 18那么最终生效的是 18。所以出了奇怪问题时先确认是不是命令行参数覆盖了配置值。后续为了调试方便通常会再加上 API 端口和日志级别cgminer.exe --config cgminer.conf --api-listen --api-network --api-port 4028 --log-level 2--api-listen开启 API 监听--api-network允许局域网访问--api-port指定端口。--log-level用 2 表示只记录重要信息避免日志刷得太快。4. 核心参数详解把算力从垃圾数字拉回正常线4.1 频率与供电参数不要一上来就拉满老显卡超频空间有限新手最容易犯的毛病是照着网上最大超频值直接填。3.1.1 里与频率相关的参数是--gpu-engine和--gpu-memclock它们分别控制核心频率和显存频率。我一般会先用显卡厂商自带的工具看默认频率再在默认频率基础上降低 10% 起步跑半小时确认稳定后每次加 25MHz 观察。--gpu-vddc控制核心电压单位为伏特它能配合频率调整功耗。电压过低会导致提交大量无效算力电压过高会让温度直线上升。从默认电压降一档功耗能明显下降。参数对应的写法cgminer.exe --config cgminer.conf --gpu-engine 800 --gpu-memclock 1000 --gpu-vddc 0.900 --gpu-fan 65注意这里命令行参数会覆盖配置文件的对应字段。电源功率不足时优先把频率和电压降下来不要先拉频率。4.2 线程并发与工作粒度这两个参数决定稳定性--thread-concurrency控制每个 GPU 的线程并发数它是影响核心利用率的关键参数。显存 1GB 左右可以从 8192 开始2GB 可以试 11200。数值填得太高时会出现启动后直接报错或者算力不升反降的情况。--worksize是每次内核执行的工作组大小常见取值是 128、256、512。worksize 设置过大会导致交互界面卡顿设置过小则会增加调度开销。--shaders有时需要手动指定流处理器数量用于辅助计算并发数。某些老卡在驱动识别出错时手动指定--shaders能恢复算力这也是把新驱动回退之后最常用的补救手段。cgminer.exe --config cgminer.conf --shaders 1600 --thread-concurrency 8000 --worksize 256判断依据很简单看算力曲线是否平稳。算力在平均值上下小幅波动属正常如果出现周期性掉零先降thread-concurrency。4.3 网络参数断线重连与故障切换矿池连接参数里--pool可以重复传多个池子--failover-only表示只在主池失效时才切换备用池。--retry-pause控制断线重连的间隔默认 5 秒我通常调到 10 秒避免网络抖动时频繁重连。--scan-time是扫描矿池新任务的时间间隔默认 60 秒网络环境差的可以调低到 30 秒但会略微增加耗电。cgminer.exe --config cgminer.conf --failover-only --retry-pause 10 --scan-time 30这里的逻辑是让主池优先备用池只在主池连续失败时启用。如果你只有一个池子这些参数不写也行。4.4 日志与 API让矿机变成可观测的裸跑程序是个黑匣子出问题时第一件事就是看日志。--log-level控制输出详细程度--log-file指定日志文件位置。--api-listen开启 API 服务后程序会通过 JSON 格式提供算力、温度、提交数等实时状态方便自写监控脚本读取。启动时加上网络监听就能在局域网另一台机器上读取状态数据。cgminer.exe --config cgminer.conf --api-listen --api-network --api-port 4028 --log-level 1 --log-file C:\mlab\cgminer\run.log参数都调通之后设备应该能稳定出算力。如果此时算力依然不理想排查方向按顺序来先看温度是否过高再看功耗供电是否足够最后再回到软件参数本身。5. Windows 下的避坑与排查五个高频翻车现场5.1 程序刚解压就被实时防护隔离现象解压后主程序消失或者启动到一半提示找不到文件。原因老版本程序没有数字签名程序行为特征又比较明显容易被实时防护误判。解决把解压目录加入防护白名单重新解压一份完整文件启动前先确认主程序还在目录里。如果防护力度强可以临时关闭实时防护跑通之后再恢复。注意这不是程序本身有问题不用反复重新下载。5.2 设备列表为空或者驱动报错现象执行--device时看不到任何设备或者提示初始化失败。原因显卡驱动版本太新老程序使用旧的调用接口新驱动改了接口行为或直接移除了兼容层。解决回退到显卡厂商为老设备提供的旧版稳定驱动然后重启系统再试。驱动回退是这里最有效的后悔药我一般先卸载当前驱动重启后安装旧版驱动再重启。5.3 算力忽高忽低温度却不高现象界面上的算力一会儿很高一会儿跌到接近零。原因核心供电不稳定或者thread-concurrency太高导致内核调度异常。解决先降--gpu-engine和--gpu-vddc再把--thread-concurrency往下调一档。如果是老电源优先考虑供电余量其次才考虑卡本身问题。5.4 配置文件不生效设置总是变回默认现象明明写了配置文件启动后界面上的参数还是默认值。原因命令行没有指定--config或者命令行参数和配置字段冲突覆盖了回去。解决统一用--config指定配置不在命令行重复写相同参数。如果想临时验证某个参数就在命令行指定并观察效果确认后再写进配置文件。5.5 程序运行一段时间后自动退出现象程序跑了十几分钟画面一闪直接退出没有任何提示。原因程序内置了看门狗在处理到大量无效算力或者设备无响应时会主动结束进程防止系统异常。解决打开日志文件看退出前最后几行日志。常见原因是温度过高、电压不足或intensity太高。把计算强度降低一档通常能解决。6. 进阶把 3.1.1 用成监控系统的一部分运行稳定之后大多数人会陷入“每天打开屏幕看一次算力”的循环。3.1.1 提供了一套 API 接口完全可以把这个数据接进自己的监控工具让程序在后台自动汇报状态。6.1 用 API 读实时状态开启 API 之后用命令行的 curl 就能读取 JSON 数据curl http://127.0.0.1:4028/summary返回的数据会包含算力、提交数、错误数等关键字段。我一般会写一个很小的 Python 脚本定时抓取并解析import json import urllib.request with urllib.request.urlopen(http://127.0.0.1:4028/summary) as resp: data json.loads(resp.read().decode(utf-8)) for item in data.get(summary, []): print(item.get(MHS av, 0))这个脚本的核心逻辑是把 API 返回的 JSON 转成字典然后取出MHS av字段即平均算力。你可以在脚本里继续加告警逻辑比如算力低于某个阈值时发送提示。6.2 做成 Windows 计划任务为了不让断电或重启打断运行我习惯把程序注册成计划任务开机自动启动配一个简单的批处理脚本echo off cd /d C:\mlab\cgminer start cgminer.exe --config cgminer.conf --api-listen批处理先切换到程序目录再以后台方式启动主程序。计划任务可以设置成登录时运行这样只要开机程序就自动恢复运行不需要每次都手动双击。这套流程走下来以后老机器上的这个程序不再是一个单纯跑算力的黑匣子而是可以观察、可以调控、可以在异常时定位的确定性单元。从那以后我每次部署老版本工具都会强制把日志、API 和配置文件分离先用最小参数跑通再逐步加压这套习惯帮我少走了很多弯路。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

OpenSimplex2 鸿蒙化适配:噪声精度治理与 Flutter 工程实践

OpenSimplex2 鸿蒙化适配:噪声精度治理与 Flutter 工程实践

先交代背景:我做的跨平台工程要在 HarmonyOS NEXT 上跑,里面有一块动态地形预览,核心算法依赖开源 Dart 库 open_simplex_2。这半年把这个库从 pub.dev 拉进鸿蒙工程、解决编译问题、调参数精度和帧率,再到用同一份噪声喂给物理层…

2026/10/10 3:17:14 阅读更多 →
数据结构实验全攻略:从代码骨架到调试避坑的完整链路

数据结构实验全攻略:从代码骨架到调试避坑的完整链路

简介:华中科技大学数据结构实验C语言实现,包含顺序表、单链表、二叉树与邻接表(无向图)四个核心主题,适合高校计算机专业学生及自学数据结构的开发者对照练习。资源包共4个.c源文件,压缩后仅17KB&#xff0…

2026/10/10 3:16:13 阅读更多 →
DCOM进程CPU占用过高?从原理到修复的完整排查指南

DCOM进程CPU占用过高?从原理到修复的完整排查指南

讲个真实场景:办公室有台 Windows 10 的机器,早上开机后风扇就开始狂转,打开任务管理器一看,有个叫“DCOM 服务器进程启动器”的进程,CPU 占用在 30% 到 99% 之间反复横跳,鼠标卡得像是掉进浆糊里&#xff…

2026/10/10 3:16:13 阅读更多 →

最新新闻

缩短招聘周期:从人才画像到Offer的11个高效策略

缩短招聘周期:从人才画像到Offer的11个高效策略

招聘周期拉长,用人部门催、候选人等不起、HR夹在中间两头受气——这是过去几年我在各类企业里反复看到的真实场面。尤其遇到急招岗位,从职位发布到人选入职动辄拖上三四十天,错过业务窗口不说,还经常出现“谈好的Offer被对手截胡”…

2026/10/10 5:45:40 阅读更多 →
MyBatis动态SQL核心用法:多条件查询、批量操作与安全实践

MyBatis动态SQL核心用法:多条件查询、批量操作与安全实践

做后端几年,动态 SQL 基本是每天都要打交道的东西。业务方今天要按名称筛,明天要加时间范围,后天又要排除某几个状态,如果每换一种组合就写一条 SQL,代码量会无限膨胀。更麻烦的是,条件一变,拼接…

2026/10/10 5:45:40 阅读更多 →
C++函数传参与内存模型:对象生命周期与RAII解析

C++函数传参与内存模型:对象生命周期与RAII解析

我记得带过不少刚学编程的新同学,很多人是在“指针”“内存”“类”这三座大山面前开始动摇的。前两讲我们把语法基础过了一遍,第三讲正好站在一个分水岭上:如果只看代码表面,你写的还是C;但如果理解了函数回调机制、内…

2026/10/10 5:45:40 阅读更多 →
基于Python的多元统计分析课设源码:从K-means到PCA实战解析

基于Python的多元统计分析课设源码:从K-means到PCA实战解析

简介:这是一份面向高校生与数据学习者的多元统计分析课程设计源码包,覆盖描述性统计、回归分析、因子分析、主成分分析、k均值与层次聚类、Apriori关联规则等经典方法,每个Python脚本对应一个独立实验,从数据读取、清洗到结果输出…

2026/10/10 5:45:40 阅读更多 →
Python54-55:核心语法-数据容器-字典dict-案例

Python54-55:核心语法-数据容器-字典dict-案例

开发一个购物车管理系统,实现商品信息的添加、修改、删除、查询功能。系统使用字典结构存储商品数据,通过控制台菜单与用户交互。具体功能如下:添加购物车:用户根据提示录入商品名称、以及该商品的价格、数量,保存该商…

2026/10/10 5:45:40 阅读更多 →
开源实时协作Markdown编辑器HedgeDoc:自托管与权限管理指南

开源实时协作Markdown编辑器HedgeDoc:自托管与权限管理指南

如果你所在的环境里,协作记录一直散落在聊天记录、本地文本和邮箱附件之间,我建议你认真了解一下 HedgeDoc。它是一款开源的、基于 Web 的实时协作 Markdown 编辑器,浏览器打开就能用,也能在自己的服务器上搭建。我把团队内部的技…

2026/10/10 5:44:39 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →