<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>上海皓荃智能科技有限公司</title>
	<atom:link href="https://shanghaihaoquan.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://shanghaihaoquan.com</link>
	<description>上海服务器整机定制｜高校GPU算力方案｜戴尔机架式服务器｜机房改造实施</description>
	<lastBuildDate>Fri, 16 Oct 2026 02:24:30 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>16S 扩增子分析的服务器怎么配？DADA2 官方给的参照是 16 核 / 64GB</title>
		<link>https://shanghaihaoquan.com/amplicon-16s-qiime2-server-configuration/</link>
					<comments>https://shanghaihaoquan.com/amplicon-16s-qiime2-server-configuration/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Fri, 16 Oct 2026 02:24:07 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[16S扩增子服务器]]></category>
		<category><![CDATA[DADA2]]></category>
		<category><![CDATA[QIIME2]]></category>
		<category><![CDATA[微生物组]]></category>
		<category><![CDATA[生信分析]]></category>
		<category><![CDATA[生信服务器]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/amplicon-16s-qiime2-server-configuration/</guid>

					<description><![CDATA[16S/ITS 扩增子（微生物组）分析怎么配机器：DADA2 官方 "Big Data" 文档给的参照是"16 核 / 64GB 内存的普通计算节点"，可跑约 1.5 亿 reads / 750 样本，Sample Inference 约 2–12 小时，双端测序耗时翻倍；官方还给了"10 台 8GB 小机器等于 1 台大机器"的省钱方案。QIIME 2 官方明确点名"质控与分类注释"是内存/CPU 密集步骤、可能需要 HPC。含两工具硬件画像表、单样本深度导致的耗时规律、版本与离线部署清单、三档配置。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：16S/ITS 扩增子分析是&#8221;生信里对硬件要求最低的一类&#8221;，但也不能用笔记本硬扛——官方给出的参照节点是&#8221;16 核 / 64GB 内存&#8221;。</strong> 显卡完全用不上。这个方向真正的变量不是&#8221;基因组多大&#8221;，而是<strong>总数据量、样本数量、以及单样本的测序深度</strong>——最后这一条直接决定&#8221;几小时跑完&#8221;还是&#8221;跑两天&#8221;。</p>
<p>三句话先记住：</p>
<ul>
<li><strong>官方基准很具体</strong>：DADA2 官方 Big Data 文档给的硬件是&#8221;<strong>16 核 + 64GB 内存的普通计算节点</strong>&#8220;，可处理<strong>约 1.5 亿 reads / 约 750 个样本</strong>，核心步骤 Sample Inference 约 <strong>2–12 小时</strong>；<strong>双端（paired-end）测序耗时翻倍</strong>；</li>
<li><strong>内存不是瓶颈，样本拆法才是</strong>——官方原文：同样 1.5 亿 reads，<strong>分到 150 个样本而不是 750 个，运行时间约为 5 倍</strong>；</li>
<li><strong>不需要显卡，也不是&#8221;必须买集群&#8221;</strong>——QIIME 2 官方只点名&#8221;质控与分类注释&#8221;属内存/CPU 密集步骤；DADA2 官方甚至给了&#8221;<strong>多台小内存机器等效于一台大机器</strong>&#8220;的方案。</li>
</ul>
<h2>一、两个工具一张表：硬件画像</h2>
<table>
<thead>
<tr>
<th>工具</th>
<th>在流程里的位置</th>
<th>GPU</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>最该注意的</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>DADA2</strong>（R 包）</td>
<td>质控/去噪 → ASV 表（可独立跑，也可被 QIIME 2 调用）</td>
<td>不需要</td>
<td><strong>中—高 ★</strong>（官方基准 16 核）</td>
<td><strong>中</strong>（官方称内存需求&#8221;基本平坦&#8221;，64GB 节点即可）</td>
<td>中—高（FASTQ + 中间 <code>.rds</code> + 结果表）</td>
<td><strong>耗时由&#8221;单样本深度&#8221;决定</strong>，不是机器问题</td>
</tr>
<tr>
<td><strong>QIIME 2</strong></td>
<td>端到端分析平台（导入 → 质控 → 去噪 → 注释 → 多样性）</td>
<td>不需要</td>
<td><strong>中—高 ★</strong>（官方点名 CPU 密集步骤）</td>
<td><strong>中—高 ★</strong>（官方点名内存密集步骤：<strong>质控与分类注释</strong>）</td>
<td>中—高（原始数据 + <code>.qza</code> 中间 + <code>.qzv</code> 结果 + <strong>每版本一套 conda 环境</strong>）</td>
<td><strong>首次安装要联网</strong>；<strong>版本与结果可复现强绑定</strong></td>
</tr>
</tbody>
</table>
<p>一句话概括：<strong>&#8220;GPU&#8221;一列仍然是&#8221;不需要&#8221;</strong>；这类任务的钱主要花在 <strong>CPU 核数（决定时长）和中等规模内存</strong>上，<strong>不需要顶格内存，更不需要显卡</strong>。</p>
<h2>二、DADA2：官方给了一把&#8221;配置尺子&#8221;，直接可以报数</h2>
<p>DADA2 官方的 &#8220;Big Data&#8221; 文档里有一节 *&#8221;How long does it take?&#8221;*，罕见地给出了完整基准：</p>
<blockquote>
<p>*&#8221;Dataset: Relatively good quality Hiseq lanes of <strong>~150M reads each</strong>, split amongst <strong>~750 samples</strong> from a varying mix of oral, fecal and vaginal communities. <strong>Hardware: A general compute node with 16 cores and 64GB of memory.</strong>&#8220;*</p>
</blockquote>
<blockquote>
<p>*&#8221;The <strong>Sample Inference</strong> step (16 cores, 64GB) takes from <strong>2-12 hours</strong>, with running times increasing with <strong>lower run quality and higher diversity samples</strong>. <strong>Paired-end sequencing takes twice as long</strong> … The Filtering and Chimera/Taxonomy steps generally take significantly less time than Sample Inference.&#8221;*</p>
</blockquote>
<p>把这段话翻译成售前语言：</p>
<table>
<thead>
<tr>
<th>官方口径</th>
<th>对配置的含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>参照硬件：<strong>16 核 / 64GB 的普通计算节点</strong></td>
<td>16S 分析<strong>不需要多路大内存机器</strong>，这是一个&#8221;中等配置就能跑得很顺&#8221;的方向</td>
</tr>
<tr>
<td>数据量：<strong>约 1.5 亿 reads / 约 750 样本</strong></td>
<td>这个量级是&#8221;一天出结果&#8221;的典型场景</td>
</tr>
<tr>
<td>核心步骤 <strong>2–12 小时</strong>，且<strong>越深/越杂越慢</strong></td>
<td>时间波动主要来自<strong>数据质量与样本多样性</strong>，不是配置不够</td>
</tr>
<tr>
<td><strong>双端测序耗时翻倍</strong></td>
<td>因为要正反向各跑一遍再合并（与内存无关，是流程本身）</td>
</tr>
<tr>
<td>质控与嵌合体/注释步骤<strong>明显更快</strong></td>
<td><strong>真正吃时间的就是 Sample Inference 这一步</strong>——优化从这里入手</td>
</tr>
</tbody>
</table>
<p>另外，官方还给了两条<strong>对预算非常友好</strong>的口径：</p>
<ul>
<li><strong>&#8220;多台小机器等效于一台大机器&#8221;</strong>：*&#8221;10 Amazon 8GB instances can do the job as well as one larger (and more costly) compute node!&#8221;* —— 因为 <strong>DADA2 按样本独立处理</strong>，各样本之间互不依赖，可以<strong>分片并行</strong>；</li>
<li><strong>流程可切三块分别提交</strong>：<strong>Filtering / Sample Inference / Chimeras+Taxonomy</strong>，官方说明这三块 *&#8221;can be individually submitted as jobs on a server/cloud environment&#8221;*。</li>
</ul>
<p>→ <strong>所以&#8221;预算紧&#8221;的正确解法不是降配置硬扛，而是&#8221;多台小机器 + 任务分片&#8221;</strong>。</p>
<h2>三、最值钱的一条：单样本越深，越慢——这不是机器不行</h2>
<p>很多客户换了新机器后仍抱怨&#8221;怎么还是这么慢&#8221;，原因往往在这条<strong>算法特性</strong>上。官方原文：</p>
<blockquote>
<p>*&#8221;Because the running time of the core sample inference method <strong>scales quadratically with the depth of individual samples</strong>, but linearly in the number of samples, running times will be longer when fewer samples are multiplexed. Very roughly, if your 150M Hiseq reads are split across 150 samples instead of 750, <strong>the running time will be about 5x higher</strong>.&#8221;*</p>
</blockquote>
<p>翻译：<strong>同样的 1.5 亿 reads，拆成 750 个样本跑一遍，和拆成 150 个样本跑一遍，后者约慢 5 倍。</strong> 因为核心去噪算法对&#8221;<strong>单个样本的深度</strong>&#8220;是<strong>平方级</strong>增长，对<strong>样本个数</strong>是<strong>线性</strong>。</p>
<p>售前/售后的正确说法是：</p>
<ul>
<li><strong>先看样本拆法</strong>：是不是把多个样本混成一管/一个大文件来跑？<strong>尽量按样本拆开</strong>，比换 CPU 更立竿见影；</li>
<li><strong>再谈&#8221;要不要加配置&#8221;</strong>：如果样本数和总 reads 都没变，加内存基本没用（官方：内存需求&#8221;基本平坦&#8221;），加核数才缩短时间；</li>
<li><strong>单样本极深</strong>（例如把 1.5 亿 reads 只给几十个样本）时，<strong>这是算法代价，不是硬件缺陷</strong>，提前跟客户讲清楚能省掉大量&#8221;机器不行&#8221;的纠纷。</li>
</ul>
<h2>四、QIIME 2：官方点名的&#8221;要上服务器&#8221;的只有两步</h2>
<p>QIIME 2 是扩增子分析用得最多的平台。它官方安装页对&#8221;该配什么机器&#8221;讲得很克制，但<strong>点名了两类必须上服务器的步骤</strong>：</p>
<blockquote>
<p>*&#8221;Generally the determining factor for where to install QIIME 2 is the analyses that you want to run: in some cases (e.g., generating visualizations) a personal computer will be sufficient, but for <strong>memory or CPU intensive steps (e.g., quality control or taxonomic annotation) an HPC system may be required</strong>.&#8221;*</p>
</blockquote>
<p>这句话可以直接引用给客户，它同时说明了两件事：</p>
<ul>
<li><strong>QIIME 2 不是&#8221;什么都吃机器&#8221;</strong>——出图这类步骤笔记本就够；</li>
<li><strong>真正需要服务器的是&#8221;质控&#8221;与&#8221;分类注释&#8221;</strong>——一个吃内存、一个吃 CPU。<strong>这两步是配置的抓手</strong>，其他步骤不必跟着顶格。</li>
</ul>
<p>QIIME 2 还有两条<strong>与硬件无关、但决定&#8221;能不能顺利交付&#8221;</strong>的特性，务必写进方案：</p>
<table>
<thead>
<tr>
<th>特性</th>
<th>官方口径</th>
<th>交付含义</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>按月份发布、版本与结果强绑定</strong></td>
<td>官方按月发布版本（如 2026.7）</td>
<td><strong>每个版本一套独立的 conda 环境（数 GB 级）</strong>；要复现去年论文的结果，就得把那个版本的环境留住 → <strong>存储要按&#8221;版本数 × 数 GB&#8221;额外预留</strong></td>
</tr>
<tr>
<td><strong>首次安装与参考文献需要联网</strong></td>
<td>官方提示到 Library 取数据资源、参考数据库/预训练分类器需下载</td>
<td><strong>内网/隔离环境的实验室必须提前做离线方案</strong>（conda 包 + 官方环境文件 + 参考分类器），这是交付阶段最常卡住的地方</td>
</tr>
</tbody>
</table>
<p><strong>总结成一句售前话术</strong>：QIIME 2 这个平台，&#8221;机器配置&#8221;是小问题，&#8221;<strong>环境与参考数据的离线准备 + 版本留存</strong>&#8220;才是真交付工作量。</p>
<h2>五、存储与数据流：三块要分开算</h2>
<p>扩增子项目的磁盘占用不像宏基因组那样吓人，但<strong>有三块容易被漏算</strong>：</p>
<table>
<thead>
<tr>
<th>#</th>
<th>占什么</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><strong>原始测序数据（FASTQ）</strong></td>
<td>交付凭据，不可删；扩增子数据量通常不大，但样本多、项目多时累积可观</td>
</tr>
<tr>
<td>2</td>
<td><strong>中间与结果</strong>（QIIME 2 的 <code>.qza</code> / <code>.qzv</code>，DADA2 的 <code>.rds</code>、过滤后 fastq.gz、ASV 表）</td>
<td>官方未给体积数值；实际经验是<strong>中间文件往往比原始数据更大</strong>（我们的工程口径）</td>
</tr>
<tr>
<td>3</td>
<td><strong>运行环境与参考数据</strong></td>
<td><strong>每个 QIIME 2 版本一套 conda 环境（数 GB 级）</strong> + 参考分类器（SILVA/GG 训练集等，体积不小），且<strong>这些&#8221;不是数据、但删了就跑不起来&#8221;</strong></td>
</tr>
</tbody>
</table>
<p><strong>给客户的建议</strong>：原始数据与结果分盘、按项目建目录、把&#8221;环境与参考数据&#8221;单独放一块盘并做记录。分层口径可参考<a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">实验室服务器的存储怎么配</a>。</p>
<h2>六、按规模分档（可直接对照预算看）</h2>
<table>
<thead>
<tr>
<th>场景</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>GPU</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>小项目/试跑（几十样本、单端）</td>
<td>8–16 核</td>
<td>32–64GB</td>
<td>2–4TB</td>
<td>不配</td>
<td>笔记本/工作站也能出结果，但<strong>分类注释</strong>一步会明显慢</td>
</tr>
<tr>
<td><strong>常规课题组（官方基准场景）</strong></td>
<td><strong>16–32 核</strong></td>
<td><strong>64–128GB</strong></td>
<td>4–8TB（含环境与参考数据）</td>
<td>不配</td>
<td>对应官方&#8221;16 核 / 64GB 处理 1.5 亿 reads / 750 样本&#8221;</td>
</tr>
<tr>
<td>大队列 / 多项目并行（数亿 reads、上千样本）</td>
<td>32–64 核，或<strong>多台小机器分片</strong></td>
<td>128GB 级</td>
<td>8–16TB + 归档</td>
<td>不配</td>
<td>官方给的省钱方案：<strong>&#8220;10 台 8GB 小机器 = 1 台大机器&#8221;</strong>；走任务分片而非堆单机配置</td>
</tr>
</tbody>
</table>
<p><strong>三条判断口径</strong>：</p>
<ul>
<li><strong>核数是提速项，内存&#8221;基本平坦&#8221;</strong>（官方口径）——预算优先给 CPU 与会跑的样本拆法；</li>
<li><strong>要缩短时间，先优化&#8221;样本拆法&#8221;再谈加硬件</strong>（单样本深度的平方级效应）；</li>
<li><strong>GPU 与这个方向无关</strong>——除非课题组另有深度学习任务，<strong>不要把 GPU 预算写进 16S 方案</strong>。</li>
</ul>
<h2>七、五句可以直接写进方案的结论</h2>
<ul>
<li><strong>16S/ITS 扩增子上显卡是浪费</strong>——DADA2、QIIME 2 的官方资料里都没有 GPU 作为运行条件；</li>
<li><strong>官方参照配置是&#8221;16 核 / 64GB 的普通计算节点&#8221;</strong>，数据量档次为&#8221;约 1.5 亿 reads / 约 750 样本&#8221;，核心步骤 2–12 小时（双端翻倍）；</li>
<li><strong>&#8220;慢&#8221;的第一原因通常是样本拆法</strong>：同样的 reads 数，样本越少越慢（官方：150 样本 vs 750 样本，约差 5 倍）；</li>
<li><strong>能靠&#8221;多台小机器分片&#8221;解决，不必堆一台顶配</strong>（官方原句：10 台 8GB 小机器等效于 1 台大机器）；</li>
<li><strong>交付的真正工作量在&#8221;离线环境 + 参考数据 + 版本留存&#8221;</strong>，不是硬件。</li>
</ul>
<h2>常见问题</h2>
<h3>16S 扩增子分析要配显卡吗？</h3>
<p><strong>不需要。</strong> DADA2（R/RcppParallel 实现）与 QIIME 2 的官方文档里都没有把 GPU 列为运行条件。QIIME 2 官方点名需要服务器的步骤是&#8221;<strong>质控</strong>&#8220;与&#8221;<strong>分类注释</strong>&#8220;——前者偏内存、后者偏 CPU，<strong>都不是 GPU 任务</strong>。<strong>只有课题组同时在跑深度学习类任务时，显卡才有意义</strong>；纯扩增子项目把显卡预算省下来，用于<strong>提高 CPU 核数、加大 SSD、或直接买两台小机器做分片</strong>，收益更实在。</p>
<h3>我的机器 16 核 / 64GB，跑 750 个样本要多久？</h3>
<p>按官方基准，<strong>核心步骤 Sample Inference 约 2–12 小时</strong>（16 核 / 64GB、约 1.5 亿 reads / 750 样本）。<strong>时间是区间而不是定值</strong>，因为官方明确说了：运行时间随<strong>数据质量下降</strong>和<strong>样本多样性升高</strong>而增加；<strong>如果是双端测序（paired-end），耗时翻倍</strong>。质控与嵌合体/注释步骤官方称&#8221;明显比 Sample Inference 快&#8221;，所以<strong>不必按最慢步骤去配机器</strong>。</p>
<h3>为什么样本数变少了反而跑得更慢？</h3>
<p>这不是机器的问题，是<strong>算法特性</strong>。DADA2 官方原文：核心去噪方法的运行时间对&#8221;<strong>单个样本的深度</strong>&#8220;是<strong>平方级</strong>增长、对&#8221;<strong>样本个数</strong>&#8220;是<strong>线性</strong>增长。所以官方给了一个直观例子：<strong>同样 1.5 亿 reads，分到 150 个样本而不是 750 个，运行时间约高 5 倍</strong>。<strong>处理办法</strong>：尽量把数据按样本拆开分片跑（DADA2 按样本独立处理、样本间互不依赖），而不是去加内存——官方口径里内存需求是&#8221;基本平坦&#8221;的。</p>
<h3>预算有限，一定要买多路大内存服务器吗？</h3>
<p><strong>不必。</strong> 官方给了明确的替代方案：*&#8221;10 Amazon 8GB instances can do the job as well as one larger (and more costly) compute node!&#8221;*——因为扩增子流程<strong>天然可按样本并行</strong>，官方还说明流程可切成 <strong>Filtering / Sample Inference / Chimeras+Taxonomy</strong> 三块分别提交作业。<strong>所以在预算受限时，&#8221;多台中等配置机器 + 任务分片&#8221;往往比&#8221;一台顶配&#8221;更划算</strong>，也更容易逐步扩容。</p>
<h3>我们的实验室没有外网，QIIME 2 装得上吗？</h3>
<p><strong>可以，但必须提前准备离线包。</strong> QIIME 2 官方安装依赖 conda 环境与官方环境文件，参考数据库/分类器也需要单独下载（官方指引到 Library 取数据资源）。<strong>内网/隔离环境的做法</strong>：在有网机器上把 conda 包、环境文件和参考分类器一次性抓齐，装到内网机器后<strong>把环境与参考数据单独备份一块盘</strong>——它们不是实验数据，但删了/换版本就跑不起来。这一步属于交付项，需要提前跟客户约好数据目录和版本。</p>
<h3>16S 扩增子和宏基因组，机器配置差多少？</h3>
<p><strong>差一个档位，而且难点完全不同。</strong> 16S 是<strong>靶向</strong>分析（只看 16S rRNA 区域），官方参照是&#8221;16 核 / 64GB 节点&#8221;，瓶颈是 CPU 时间和样本拆法；宏基因组（鸟枪法）要<strong>全物种比对、组装、分箱、质量评估</strong>，内存由<strong>数据库档位</strong>（如 Kraken2 索引 15GB–644GB）与<strong>输入数据量</strong>决定，是典型的大内存场景。详见<a href="https://shanghaihaoquan.com/metagenomics-server-configuration/">宏基因组测序分析的服务器怎么配</a>。<strong>售前第一件事就是分清这两类需求。</strong></p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/metagenomics-server-configuration/">宏基因组测序分析的服务器怎么配？内存是天花板，显卡基本用不上</a></li>
<li><a href="https://shanghaihaoquan.com/genome-sequencing-server-configuration/">基因组测序流程的服务器怎么配？BWA、samtools、bcftools、Salmon 这四个工具都不吃显卡</a></li>
<li><a href="https://shanghaihaoquan.com/long-read-genome-assembly-server-configuration/">三代测序（长读长）基因组装服务器怎么配？官方 benchmark 表里内存从 2GB 到 699GB</a></li>
<li><a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">实验室服务器的存储怎么配？先分清&#8221;数据盘、工作盘和备份&#8221;</a></li>
<li><a href="https://shanghaihaoquan.com/server-cpu-core-count-guide/">服务器 CPU 核数越多越好吗？先看它在你的任务里扮演什么角色</a></li>
<li><a href="https://shanghaihaoquan.com/research-group-shared-gpu-server/">课题组共用一台服务器：账号、配额、监控怎么设</a></li>
</ul>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "16S 扩增子分析要配显卡吗？", "acceptedAnswer": {"@type": "Answer", "text": "不需要。 DADA2（R/RcppParallel 实现）与 QIIME 2 的官方文档里都没有把 GPU 列为运行条件。QIIME 2 官方点名需要服务器的步骤是\"质控\"与\"分类注释\"——前者偏内存、后者偏 CPU，都不是 GPU 任务。只有课题组同时在跑深度学习类任务时，显卡才有意义；纯扩增子项目把显卡预算省下来，用于提高 CPU 核数、加大 SSD、或直接买两台小机器做分片，收益更实在。"}}, {"@type": "Question", "name": "我的机器 16 核 / 64GB，跑 750 个样本要多久？", "acceptedAnswer": {"@type": "Answer", "text": "按官方基准，核心步骤 Sample Inference 约 2–12 小时（16 核 / 64GB、约 1.5 亿 reads / 750 样本）。时间是区间而不是定值，因为官方明确说了：运行时间随数据质量下降和样本多样性升高而增加；如果是双端测序（paired-end），耗时翻倍。质控与嵌合体/注释步骤官方称\"明显比 Sample Inference 快\"，所以不必按最慢步骤去配机器。"}}, {"@type": "Question", "name": "为什么样本数变少了反而跑得更慢？", "acceptedAnswer": {"@type": "Answer", "text": "这不是机器的问题，是算法特性。DADA2 官方原文：核心去噪方法的运行时间对\"单个样本的深度\"是平方级增长、对\"样本个数\"是线性增长。所以官方给了一个直观例子：同样 1.5 亿 reads，分到 150 个样本而不是 750 个，运行时间约高 5 倍。处理办法：尽量把数据按样本拆开分片跑（DADA2 按样本独立处理、样本间互不依赖），而不是去加内存——官方口径里内存需求是\"基本平坦\"的。"}}, {"@type": "Question", "name": "预算有限，一定要买多路大内存服务器吗？", "acceptedAnswer": {"@type": "Answer", "text": "不必。 官方给了明确的替代方案：*\"10 Amazon 8GB instances can do the job as well as one larger (and more costly) compute node!\"*——因为扩增子流程天然可按样本并行，官方还说明流程可切成 Filtering / Sample Inference / Chimeras+Taxonomy 三块分别提交作业。所以在预算受限时，\"多台中等配置机器 + 任务分片\"往往比\"一台顶配\"更划算，也更容易逐步扩容。"}}, {"@type": "Question", "name": "我们的实验室没有外网，QIIME 2 装得上吗？", "acceptedAnswer": {"@type": "Answer", "text": "可以，但必须提前准备离线包。 QIIME 2 官方安装依赖 conda 环境与官方环境文件，参考数据库/分类器也需要单独下载（官方指引到 Library 取数据资源）。内网/隔离环境的做法：在有网机器上把 conda 包、环境文件和参考分类器一次性抓齐，装到内网机器后把环境与参考数据单独备份一块盘——它们不是实验数据，但删了/换版本就跑不起来。这一步属于交付项，需要提前跟客户约好数据目录和版本。"}}, {"@type": "Question", "name": "16S 扩增子和宏基因组，机器配置差多少？", "acceptedAnswer": {"@type": "Answer", "text": "差一个档位，而且难点完全不同。 16S 是靶向分析（只看 16S rRNA 区域），官方参照是\"16 核 / 64GB 节点\"，瓶颈是 CPU 时间和样本拆法；宏基因组（鸟枪法）要全物种比对、组装、分箱、质量评估，内存由数据库档位（如 Kraken2 索引 15GB–644GB）与输入数据量决定，是典型的大内存场景。详见宏基因组测序分析的服务器怎么配。售前第一件事就是分清这两类需求。"}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/amplicon-16s-qiime2-server-configuration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>三代测序（长读长）基因组装服务器怎么配？官方 benchmark 表里，内存从 2GB 到 699GB</title>
		<link>https://shanghaihaoquan.com/long-read-genome-assembly-server-configuration/</link>
					<comments>https://shanghaihaoquan.com/long-read-genome-assembly-server-configuration/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Fri, 16 Oct 2026 02:24:04 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[Flye]]></category>
		<category><![CDATA[hifiasm]]></category>
		<category><![CDATA[minimap2]]></category>
		<category><![CDATA[NextDenovo]]></category>
		<category><![CDATA[三代测序服务器]]></category>
		<category><![CDATA[生信服务器]]></category>
		<category><![CDATA[长读长组装]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/long-read-genome-assembly-server-configuration/</guid>

					<description><![CDATA[三代长读长（PacBio / ONT）基因组组装怎么配机器：Flye 官方 benchmark 覆盖 2GB（大肠杆菌）到 662GB（羊肠道宏基因组），hifiasm 官方表 68GB（玉米）到 699GB（红杉）；HiFi 与 ONT 同物种内存差约 3 倍；NextDenovo 官方给的公式按"输入总碱基数"分配内存，并点名瓶颈是 minimap2 与 IO（建议放 SSD）；minimap2 默认一次载入至多 8G 碱基建索引。含五工具硬件画像表、官方三条"禁止用法"、三档配置与存储口径。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：三代（长读长）基因组组装这条路线不吃显卡，第一配置项是内存，第二是存储，CPU 核数决定&#8221;多久跑完&#8221;。</strong> 这一点有官方实测数据直接支撑——Flye 官方 benchmark 表里，同一款软件的内存跨度是 <strong>2GB（大肠杆菌）到 662GB（羊肠道宏基因组）</strong>，hifiasm 官方表里是 <strong>68GB（玉米）到 699GB（红杉）</strong>。<strong>内存不是&#8221;配多少合适&#8221;的问题，而是&#8221;配少了根本跑不完&#8221;的问题。</strong></p>
<p>这个方向我们见过两个典型的误配：</p>
<ul>
<li><strong>按&#8221;深度学习任务&#8221;配成多卡 GPU 服务器</strong>——组装、纠错、比对全是 CPU + 内存 + IO 型工作，一张卡也用不上；</li>
<li><strong>内存按&#8221;基因组大小 × 固定系数&#8221;估</strong>——<strong>这是官方数据明确否定的做法</strong>：hifiasm 官方表里 <strong>草莓（0.8Gb 基因组）需要 91GB 内存，而玉米（2.2Gb 基因组）只需要 68GB</strong>。同样的&#8221;预估系数&#8221;在这里直接失效。</li>
</ul>
<p>三句话先记住：</p>
<ul>
<li><strong>内存看&#8221;数据量与测序类型&#8221;，不看&#8221;基因组大小&#8221;</strong>——同是人类，HiFi 30x 约 141GB、ONT 120x 约 450GB（Flye 官方表）；</li>
<li><strong>测序类型决定档位</strong>：HiFi（高准确度长读）在内存与耗时上都明显更友好，ONT 超长读更吃资源；</li>
<li><strong>存储要按&#8221;多套中间产物&#8221;算</strong>：纠错后的读段文件、overlap 文件、组装图、多版 FASTA，都是 GB–TB 级，且不能中途删。</li>
</ul>
<h2>一、五类工具一张表：硬件画像</h2>
<table>
<thead>
<tr>
<th>工具</th>
<th>在流程里的位置</th>
<th>GPU</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>最该注意的</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Flye（含 metaFlye）</strong></td>
<td>三代读段从头组装（细菌—人类—宏基因组）</td>
<td>不需要</td>
<td><strong>高</strong>（官方 CPU time 最高 4,000 小时）</td>
<td><strong>极高 ★ 第一变量</strong>（官方 2GB–662GB）</td>
<td>极高（输入数据 + 组装图 + 抛光产物）</td>
<td>宏基因组模式内存由<strong>输入数据量</strong>决定</td>
</tr>
<tr>
<td><strong>hifiasm</strong></td>
<td>HiFi 数据的从头组装（组装质量口碑最好之一）</td>
<td>不需要</td>
<td>高（并行效率好，<strong>但不是第一瓶颈</strong>）</td>
<td><strong>极高 ★ 第一变量</strong>（官方 68GB–699GB）</td>
<td>极高（<code>.ec.bin</code> + 两个 overlap 文件 + 多套 FASTA/GFA）</td>
<td><strong>不能用基因组大小×系数估内存</strong></td>
</tr>
<tr>
<td><strong>NextDenovo</strong></td>
<td>长读纠错 + 组装（内置 minimap2 做重叠）</td>
<td>不需要</td>
<td>高（核数按官方公式切分）</td>
<td>极高（<strong>按输入总碱位数算</strong>）</td>
<td>高（可用参数压缩中间结果）</td>
<td><strong>官方点名瓶颈是 minimap2 与 IO → 建议上 SSD</strong></td>
</tr>
<tr>
<td><strong>Canu</strong></td>
<td>老牌长读组装（纠错/修剪/组装三阶段）</td>
<td>不需要</td>
<td>高</td>
<td>高</td>
<td>高（<strong>断点续跑依赖中间目录，别乱清</strong>）</td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>官方已宣布停止维护，新项目不建议作为主选</strong></td>
</tr>
<tr>
<td><strong>minimap2</strong></td>
<td>长读比对 / 纠错 / 组装的地基工具</td>
<td>不需要</td>
<td>高 ★（<code>-t</code> 线程直接提速）</td>
<td>中—高（<strong>默认一批至多载入 8G 碱基建索引</strong>）</td>
<td>中（索引 + 输出 + 临时文件）</td>
<td>内存不够用 <code>--split-prefix</code>（更慢、要临时盘）</td>
</tr>
</tbody>
</table>
<p>一句话概括：<strong>&#8220;GPU&#8221;这一列全是&#8221;不需要&#8221;</strong>。这类任务里真正的钱花在 <strong>内存容量、本地盘容量与速度</strong>上。</p>
<h2>二、Flye：官方 benchmark 表就是最好的&#8221;配置对照表&#8221;</h2>
<p>Flye 官方 README 有一张逐数据集的 benchmark 表（含官方实测 RAM），这是本方向最值得直接引用的资料：</p>
<table>
<thead>
<tr>
<th>基因组</th>
<th>数据</th>
<th>组装大小</th>
<th>CPU 时间</th>
<th><strong>官方 RAM</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>E.coli</td>
<td>PB 50x</td>
<td>4.6 Mb</td>
<td>2 h</td>
<td><strong>2 GB</strong></td>
</tr>
<tr>
<td>C.elegans</td>
<td>PB 40x</td>
<td>107 Mb</td>
<td>100 h</td>
<td><strong>31 GB</strong></td>
</tr>
<tr>
<td>A.thaliana</td>
<td>PB 75x</td>
<td>120 Mb</td>
<td>100 h</td>
<td><strong>59 GB</strong></td>
</tr>
<tr>
<td>D.melanogaster</td>
<td>ONT 30x</td>
<td>136 Mb</td>
<td>130 h</td>
<td><strong>33 GB</strong></td>
</tr>
<tr>
<td>D.melanogaster</td>
<td>PB 120x</td>
<td>141 Mb</td>
<td>150 h</td>
<td><strong>70 GB</strong></td>
</tr>
<tr>
<td>Human CHM13</td>
<td><strong>PB HiFi 30x</strong></td>
<td>3.0 Gb</td>
<td>780 h</td>
<td><strong>141 GB</strong></td>
</tr>
<tr>
<td>Human NA12878</td>
<td>ONT 35x</td>
<td>2.8 Gb</td>
<td>3100 h</td>
<td><strong>394 GB</strong></td>
</tr>
<tr>
<td>Human CHM13</td>
<td>ONT 120x</td>
<td>2.9 Gb</td>
<td>4000 h</td>
<td><strong>450 GB</strong></td>
</tr>
<tr>
<td><strong>Sheep gut HiFi（宏基因组）</strong></td>
<td><strong>输入 255 GB</strong></td>
<td>4.2 Gb</td>
<td>3500 h</td>
<td><strong>662 GB</strong></td>
</tr>
<tr>
<td><strong>Zymo Even（宏基因组）</strong></td>
<td><strong>输入 14 GB</strong></td>
<td>65 Mb</td>
<td>60 h</td>
<td><strong>129 GB</strong></td>
</tr>
</tbody>
</table>
<blockquote>
<p>表注（官方原文）：CHM13 T2T、CHM1、HG002 三组使用了 <code>--asm-coverage 50</code>；表中 NG50 为 contigs 口径。</p>
</blockquote>
<p>从这张表读出三条<strong>采购规则</strong>（我们的解读，不是官方表述）：</p>
<ul>
<li><strong>同物种、不同测序类型，内存差约 3 倍</strong>——人类 CHM13：<strong>HiFi 30x → 141GB</strong> vs <strong>ONT 120x → 450GB</strong>。预算允许时，<strong>HiFi 数据在内存与耗时上都更友好</strong>（覆盖度更低也能拼出更好的 NG50）。</li>
<li><strong>覆盖度是内存的独立放大器</strong>——同一物种 ONT 35x（394GB）vs ONT 120x（450GB）。<strong>提高覆盖度不仅增加数据量，也抬高内存</strong>，所以不能只按&#8221;原始数据文件大小&#8221;估内存。</li>
<li><strong>★ 宏基因组组装的内存由&#8221;输入数据量&#8221;决定，与物种基因组大小无关</strong>——羊肠道 HiFi 输入 255GB → 峰值 662GB，而组装产物只有 4.2Gb。客户常说&#8221;微生物基因组很小&#8221;，但<strong>这类任务的内存看的是测序数据量</strong>。</li>
</ul>
<h2>三、hifiasm：官方 RAM 表 + 三条&#8221;不能这么估&#8221;的红线</h2>
<p>hifiasm 的官方 README 同样给了逐数据集实测表（v0.12，primary assemblies）：</p>
<table>
<thead>
<tr>
<th>数据集</th>
<th>基因组大小</th>
<th>覆盖度</th>
<th>官方参数</th>
<th>墙钟时间</th>
<th><strong>官方 RAM</strong></th>
<th>N50</th>
</tr>
</thead>
<tbody>
<tr>
<td>Maize（B73）</td>
<td>2.2 Gb</td>
<td>×22</td>
<td><code>-t48 -l0</code></td>
<td>5.1 h</td>
<td><strong>68 GB</strong></td>
<td>36.7 Mb</td>
</tr>
<tr>
<td>Mouse（C57/BL6J）</td>
<td>2.6 Gb</td>
<td>×25</td>
<td><code>-t48 -l0</code></td>
<td>4.8 h</td>
<td><strong>76 GB</strong></td>
<td>21.1 Mb</td>
</tr>
<tr>
<td>Strawberry</td>
<td>0.8 Gb</td>
<td>×36</td>
<td><code>-t48 -D10</code></td>
<td>3.7 h</td>
<td><strong>91 GB</strong></td>
<td>17.8 Mb</td>
</tr>
<tr>
<td>Human（CHM13）</td>
<td>3.1 Gb</td>
<td>×32</td>
<td><code>-t48 -l0</code></td>
<td>8.2 h</td>
<td><strong>114 GB</strong></td>
<td>88.9 Mb</td>
</tr>
<tr>
<td>Human（HG002）</td>
<td>3.1 Gb</td>
<td>×36</td>
<td><code>-t48</code></td>
<td>7.7 h</td>
<td><strong>137 GB</strong></td>
<td>98.7 Mb</td>
</tr>
<tr>
<td>Frog</td>
<td>9.5 Gb</td>
<td>×29</td>
<td><code>-t48</code></td>
<td>69.0 h</td>
<td><strong>463 GB</strong></td>
<td>9.3 Mb</td>
</tr>
<tr>
<td>Redwood（红杉）</td>
<td>35.6 Gb</td>
<td>×28</td>
<td><code>-t80</code></td>
<td>65.5 h</td>
<td><strong>699 GB</strong></td>
<td>5.4 Mb</td>
</tr>
</tbody>
</table>
<p><strong>请特别注意两行的对比</strong>：<strong>草莓 0.8Gb 需要 91GB，玉米 2.2Gb 只需要 68GB</strong>。这就是为什么下面这三条红线必须写进方案，避免客户按&#8221;经验系数&#8221;报错配置：</p>
<table>
<thead>
<tr>
<th><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26d4.png" alt="⛔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 不能这么做</th>
<th>为什么（官方数据）</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>用&#8221;基因组大小 × 固定系数&#8221;推算内存</strong></td>
<td>官方表里内存与基因组大小<strong>非单调</strong>（草莓 0.8Gb 需 91GB &gt; 玉米 2.2Gb 需 68GB），受覆盖度、杂合度与参数（<code>-l0</code>/<code>-D10</code>）影响</td>
</tr>
<tr>
<td><strong>把&#8221;人类约 114GB&#8221;当成通用值</strong></td>
<td>那是 3.1Gb 二倍体 + ×32 覆盖 + <code>-t48 -l0</code> 的组合结果；换物种、换覆盖度就不成立</td>
</tr>
<tr>
<td><strong>把官方表的 RAM 当成&#8221;峰值保证&#8221;</strong></td>
<td>官方口径是该次运行的观测值；客户数据的杂合度/重复序列比例不同会导致差异 → <strong>交付前必须用客户真实数据实测</strong></td>
</tr>
</tbody>
</table>
<p>另外两条可以直接答复客户的<strong>性能特征</strong>：</p>
<ul>
<li><strong>hifiasm 的并行效率很好</strong>：官方表里 CPU time 172.9–3890.3 小时、而 <code>-t48</code> 时墙钟只要 4.8–8.2 小时——<strong>核数的意义是&#8221;把很长的总计算量压进一夜&#8221;</strong>，而不是决定能否跑完；</li>
<li><strong>官方口径是&#8221;在单机上跑&#8221;</strong>（*&#8221;on a single machine&#8221;*），属于典型单机大内存任务。官方<strong>未给磁盘占用数值</strong> → 存储按&#8221;原始长读数据 × 2–3 倍（含 <code>.ec.bin</code>、overlap 文件、GFA/FASTA 多套产物）+ 归档&#8221;预留（我们的工程口径，非官方）。</li>
</ul>
<h2>四、NextDenovo：官方直接给了&#8221;内存怎么分&#8221;的公式</h2>
<p>NextDenovo 是少见的<strong>官方把资源配置公式写在 FAQ 里</strong>的软件（原文：*&#8221;How to optimize parallel computing parameters?&#8221;*）：</p>
<blockquote>
<p>*&#8221;Each <code>parallel_jobs</code> subtask (including <code>minimap2_options_raw</code> and <code>minimap2_options_cns</code>) requires <strong>32~64 gb RAM</strong> depending on the max read length.&#8221;*</p>
</blockquote>
<blockquote>
<p>*&#8221;each <code>pa_correction</code> subtask (including <code>correction_options</code>) requires <strong>~TOTAL_INPUT_BASES/4 bytes RAM</strong>.&#8221;*</p>
</blockquote>
<p>翻译成配置语言：<strong>内存按&#8221;输入总碱基数&#8221;分配</strong>（校正子任务约需&#8221;总碱基数 ÷ 4 字节&#8221;），<strong>不是按基因组大小分配</strong>。官方基准配置文件里的实际数值更能说明问题：</p>
<table>
<thead>
<tr>
<th>数据集</th>
<th>基因组</th>
<th>官方 cfg 关键行</th>
<th>折算内存</th>
</tr>
</thead>
<tbody>
<tr>
<td>人 CHM13（120X ONT）</td>
<td>3.1 Gb</td>
<td><code>sort_options = -m 150g -t 30</code></td>
<td><strong>排序一步就要 150GB</strong></td>
</tr>
<tr>
<td>拟南芥 F1（192X CLR）</td>
<td>120 Mb</td>
<td><code>sort_options = -m 50g -t 35</code></td>
<td><strong>50GB</strong></td>
</tr>
<tr>
<td>官方默认模板</td>
<td>1 Gb</td>
<td><code>sort_options = -m 20g -t 15</code></td>
<td><strong>20GB</strong></td>
</tr>
</tbody>
</table>
<p><strong>这个&#8221;120Mb 的拟南芥也要 50GB&#8221;的例子，是反驳&#8221;基因组小就不用大内存&#8221;最有力的一条官方数据。</strong></p>
<p>NextDenovo 还有三条<strong>官方点名</strong>的运维口径，非常适合写进交付说明：</p>
<table>
<thead>
<tr>
<th>官方原文</th>
<th>含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>*&#8221;Currently, the bottlenecks of NextDenovo are <strong>minimap2 and IO</strong>.&#8221;*</td>
<td><strong>瓶颈是比对和磁盘 IO</strong>，不是内存带宽也不是显卡</td>
</tr>
<tr>
<td>*&#8221;Use <code>usetempdir</code> will reduce IO wait, <strong>especially if <code>usetempdir</code> is on a SSD driver</strong>.&#8221;*</td>
<td>官方<strong>唯一直接点名的硬件</strong>：<strong>临时目录放 SSD</strong></td>
</tr>
<tr>
<td>*&#8221;No need to make any changes, <strong>simply run the same command again</strong>.&#8221;*</td>
<td><strong>断点续跑</strong>：长任务被中断，重跑同一条命令即可继续</td>
</tr>
</tbody>
</table>
<p>另外，内存紧张时官方给了 <code>-dbuf</code>（*&#8221;reduce ~TOTAL_INPUT_BASES/4 bytes of memory usage&#8221;*，代价是速度），提速可用 <code>-fast</code>（*&#8221;0.5-1 times faster mode with a little lower accuracy&#8221;*）。<strong>这是我们推荐&#8221;先调参数、后加硬件&#8221;的底气来源——省内存和提速的开关官方都给了。</strong></p>
<h2>五、minimap2：很多长读流程的地基，内存口径是&#8221;一批 8G 碱基&#8221;</h2>
<p>minimap2 是纠错、比对、组装流程里到处都在用的地基工具。它的官方 man page 给出了一个<strong>明确的批量口径</strong>：</p>
<blockquote>
<p>*&#8221;Load at most NUM target bases into RAM for indexing <strong>[8G]</strong>. If there are more than NUM bases in target.fa, minimap2 needs to read query.fa multiple times to map it against each batch of target sequences.**&#8221;*</p>
</blockquote>
<p>→ <strong>默认一次把至多 8G（80 亿）碱基的目标序列载入内存建索引</strong>。人类基因组（约 3.1Gb）落在默认单批次内，所以<strong>多数动植物项目用默认档即可</strong>。</p>
<p>内存不够时官方给了三条路（都写明了代价）：</p>
<table>
<thead>
<tr>
<th>手段</th>
<th>官方说法</th>
<th>代价</th>
</tr>
</thead>
<tbody>
<tr>
<td>加大批次 <code>-I8g</code></td>
<td>*&#8221;This is preferred if your machine has enough memory.&#8221;*</td>
<td>需要更多内存</td>
</tr>
<tr>
<td><code>--split-prefix</code></td>
<td>*&#8221;uses less memory, but it is slower and requires temporary disk space.&#8221;*</td>
<td><strong>更慢 + 需要临时磁盘</strong></td>
</tr>
<tr>
<td><code>--idx-no-seq</code></td>
<td>*&#8221;It saves disk space and memory&#8221;*</td>
<td>索引不能用于 <code>-a</code>/<code>-c</code>（不做碱基级比对）</td>
</tr>
</tbody>
</table>
<p>还有一条<strong>并发提醒</strong>：minimap2 是&#8221;一个进程一份索引&#8221;，<strong>多人同时跑时内存要按进程数累加</strong>——这是&#8221;单跑没事、三个人一起跑就 OOM&#8221;的典型原因。</p>
<h2>六、Canu：能力还在，但官方已停止维护</h2>
<p>Canu 是老牌长读组装工具，官方口径里也有优点：<strong>自动探测资源并自适应</strong>（*&#8221;auto-detect computational resources and scale itself to fit&#8221;*）、可用 <code>maxMemory</code>/<code>maxThreads</code> 限制、<strong>支持断点续跑</strong>、支持 LSF/PBS/Slurm/SGE 等集群调度、真核推荐覆盖度 <strong>30X–60X</strong>。</p>
<p>但必须对客户说明一条：<strong>官方已宣布停止维护（EOL）</strong>。所以我们的建议是：</p>
<ul>
<li><strong>新项目不要把它作为主选</strong>（用 Flye / hifiasm / NextDenovo 覆盖大多数场景）；</li>
<li>如果课题组已有历史流程依赖 Canu，方案里要<strong>明确写&#8221;该工具官方已停止维护&#8221;</strong>，并预留后续迁移；</li>
<li>若继续用，注意官方提醒：*&#8221;For best results, <strong>do not change Canu parameters between restarts</strong>&#8220;*（续跑时不要改参数），且<strong>中间目录不要清理</strong>——续跑靠的就是那个目录。</li>
</ul>
<h2>七、内存与存储怎么估：先定&#8221;测序类型 + 覆盖度 + 数据量&#8221;</h2>
<p><strong>报配置前的三个必问项</strong>（按重要度排序）：</p>
<table>
<thead>
<tr>
<th>#</th>
<th>问什么</th>
<th>为什么</th>
<th>怎么用</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><strong>测序平台与读长类型</strong>：HiFi / ONT / CLR（旧 PacBio）</td>
<td>同物种不同读型的内存差约 <strong>3 倍</strong>（Flye 官方：人类 HiFi 30x 141GB vs ONT 120x 450GB）</td>
<td>直接决定内存档位</td>
</tr>
<tr>
<td>2</td>
<td><strong>基因组大小与倍性</strong>：0.1Gb 级细菌真菌 / 1–3Gb 常见动植物 / 9Gb+ 两栖林木</td>
<td>官方表覆盖到 35.6Gb（红杉 → 699GB）</td>
<td>9Gb 以上要按&#8221;数百 GB 级内存&#8221;规划，并核对主板单条容量与插槽数</td>
</tr>
<tr>
<td>3</td>
<td><strong>覆盖度与总数据量</strong>（多少 GB / 多少个样本）</td>
<td>覆盖度是内存的独立放大器；宏基因组/多组混样时<strong>内存按数据量走</strong></td>
<td><strong>不许用&#8221;基因组大小 × 系数&#8221;</strong>（官方数据已否定）</td>
</tr>
</tbody>
</table>
<p><strong>存储按四份算</strong>（这是我们的工程口径，官方未给数值）：</p>
<ul>
<li><strong>原始长读数据</strong>（不可删，是交付凭据）；</li>
<li><strong>中间产物</strong>：纠错后的读段（hifiasm 的 <code>.ec.bin</code>）、overlap 文件 —— <strong>通常是原始数据的 1–3 倍</strong>；</li>
<li><strong>组装产物多套</strong>：不同参数/版本的 GFA 与 FASTA、抛光后结果；</li>
<li><strong>归档</strong>：项目结束后的冷数据（建议单独一层）。</li>
</ul>
<p><strong>再乘一个&#8221;并发系数&#8221;</strong>：同一台机器上多个样本/多个人同时跑，内存要按峰值任务数累加，磁盘要按&#8221;同时在跑的项目数&#8221;累加。这条做不好，就是典型的&#8221;别人一跑，我这边的任务就被 kill&#8221;。</p>
<h2>八、按规模分档（可直接对照预算看）</h2>
<table>
<thead>
<tr>
<th>场景</th>
<th>内存</th>
<th>CPU</th>
<th>存储</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>细菌/真菌基因组（≤0.1Gb），HiFi 或 ONT</td>
<td>64–128GB</td>
<td>16–32 核</td>
<td>4–8TB（含 NVMe 热区）</td>
<td>官方表<strong>无此量级数据</strong> → 以实测为准；这一档往往是&#8221;跑得动且不贵&#8221;的典型</td>
</tr>
<tr>
<td><strong>0.8–3.1Gb 常见动植物</strong>（拟南芥/玉米/猪牛/人类级）</td>
<td><strong>128–256GB</strong>（官方表对应 68–137GB，留并发与系统余量）</td>
<td>32–64 核（hiFiasm <code>-t48</code> 是官方常用档）</td>
<td>8–16TB + 独立 work 盘</td>
<td>覆盖度 ×30 左右是最常见口径</td>
</tr>
<tr>
<td>9.5Gb 级（蛙、部分两栖/林木）</td>
<td><strong>≥512GB</strong></td>
<td>64 核以上</td>
<td>16TB 以上</td>
<td>对应官方 Frog 463GB</td>
</tr>
<tr>
<td><strong>超大基因组 / 大宏基因组</strong>（35Gb 级针叶、多倍体；或输入数百 GB 的 meta）</td>
<td><strong>768GB–1TB</strong></td>
<td>64–128 核</td>
<td>共享存储 + 分层归档</td>
<td>对应官方红杉 699GB、羊肠道 meta 662GB；<strong>先核对主板容量与插槽</strong></td>
</tr>
</tbody>
</table>
<p><strong>三条判断口径</strong>：</p>
<ul>
<li><strong>先定&#8221;内存档位&#8221;，再选 CPU 核数与平台</strong>——本方向是&#8221;内存决定能不能跑完，核数决定跑多久&#8221;；</li>
<li><strong>存储不要只按原始数据算</strong>——中间产物与多套组装产物往往比原始数据更大；</li>
<li><strong>要 GPU 只有一个理由</strong>：课题组另有深度学习/结构预测类任务，与组装本身无关。</li>
</ul>
<h2>九、五句可以直接写进方案的结论</h2>
<ul>
<li><strong>三代长读组装不上显卡</strong>——Flye / hifiasm / NextDenovo / minimap2 都是 CPU 多线程程序；</li>
<li><strong>内存是第一变量，且必须&#8221;一单一估&#8221;</strong>：官方实测跨度 <strong>2GB（大肠杆菌）– 699GB（红杉）</strong>、宏基因组模式还有 662GB 的案例；</li>
<li><strong>不能用&#8221;基因组大小 × 固定系数&#8221;估内存</strong>：官方表里草莓 0.8Gb 需 91GB、玉米 2.2Gb 只需 68GB，<strong>非单调</strong>；</li>
<li><strong>HiFi 比 ONT 更省内存</strong>（同物种约差 3 倍）——客户选测序策略时，这条直接影响服务器预算；</li>
<li><strong>存储按&#8221;原始数据 + 中间产物 + 多套产物 + 归档&#8221;四层规划</strong>，并把<strong>临时目录放在 SSD/NVMe</strong>（NextDenovo 官方唯一点名的硬件）。</li>
</ul>
<h2>常见问题</h2>
<h3>三代测序组装要不要配显卡？</h3>
<p><strong>不需要。</strong> Flye、hifiasm、NextDenovo、minimap2 的官方资料里都没有把 GPU 作为运行条件——它们靠 CPU 多线程 + 大内存 + 快速磁盘完成纠错、重叠检测与组装。<strong>只有当课题组同时还要跑深度学习类任务（如结构预测、序列大模型）时，显卡才有意义</strong>；如果预算有限而需求只有组装，<strong>把钱从显卡移到内存和 NVMe 上，收益大得多</strong>。</p>
<h3>组装一个人类基因组，内存要配多少？</h3>
<p>看<strong>测序类型</strong>。Flye 官方 benchmark：<strong>HiFi 30x → 141GB</strong>、<strong>ONT 120x → 450GB</strong>；hifiasm 官方表：<strong>人类 ×32/×36 → 114–137GB</strong>。所以<strong>常见口径是&#8221;内存 ≥512GB 级别可以把人类级大项目做得很从容，256GB 是 HiFi 路线的最低实用档&#8221;</strong>（这是我们的工程口径，官方表给的是单次运行观测值，不是峰值保证）。<strong>最终定档前必须用客户自己的数据实测一次。</strong></p>
<h3>客户说&#8221;我这是细菌基因组，是不是不用配大机器&#8221;？</h3>
<p><strong>多数情况下是的</strong>，但要注意两点：① <strong>官方没有细菌量级的 benchmark</strong>，所以不能拿官方人类数据外推，应该<strong>用客户真实数据测一次峰值内存</strong>；② <strong>如果是&#8221;宏基因组&#8221;而不是单一细菌基因组，结论完全不同</strong>——Flye 官方实测：输入 14GB 的数据就需要 <strong>129GB</strong> 内存，输入 255GB 就需要 <strong>662GB</strong>，因为这类任务的内存<strong>看输入数据量，不看物种基因组大小</strong>。详见<a href="https://shanghaihaoquan.com/metagenomics-server-configuration/">宏基因组分析的服务器怎么配</a>。</p>
<h3>机器老是跑一半被 kill，是内存不够吗？</h3>
<p>大概率是。判断和处理顺序：</p>
<ul>
<li><strong>看是否多个任务同时跑</strong>——minimap2/NextDenovo 这类工具&#8221;一个进程一份索引/一份缓冲&#8221;，内存会<strong>按并发数累加</strong>；</li>
<li><strong>内存不足先用官方给的降内存开关</strong>，而不是立刻加硬件：NextDenovo 有 <code>-dbuf</code>，MEGAHIT 有 <code>--kmin-1pass</code>，minimap2 有 <code>--split-prefix</code>（代价是更慢、需要临时盘）；</li>
<li><strong>长任务请开启/利用断点续跑</strong>（NextDenovo 官方：重跑同一条命令即可继续；Canu：不要改参数、不要清中间目录）；</li>
<li>确认是&#8221;内存真不够&#8221;而不是&#8221;<strong>临时目录写满了磁盘</strong>&#8220;——这两者症状相似，后者更常见。可参考<a href="https://shanghaihaoquan.com/server-slow-should-i-add-gpus/">服务器 CPU 和显卡都跑满了还是很慢，再加一张卡有用吗</a>。</li>
</ul>
<h3>为什么同样的物种，两台机器的内存差这么多还不够用？</h3>
<p>因为<strong>内存不只看物种大小</strong>，还看：① <strong>测序类型</strong>（HiFi vs ONT，约差 3 倍）；② <strong>覆盖度</strong>（同物种 ONT 35x 是 394GB、120x 是 450GB）；③ <strong>杂合度与重复序列比例</strong>；④ <strong>参数</strong>（官方 hifiasm 表里 <code>-l0</code>、<code>-D10</code> 都出现在示例参数里）。<strong>所以&#8221;同物种照抄配置&#8221;是常见错误</strong>，正确做法是<strong>拿数据实测后回填</strong>。</p>
<h3>Canu 现在还能用吗？</h3>
<p><strong>能用，但不要作为新项目的主选</strong>——<strong>官方已宣布停止维护</strong>。它仍有自适应资源、<code>maxMemory</code>/<code>maxThreads</code> 限制、断点续跑、集群调度等能力，历史项目继续跑没问题；<strong>但新项目建议用 Flye / hifiasm / NextDenovo</strong>，并注意若沿用 Canu 续跑，官方要求&#8221;重启之间不要改参数&#8221;、中间目录不能清理。</p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/metagenomics-server-configuration/">宏基因组测序分析的服务器怎么配？内存是天花板，显卡基本用不上</a></li>
<li><a href="https://shanghaihaoquan.com/genome-sequencing-server-configuration/">基因组测序流程的服务器怎么配？BWA、samtools、bcftools、Salmon 这四个工具都不吃显卡</a></li>
<li><a href="https://shanghaihaoquan.com/amplicon-16s-qiime2-server-configuration/">16S 扩增子分析的服务器怎么配？DADA2 官方给的参照是 16 核 / 64GB</a></li>
<li><a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">实验室服务器的存储怎么配？先分清&#8221;数据盘、工作盘和备份&#8221;</a></li>
<li><a href="https://shanghaihaoquan.com/server-cpu-core-count-guide/">服务器 CPU 核数越多越好吗？先看它在你的任务里扮演什么角色</a></li>
<li><a href="https://shanghaihaoquan.com/research-group-shared-gpu-server/">课题组共用一台服务器：账号、配额、监控怎么设</a></li>
</ul>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "三代测序组装要不要配显卡？", "acceptedAnswer": {"@type": "Answer", "text": "不需要。 Flye、hifiasm、NextDenovo、minimap2 的官方资料里都没有把 GPU 作为运行条件——它们靠 CPU 多线程 + 大内存 + 快速磁盘完成纠错、重叠检测与组装。只有当课题组同时还要跑深度学习类任务（如结构预测、序列大模型）时，显卡才有意义；如果预算有限而需求只有组装，把钱从显卡移到内存和 NVMe 上，收益大得多。"}}, {"@type": "Question", "name": "组装一个人类基因组，内存要配多少？", "acceptedAnswer": {"@type": "Answer", "text": "看测序类型。Flye 官方 benchmark：HiFi 30x → 141GB、ONT 120x → 450GB；hifiasm 官方表：人类 ×32/×36 → 114–137GB。所以常见口径是\"内存 ≥512GB 级别可以把人类级大项目做得很从容，256GB 是 HiFi 路线的最低实用档\"（这是我们的工程口径，官方表给的是单次运行观测值，不是峰值保证）。最终定档前必须用客户自己的数据实测一次。"}}, {"@type": "Question", "name": "客户说\"我这是细菌基因组，是不是不用配大机器\"？", "acceptedAnswer": {"@type": "Answer", "text": "多数情况下是的，但要注意两点：① 官方没有细菌量级的 benchmark，所以不能拿官方人类数据外推，应该用客户真实数据测一次峰值内存；② 如果是\"宏基因组\"而不是单一细菌基因组，结论完全不同——Flye 官方实测：输入 14GB 的数据就需要 129GB 内存，输入 255GB 就需要 662GB，因为这类任务的内存看输入数据量，不看物种基因组大小。详见宏基因组分析的服务器怎么配。"}}, {"@type": "Question", "name": "机器老是跑一半被 kill，是内存不够吗？", "acceptedAnswer": {"@type": "Answer", "text": "大概率是。判断和处理顺序："}}, {"@type": "Question", "name": "为什么同样的物种，两台机器的内存差这么多还不够用？", "acceptedAnswer": {"@type": "Answer", "text": "因为内存不只看物种大小，还看：① 测序类型（HiFi vs ONT，约差 3 倍）；② 覆盖度（同物种 ONT 35x 是 394GB、120x 是 450GB）；③ 杂合度与重复序列比例；④ 参数（官方 hifiasm 表里 -l0、-D10 都出现在示例参数里）。所以\"同物种照抄配置\"是常见错误，正确做法是拿数据实测后回填。"}}, {"@type": "Question", "name": "Canu 现在还能用吗？", "acceptedAnswer": {"@type": "Answer", "text": "能用，但不要作为新项目的主选——官方已宣布停止维护。它仍有自适应资源、maxMemory/maxThreads 限制、断点续跑、集群调度等能力，历史项目继续跑没问题；但新项目建议用 Flye / hifiasm / NextDenovo，并注意若沿用 Canu 续跑，官方要求\"重启之间不要改参数\"、中间目录不能清理。"}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/long-read-genome-assembly-server-configuration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>宏基因组测序分析的服务器怎么配？内存是天花板，显卡基本用不上</title>
		<link>https://shanghaihaoquan.com/metagenomics-server-configuration/</link>
					<comments>https://shanghaihaoquan.com/metagenomics-server-configuration/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Fri, 16 Oct 2026 02:24:01 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[CheckM2]]></category>
		<category><![CDATA[Kraken2]]></category>
		<category><![CDATA[MEGAHIT]]></category>
		<category><![CDATA[MetaPhlAn]]></category>
		<category><![CDATA[宏基因组服务器]]></category>
		<category><![CDATA[微生物组]]></category>
		<category><![CDATA[生信服务器]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/metagenomics-server-configuration/</guid>

					<description><![CDATA[宏基因组（微生物组）分析怎么配机器：Kraken2 建标准库要约 100GB 磁盘、索引从 7.5GB 到 644GB 分八档，官方要求"内存装得下数据库"且不建议放 NFS；MetaPhlAn 走轻量路线（数据库压缩包 5.6GB）；CheckM2 官方给了 `--lowmem` 把内存减半；组装与分箱（MEGAHIT/MetaBAT2）无限值但官方给了降内存与断点续跑开关。含五工具硬件画像表、按"数据量"估内存的口径、离线数据库预置清单与三档配置思路。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：宏基因组（微生物组）分析这条路线，显卡基本用不上——真正的天花板是内存和磁盘。</strong> 决定内存的不是&#8221;微生物基因组很小&#8221;，而是<strong>你要用多大的物种数据库</strong>（Kraken2 标准库索引约 103GB，最大档 GTDB 索引约 644GB），以及<strong>要处理多少测序数据量</strong>。钱应该花在 <strong>内存容量、存储容量与本地盘的读写速度</strong>上。</p>
<p>这个方向我们见过两种典型误配，方向正好相反：</p>
<ul>
<li><strong>按&#8221;深度学习任务&#8221;配成多卡 GPU 服务器</strong>：宏基因组的分类、组装、分箱、质量评估全是 CPU + 内存 + IO 型工作，一张卡也用不上；</li>
<li><strong>按&#8221;微生物基因组才几 Mb&#8221;配成小内存机器</strong>：分类要常驻一本几 GB 到几百 GB 的物种库，组装（metaFlye 官方实测：输入 255G 数据 → 峰值内存 662G）看的是<strong>输入数据量</strong>，不是物种基因组大小。<strong>按基因组大小估内存，一定会低估。</strong></li>
</ul>
<p>三句话先记住：</p>
<ul>
<li><strong>内存是天花板，且由&#8221;数据库档位 + 数据量&#8221;两个变量决定</strong>——不是由物种基因组大小决定；</li>
<li><strong>存储要按&#8221;多份数据库 + 原始数据 + 中间文件&#8221;一起算</strong>：Kraken2 建标准库一项就要约 100GB 磁盘，而课题往往同时留 2–3 个库；</li>
<li><strong>数据库不要放网络盘（官方明确不建议 NFS）</strong>，且<strong>内外网隔离的实验室必须提前离线预置</strong>——这是交付阶段最常见的&#8221;跑不起来&#8221;。</li>
</ul>
<h2>一、五类工具一张表：硬件画像</h2>
<table>
<thead>
<tr>
<th>工具</th>
<th>在流程里的位置</th>
<th>GPU</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>最该注意的</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Kraken2（+Bracken）</strong></td>
<td>读段 → 物种分类与丰度</td>
<td>不需要</td>
<td>中—高（多线程吞吐）</td>
<td><strong>高—极高 ★ 第一变量</strong>（索引 7.5GB–644GB）</td>
<td>高（建库约 100GB + 索引 + 归档）</td>
<td><strong>内存必须装得下数据库</strong>；数据库别放 NFS</td>
</tr>
<tr>
<td><strong>MetaPhlAn</strong></td>
<td>物种组成与相对丰度（marker 基因法）</td>
<td>不需要</td>
<td>中—高（BowTie2 比对）</td>
<td>中</td>
<td>中（数据库压缩包 3–6GB，解压后更大）</td>
<td>轻量路线，适合样本多、只要物种谱</td>
</tr>
<tr>
<td><strong>MEGAHIT</strong></td>
<td>宏基因组组装（拼 contig）</td>
<td>不需要</td>
<td><strong>高 ★</strong>（长任务，核数决定时长）</td>
<td>中—高（随数据量与多样性上升）</td>
<td><strong>高</strong>（输入 FASTQ + 中间文件多）</td>
<td>复杂样本（土壤等）要用官方 <code>meta-large</code> 档</td>
</tr>
<tr>
<td><strong>MetaBAT2</strong></td>
<td>分箱（contig → MAG）</td>
<td>不需要</td>
<td>中—高</td>
<td>中 ★（随 contig 数与样本数）</td>
<td>中—高（<strong>BAM 文件通常很大</strong>）</td>
<td><strong>BAM 必须先排序</strong>；<strong>别用 conda 版</strong></td>
</tr>
<tr>
<td><strong>CheckM2</strong></td>
<td>MAG 质量评估（完整度/污染度）</td>
<td>不需要</td>
<td>中—高（<code>--threads</code> 提速）</td>
<td>中（官方给了 <code>--lowmem</code> 减半）</td>
<td>中—高（DIAMOND 数据库 + 报告）</td>
<td>内存可减半，<strong>不必为它顶格配内存</strong></td>
</tr>
</tbody>
</table>
<p>一句话概括：<strong>这张表里&#8221;GPU&#8221;一列全是&#8221;不需要&#8221;</strong>；真正要花钱的是内存、存储和本地盘速度。</p>
<h2>二、Kraken2：内存由&#8221;选哪档数据库&#8221;决定，档与档之间差 40 倍以上</h2>
<p>Kraken2 是宏基因组&#8221;每个样本里有什么菌、各占多少&#8221;这一步的主力工具。它的配置逻辑和别的软件不一样——<strong>软件本身很轻，重的是数据库</strong>。</p>
<p>官方 MANUAL 的 &#8220;System Requirements&#8221; 写得很直白：</p>
<blockquote>
<p>*&#8221;Construction of a Kraken 2 standard database requires approximately 100 GB of disk space.&#8221;*</p>
</blockquote>
<blockquote>
<p>*&#8221;To run efficiently, Kraken 2 requires enough free memory to hold the database (primarily the hash table) in RAM.&#8221;*</p>
</blockquote>
<ul>
<li><strong>建标准库：约 100GB 磁盘</strong>（官方 2018-01-01 的测试明细是：基因组库文件 42GB + NCBI 分类信息 26GB + compact hash table 29GB）；</li>
<li><strong>运行时内存：要装得下数据库</strong>（主要是那张哈希表），官方同时提供了 <code>--memory-mapping</code> 选项——可以不把整库读进内存，代价是<strong>变慢</strong>。</li>
</ul>
<p>而数据库本身有多个档位，官方指定索引站给出的&#8221;索引大小&#8221;是这样的（索引大小 ≈ 内存/磁盘的量级）：</p>
<table>
<thead>
<tr>
<th>索引档位</th>
<th>内容</th>
<th>归档大小</th>
<th>索引大小</th>
</tr>
</thead>
<tbody>
<tr>
<td>Viral</td>
<td>RefSeq 病毒</td>
<td>0.5 GB</td>
<td><strong>0.6 GB</strong></td>
</tr>
<tr>
<td><strong>Standard-8</strong></td>
<td>标准库，库上限 8GB</td>
<td>5.5 GB</td>
<td><strong>7.5 GB</strong></td>
</tr>
<tr>
<td><strong>Standard-16</strong></td>
<td>标准库，库上限 16GB</td>
<td>11.2 GB</td>
<td><strong>14.9 GB</strong></td>
</tr>
<tr>
<td><strong>Standard</strong></td>
<td>古菌/细菌/病毒/质粒/人类等</td>
<td>79.6 GB</td>
<td><strong>103.1 GB</strong></td>
</tr>
<tr>
<td>PlusPF</td>
<td>Standard + 原生动物 + 真菌</td>
<td>84.8 GB</td>
<td><strong>109.9 GB</strong></td>
</tr>
<tr>
<td>PlusPFP</td>
<td>PlusPF + 植物</td>
<td>171.8 GB</td>
<td><strong>231.5 GB</strong></td>
</tr>
<tr>
<td>core_nt</td>
<td>GenBank+RefSeq+TPA+PDB（官方称 &#8220;Very large collection&#8221;）</td>
<td>245.8 GB</td>
<td><strong>316.2 GB</strong></td>
</tr>
<tr>
<td>GTDB v226</td>
<td>细菌 + 古菌（分箱流程常用）</td>
<td>500.9 GB</td>
<td><strong>644.0 GB</strong></td>
</tr>
</tbody>
</table>
<p><strong>这张表是售前最该拿出来的一页</strong>：从 7.5GB 到 644GB，同一款软件的内存差出 <strong>80 倍以上</strong>。所以配机前必须问清三件事：</p>
<ul>
<li><strong>要定到哪个层级</strong>——门/属够用（<code>Standard-16</code> 这类压缩档往往就够）还是要到种（<code>Standard</code>）甚至株（<code>GTDB</code>）？</li>
<li><strong>样本类型是什么</strong>——肠道/口腔用 <code>Standard</code> 通常够，<strong>土壤/水体/发酵样本含植物或原生动物成分时要用 <code>PlusPF</code>/<code>PlusPFP</code></strong>，否则目标类群不在库里，结果是&#8221;查不到&#8221;而不是&#8221;算错&#8221;；</li>
<li><strong>一次几个人同时跑</strong>——Kraken2 默认把库加载进<strong>每个进程自己的内存</strong>，<strong>3 个人同时跑 103GB 的库，内存就得按 300GB 往上准备</strong>（这一条是本项目工程口径，不是官方数值，但它是最容易翻车的地方）。</li>
</ul>
<p>另外三条<strong>官方写明的注意事项</strong>，建议直接写进方案：</p>
<table>
<thead>
<tr>
<th>官方原文</th>
<th>采购含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>*&#8221;we strongly suggest against using NFS storage to store the Kraken 2 database if at all possible.&#8221;*</td>
<td><strong>数据库放本地盘 / NVMe，不要放网络盘</strong></td>
</tr>
<tr>
<td>*&#8221;Users should be aware that database false positive errors occur in less than 1% of queries, and can be compensated for by use of confidence scoring thresholds.&#8221;*</td>
<td>不是&#8221;100% 准&#8221;；用 <code>--confidence</code> 阈值压制假阳性</td>
</tr>
<tr>
<td>*&#8221;If these programs are not installed on the local system and in the user&#8217;s PATH when trying to use <code>kraken2-build</code>, the database build will fail.&#8221;*（指 NCBI BLAST+ 的 <code>dustmasker</code>/<code>segmasker</code>）</td>
<td><strong>自建库前必须装 NCBI BLAST+</strong>，否则建库直接失败</td>
</tr>
</tbody>
</table>
<p>还要提醒一句：<strong>Kraken2 的输出是分类结果，相对丰度要靠配套的 Bracken 算</strong>（官方定位：*&#8221;estimate relative abundances within a specific sample from Kraken 2 classification results&#8221;*）。要出丰度表就必须一起装 Bracken，这不是可选项。做 16S 项目的客户则用官方特殊库（<code>--special greengenes / rdp / silva</code>），不必上全库。</p>
<h2>三、MetaPhlAn：走&#8221;轻量路线&#8221;的物种谱工具，数据库是它的全部重量</h2>
<p>如果课题组只要<strong>物种组成和相对丰度</strong>、样本量又大，MetaPhlAn（marker 基因法）往往比全库比对更合适——它不需要把每一条读段比到完整基因组库上。官方数据库体积如下（官方下载命令 <code>metaphlan --install</code>）：</p>
<table>
<thead>
<tr>
<th>数据库包</th>
<th>官方文件体积</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>mpa_vJan26_CHOCOPhlAnSGB_202605.tar</code></td>
<td><strong>5.6 GB</strong></td>
<td>当前最新（2026-08）</td>
</tr>
<tr>
<td><code>mpa_vJan25_CHOCOPhlAnSGB_202503.tar</code></td>
<td>4.8 GB</td>
<td>2025 版</td>
</tr>
<tr>
<td><code>mpa_vJun23_CHOCOPhlAnSGB_202403.tar</code></td>
<td>3.1 GB</td>
<td>—</td>
</tr>
<tr>
<td>玩具库（TOY）</td>
<td>1.3 MB</td>
<td>只用于测试环境</td>
</tr>
</tbody>
</table>
<blockquote>
<p>注意上表是<strong>压缩包</strong>体积，解压后的 BowTie2 索引通常更大，官方未在同一页给出解压体积。<strong>磁盘按&#8221;压缩包体积 × 2–3 倍&#8221;预留</strong>（这是我们的工程口径，不是官方数值），并且<strong>老版本库不要随手删</strong>——很多课题组需要复现一年前的分析口径。</p>
</blockquote>
<p><strong>售前含义</strong>：同样是&#8221;微生物组分析&#8221;，走 Kraken2 全库路线和走 MetaPhlAn 路线，<strong>内存档位差一个数量级</strong>。所以第一句话该问的不是&#8221;要不要显卡&#8221;，而是<strong>&#8220;你们要的是物种谱，还是要能定到株/要做组装分箱&#8221;</strong>。</p>
<h2>四、MEGAHIT 与 MetaBAT2：组装与分箱，官方没给数值，但给了&#8221;降资源&#8221;的开关</h2>
<p>这两个工具是&#8221;把菌拼出来&#8221;这一段的主力：MEGAHIT 拼 contig，MetaBAT2 把 contig 分箱成 MAG。它们的官方文档都<strong>没有给&#8221;内存 = X GB&#8221;的数值</strong>，所以我们从不编造公式，只把<strong>官方给出的开关</strong>列给客户——这些开关直接决定&#8221;同样的机器能不能跑完&#8221;。</p>
<p><strong>MEGAHIT（官方 README）</strong>：</p>
<table>
<thead>
<tr>
<th>开关</th>
<th>官方原文</th>
<th>用途</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>--kmin-1pass</code></td>
<td>*&#8221;if sequencing depth is low and too much memory used when build the graph of k_min&#8221;*</td>
<td><strong>低深度数据内存过高时降内存</strong></td>
</tr>
<tr>
<td><code>--presets meta-large</code></td>
<td>*&#8221;if the metagenome is complex (i.e., bio-diversity is high, for example soil metagenomes)&#8221;*</td>
<td><strong>土壤等复杂样本</strong>质量优先</td>
</tr>
<tr>
<td><code>--continue -o out</code></td>
<td>*&#8221;resume an interrupted job from <code>out</code>&#8220;*</td>
<td><strong>断点续跑</strong>（宏基因组组装动辄跑很久，这项几乎是刚需）</td>
</tr>
</tbody>
</table>
<p><strong>MetaBAT2（官方 README）</strong>的两条硬注意事项，属于&#8221;不按它做就一定出问题&#8221;：</p>
<ul>
<li>*&#8221;Be careful to have bams sorted first!&#8221;* —— <strong>送入的 BAM 必须先排序</strong>；</li>
<li>*&#8221;The conda version of MetaBAT has never been supported and is very out of date.&#8221;* —— <strong>不要用 conda 版交付</strong>（要按官方源码/发布包安装）。</li>
</ul>
<p>另外 MetaBAT2 的设计目标是<strong>免调参</strong>（*&#8221;requires virtually no parameter optimization&#8221;*），所以<strong>不存在&#8221;为了调参而加内存&#8221;的正当理由</strong>——这是客户常被误导的一点。</p>
<h2>五、CheckM2：官方给了 <code>--lowmem</code>，内存可以减半</h2>
<p>MAG 做完要评估质量（完整度/污染度），这一步用 CheckM2。它的官方 README 罕见地直接写了一个<strong>降内存开关</strong>：</p>
<blockquote>
<p>*&#8221;<strong>Low memory mode</strong> — If you are running CheckM2 on a device with limited RAM, you can use the <strong><code>--lowmem</code> option to reduce DIAMOND RAM use by half</strong> at the expense of longer runtime.&#8221;*</p>
</blockquote>
<p>→ <strong>官方口径：<code>--lowmem</code> 把 DIAMOND 的内存占用减半，代价是跑得久一些。</strong> 官方<strong>没有</strong>给&#8221;需要多少 GB&#8221;的绝对数值，所以正确做法是<strong>先按 <code>--threads</code>（官方示例 <code>--threads 30</code>）把速度拉起来，内存不足时用 <code>--lowmem</code> 兜底</strong>，而不是为了这一个步骤把整机内存顶格配满。</p>
<p>顺带两条官方耗时口径，可以直接答复&#8221;这软件重不重&#8221;：源码安装 *&#8221;no longer than 5-10 mins on an average computer&#8221;*；自检 <code>checkm2 testrun</code> *&#8221;should complete in &lt; 5 mins on an average desktop computer&#8221;* ——<strong>它是一个轻量步骤，不是配置瓶颈</strong>。</p>
<h2>六、内存到底按什么估？按&#8221;数据量&#8221;，不是按&#8221;微生物基因组大小&#8221;</h2>
<p>这是本篇最值钱的一段，也是客户最容易算错的地方。</p>
<p>宏基因组客户常说：&#8221;微生物基因组才几 Mb，我这机器不用多大吧？&#8221;——<strong>错的</strong>。看两个官方实测口径：</p>
<table>
<thead>
<tr>
<th>工具</th>
<th>官方口径</th>
<th>含义</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Flye / metaFlye</strong>（官方 benchmark 表）</td>
<td>HMP mock（PB meta，<strong>输入 7GB</strong>）→ 峰值 <strong>72GB</strong>；Zymo Even（ONT meta，<strong>输入 14GB</strong>）→ <strong>129GB</strong>；Sheep gut HiFi（<strong>输入 255GB</strong>）→ <strong>662GB</strong>，而组装产物只有 4.2 Gb</td>
<td>宏基因组组装的<strong>内存随输入数据量走，与物种基因组大小无关</strong></td>
</tr>
<tr>
<td><strong>NextDenovo</strong>（官方 FAQ 公式）</td>
<td>每个并行子任务 <strong>32–64GB</strong>；校正子任务 ≈ <strong><code>TOTAL_INPUT_BASES / 4</code> 字节</strong>；官方基准配置里人 CHM13（120X）<strong>排序一步就要 150GB</strong></td>
<td>内存按<strong>输入总碱基数</strong>算</td>
</tr>
</tbody>
</table>
<p>所以给宏基因组客户的内存口径应该是：</p>
<ul>
<li><strong>先问一路数据量</strong>（每个样本多少 GB、多少样本）；</li>
<li><strong>内存 ≈ 单次最大任务的数据量 × 倍数</strong>，并<strong>留出&#8221;并发任务叠加&#8221;的余量</strong>；</li>
<li>拿<strong>客户自己的真实数据实测一次峰值内存</strong>再定档（这一步我们会在装机后回填台账，而不是拍脑袋给数）。</li>
</ul>
<p>反过来，Kraken2 这一档的内存是<strong>确定可查的</strong>——直接按上面那张索引表选，是唯一能&#8221;报方案时就写死&#8221;的数字。</p>
<h2>七、交付前必须落实的四件事（都不在&#8221;买硬件&#8221;里）</h2>
<p>宏基因组是&#8221;数据库依赖&#8221;最重的一类分析，这四项不落实，机器再好也跑不起来：</p>
<table>
<thead>
<tr>
<th>#</th>
<th>前置条件</th>
<th>不落实的后果</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><strong>离线预置数据库</strong>：Kraken2 索引（含 <code>--max-db-size</code> 压缩档）、Bracken 配套库、MetaPhlAn 库、CheckM2 的 DIAMOND 数据库</td>
<td>实验室常无外网 → 流程跑到一半去下载，几 GB 到几百 GB 的库下不下来，直接中断</td>
</tr>
<tr>
<td>2</td>
<td><strong>安装 NCBI BLAST+（<code>dustmasker</code>/<code>segmasker</code>）</strong></td>
<td>官方明确：这两个程序不在 PATH 里，<strong><code>kraken2-build</code> 建库会直接失败</strong></td>
</tr>
<tr>
<td>3</td>
<td><strong>数据库与热数据落本地盘</strong>（官方不建议 NFS 存库）</td>
<td>大库在网络盘上随机读，速度与稳定性都不可控</td>
</tr>
<tr>
<td>4</td>
<td><strong>线程配额与中间目录规范</strong></td>
<td>多人同跑时互相抢核；中间文件写满系统盘，是&#8221;昨天还好好的，今天跑不了&#8221;的头号原因</td>
</tr>
</tbody>
</table>
<p>第 4 条的具体做法，可参考<a href="https://shanghaihaoquan.com/research-group-shared-gpu-server/">课题组共用一台服务器怎么设：账号、配额、监控</a>；存储分层口径见<a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">实验室服务器的存储怎么配</a>。</p>
<h2>八、按规模分档（可直接对照预算看）</h2>
<table>
<thead>
<tr>
<th>场景</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>GPU</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>单人 / 小样本集，<strong>只用压缩档索引</strong>（Standard-16 级）</td>
<td>16–32 核</td>
<td>64–128GB</td>
<td>4–8TB（含 1–2TB NVMe 热区）</td>
<td>不配</td>
<td>先把流程跑通；库选 15GB 档即可</td>
</tr>
<tr>
<td>常规课题组：<strong>Standard 全库</strong>（索引约 103GB）+ 组装分箱</td>
<td>32–64 核</td>
<td><strong>≥256GB</strong>（库 103GB + 并发与系统余量）</td>
<td>8–16TB + 独立 work 盘</td>
<td>不配</td>
<td><strong>别两个人同时开全库</strong>，或把内存按并发累加</td>
</tr>
<tr>
<td>大队列 / 多项目并行 / <strong>要定到株</strong>（GTDB 索引约 644GB）</td>
<td>64 核以上或多节点</td>
<td><strong>按索引档位单独定</strong>（644GB 档要 512GB–1TB 级）</td>
<td>共享存储 + 统一调度</td>
<td>不配（除非另有深度学习任务）</td>
<td>索引档位先定，再定内存</td>
</tr>
</tbody>
</table>
<p><strong>三条判断口径</strong>：</p>
<ul>
<li><strong>先定数据库档位，再定内存</strong>——这是本方向唯一&#8221;能算准&#8221;的部分；</li>
<li><strong>组装/分箱的内存按输入数据量估</strong>，并按&#8221;几个人同时跑&#8221;叠加；</li>
<li><strong>要不要 GPU，只看课题组有没有深度学习/结构预测任务</strong>，跟&#8221;宏基因组&#8221;本身无关。</li>
</ul>
<h2>九、五句可以直接写进方案的结论</h2>
<ul>
<li><strong>宏基因组分析流程不上显卡</strong>——分类、组装、分箱、质量评估都是 CPU + 内存 + 存储型任务；</li>
<li><strong>内存的第一变量是&#8221;数据库档位&#8221;</strong>：Kraken2 索引从 7.5GB 到 644GB 分档，采购前先问&#8221;要定到门属还是种株&#8221;；</li>
<li><strong>组装/分箱的内存按输入数据量估</strong>（官方实测：输入 255GB → 峰值 662GB），<strong>按物种基因组大小估一定不够</strong>；</li>
<li><strong>存储要按&#8221;多份数据库 + 原始数据 + 中间文件&#8221;一起算</strong>，Kraken2 建标准库一项就约 100GB，且数据库<strong>不放 NFS</strong>；</li>
<li><strong>离线数据库与 NCBI BLAST+ 属于交付项</strong>，不是&#8221;用户自己搞定&#8221;。</li>
</ul>
<h2>常见问题</h2>
<h3>做宏基因组分析要配显卡吗？</h3>
<p><strong>不需要。</strong> 这条流程的四个环节——物种分类（Kraken2/MetaPhlAn）、组装（MEGAHIT/metaFlye）、分箱（MetaBAT2）、质量评估（CheckM2）——官方资料里都没有把 GPU 作为运行条件，它们吃的是 <strong>CPU、内存和存储</strong>。只有课题组<strong>同时在做的</strong>深度学习类任务（例如蛋白结构预测、序列大模型）才需要显卡，那属于另一类需求，建议分开评估：<strong>只有宏基因组需求时，显卡预算应该省下来给内存和存储</strong>。</p>
<h3>Kraken2 到底要多大内存？</h3>
<p><strong>取决于你选哪档数据库</strong>。官方索引站的&#8221;索引大小&#8221;从 <code>Standard-16</code> 的约 <strong>15GB</strong>、<code>Standard</code> 的约 <strong>103GB</strong>，一直到 <code>GTDB</code> 的约 <strong>644GB</strong>。官方 MANUAL 的口径是&#8221;运行时要有足够空闲内存装下数据库（主要是哈希表）&#8221;，所以<strong>内存应不低于索引大小并留系统余量</strong>（这是我们加上了余量的工程口径，官方表列的是索引大小本身，不是运行时 RAM 的保证值）。另外两点要注意：<strong>同一时间几个人跑就要按几份库累加内存</strong>；内存实在不够可以用官方的 <code>--memory-mapping</code>，代价是变慢。</p>
<h3>我们的数据库能放在 NAS 上吗？</h3>
<p><strong>不建议。</strong> Kraken2 官方 MANUAL 明确写了 *&#8221;we strongly suggest against using NFS storage to store the Kraken 2 database if at all possible&#8221;*。大库在本地 NVMe/SSD 上，随机访问延迟低、稳定性好；放网络盘不仅慢，还会因为网络抖动或断连导致任务失败。<strong>做法是给数据库单独放一块本地盘</strong>（容量按最大档索引 + 建库峰值预留）。</p>
<h3>客户说&#8221;微生物基因组才几 Mb，机器不用配大&#8221;，怎么解释？</h3>
<p>这是把<strong>参考库/数据量</strong>和<strong>单个物种基因组大小</strong>搞混了。宏基因组组装的内存取决于<strong>输入测序数据量</strong>：Flye/metaFlye 的官方 benchmark 里，输入 7GB 数据峰值内存 72GB、输入 255GB 数据峰值 662GB——而组装产物（微生物基因组）只有几 Mb 到几 Gb；NextDenovo 的官方公式也是按<strong>输入总碱基数</strong>分配内存（校正子任务约需&#8221;总碱基数 / 4 字节&#8221;）。所以正确的口径是：<strong>内存按数据量估，不是按物种基因组大小估</strong>。</p>
<h3>CheckM2 是不是特别吃内存，要按它配机器？</h3>
<p><strong>不必。</strong> CheckM2 官方 README 直接提供了降内存开关：<code>--lowmem</code> 可把 DIAMOND 的内存占用<strong>减半</strong>，代价是运行时间变长；官方也没给出&#8221;需要多少 GB&#8221;的绝对值。它更接近一个&#8221;分钟—小时级&#8221;的轻量步骤（官方：源码安装 5–10 分钟、<code>checkm2 testrun</code> 自检 &lt; 5 分钟）。<strong>配置瓶颈在 Kraken2 的库和组装/分箱，不在 CheckM2</strong>，合理的做法是内存不足时先加 <code>--lowmem</code>，而不是为它顶格配内存。</p>
<h3>16S 扩增子项目也要配这么大的机器吗？</h3>
<p><strong>通常不用。</strong> 16S 项目做的是<strong>靶向</strong>分析，不需要全物种基因组库——Kraken2 官方提供了 16S 专用库（<code>--special greengenes / rdp / silva</code>），QIIME 2 与 DADA2 也走的是另一套流程（详见<a href="https://shanghaihaoquan.com/amplicon-16s-qiime2-server-configuration/">16S 扩增子分析的服务器怎么配</a>）。<strong>这是售前必须分清的第一件事</strong>：扩增子、宏基因组（鸟枪法）、宏转录组，三者的机器档位完全不同。</p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/genome-sequencing-server-configuration/">基因组测序流程的服务器怎么配？BWA、samtools、bcftools、Salmon 这四个工具都不吃显卡</a></li>
<li><a href="https://shanghaihaoquan.com/long-read-genome-assembly-server-configuration/">三代测序（长读长）基因组装服务器怎么配？官方 benchmark 表里内存从 2GB 到 699GB</a></li>
<li><a href="https://shanghaihaoquan.com/amplicon-16s-qiime2-server-configuration/">16S 扩增子分析的服务器怎么配？DADA2 官方给的参照是 16 核 / 64GB</a></li>
<li><a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">实验室服务器的存储怎么配？先分清&#8221;数据盘、工作盘和备份&#8221;</a></li>
<li><a href="https://shanghaihaoquan.com/server-cpu-core-count-guide/">服务器 CPU 核数越多越好吗？先看它在你的任务里扮演什么角色</a></li>
<li><a href="https://shanghaihaoquan.com/server-slow-should-i-add-gpus/">服务器 CPU 和显卡都跑满了还是很慢，再加一张卡有用吗</a></li>
</ul>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "做宏基因组分析要配显卡吗？", "acceptedAnswer": {"@type": "Answer", "text": "不需要。 这条流程的四个环节——物种分类（Kraken2/MetaPhlAn）、组装（MEGAHIT/metaFlye）、分箱（MetaBAT2）、质量评估（CheckM2）——官方资料里都没有把 GPU 作为运行条件，它们吃的是 CPU、内存和存储。只有课题组同时在做的深度学习类任务（例如蛋白结构预测、序列大模型）才需要显卡，那属于另一类需求，建议分开评估：只有宏基因组需求时，显卡预算应该省下来给内存和存储。"}}, {"@type": "Question", "name": "Kraken2 到底要多大内存？", "acceptedAnswer": {"@type": "Answer", "text": "取决于你选哪档数据库。官方索引站的\"索引大小\"从 Standard-16 的约 15GB、Standard 的约 103GB，一直到 GTDB 的约 644GB。官方 MANUAL 的口径是\"运行时要有足够空闲内存装下数据库（主要是哈希表）\"，所以内存应不低于索引大小并留系统余量（这是我们加上了余量的工程口径，官方表列的是索引大小本身，不是运行时 RAM 的保证值）。另外两点要注意：同一时间几个人跑就要按几份库累加内存；内存实在不够可以用官方的 --memory-mapping，代价是变慢。"}}, {"@type": "Question", "name": "我们的数据库能放在 NAS 上吗？", "acceptedAnswer": {"@type": "Answer", "text": "不建议。 Kraken2 官方 MANUAL 明确写了 *\"we strongly suggest against using NFS storage to store the Kraken 2 database if at all possible\"*。大库在本地 NVMe/SSD 上，随机访问延迟低、稳定性好；放网络盘不仅慢，还会因为网络抖动或断连导致任务失败。做法是给数据库单独放一块本地盘（容量按最大档索引 + 建库峰值预留）。"}}, {"@type": "Question", "name": "客户说\"微生物基因组才几 Mb，机器不用配大\"，怎么解释？", "acceptedAnswer": {"@type": "Answer", "text": "这是把参考库/数据量和单个物种基因组大小搞混了。宏基因组组装的内存取决于输入测序数据量：Flye/metaFlye 的官方 benchmark 里，输入 7GB 数据峰值内存 72GB、输入 255GB 数据峰值 662GB——而组装产物（微生物基因组）只有几 Mb 到几 Gb；NextDenovo 的官方公式也是按输入总碱基数分配内存（校正子任务约需\"总碱基数 / 4 字节\"）。所以正确的口径是：内存按数据量估，不是按物种基因组大小估。"}}, {"@type": "Question", "name": "CheckM2 是不是特别吃内存，要按它配机器？", "acceptedAnswer": {"@type": "Answer", "text": "不必。 CheckM2 官方 README 直接提供了降内存开关：--lowmem 可把 DIAMOND 的内存占用减半，代价是运行时间变长；官方也没给出\"需要多少 GB\"的绝对值。它更接近一个\"分钟—小时级\"的轻量步骤（官方：源码安装 5–10 分钟、checkm2 testrun 自检 &lt; 5 分钟）。配置瓶颈在 Kraken2 的库和组装/分箱，不在 CheckM2，合理的做法是内存不足时先加 --lowmem，而不是为它顶格配内存。"}}, {"@type": "Question", "name": "16S 扩增子项目也要配这么大的机器吗？", "acceptedAnswer": {"@type": "Answer", "text": "通常不用。 16S 项目做的是靶向分析，不需要全物种基因组库——Kraken2 官方提供了 16S 专用库（--special greengenes / rdp / silva），QIIME 2 与 DADA2 也走的是另一套流程（详见16S 扩增子分析的服务器怎么配）。这是售前必须分清的第一件事：扩增子、宏基因组（鸟枪法）、宏转录组，三者的机器档位完全不同。"}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/metagenomics-server-configuration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ORCA 服务器怎么配？客户常把它列进&#8221;GPU 加速软件&#8221;，但官方手册里没有 GPU 这一项</title>
		<link>https://shanghaihaoquan.com/orca-quantum-chemistry-server-configuration/</link>
					<comments>https://shanghaihaoquan.com/orca-quantum-chemistry-server-configuration/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Sat, 10 Oct 2026 08:37:07 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[CPU服务器]]></category>
		<category><![CDATA[DFT]]></category>
		<category><![CDATA[ORCA]]></category>
		<category><![CDATA[服务器选型]]></category>
		<category><![CDATA[计算化学]]></category>
		<category><![CDATA[量子化学服务器]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/orca-quantum-chemistry-server-configuration/</guid>

					<description><![CDATA[量子化学软件 ORCA 的配置思路：官方手册的 architecture / calling / typical / FAQ 章节检索不到 GPU，并行是 OpenMPI / MS-MPI 多进程，靠输入文件里的 PAL 或 %pal 指定进程数，官方明确"不要用 mpirun 启动 driver"。含许可与获取途径（学术免费、Linux 官方直下）、与 VASP/LAMMPS 混跑时的 CPU 核数核算口径、内存与 scratch 的实测方法。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：ORCA 是量子化学（DFT / 波函数方法）软件，它不吃显卡——官方主页与官方手册里都没有把 GPU 作为运行条件。它的真实需求是 CPU 核数与单核性能、以及按核数配套的内存，另外还要给输出与临时文件留一块够大、够快的盘。</strong></p>
<p>这是我们在这个方向最常需要&#8221;先纠正一句&#8221;的地方：客户在需求单里把 <strong>VASP、LAMMPS、ORCA 一起写成&#8221;GPU 加速软件&#8221;</strong>，于是显卡预算被平摊到 ORCA 上——<strong>而 ORCA 那一份显卡预算，花出去是用不上的</strong>。</p>
<p>三句话记住：</p>
<ul>
<li><strong>ORCA 是 CPU 程序</strong>：官方并行方案是 <strong>OpenMPI（Linux/macOS）/ MS-MPI（Windows）的多进程</strong>；</li>
<li><strong>并行要用它自己的语法</strong>：输入文件里写 <code>! PAL4</code> 或 <code>%pal nprocs 4 end</code>，官方明确<strong>&#8220;不要用 mpirun 启动 driver&#8221;</strong>；</li>
<li><strong>学术免费、商用要经 FACCTs</strong>；官方只提供 <strong>Linux 版直下</strong>，其它平台的版本要从官方论坛获取——<strong>交付前必须确认用途与获取途径</strong>。</li>
</ul>
<h2>一、先纠正一个最常见的误判：ORCA 用不上显卡</h2>
<p>判断依据不是&#8221;我们猜的&#8221;，而是<strong>在官方资料里检索的</strong>：</p>
<table>
<thead>
<tr>
<th>检查项</th>
<th>结果</th>
</tr>
</thead>
<tbody>
<tr>
<td>官方主页（FACCTs 的 ORCA 页）</td>
<td>介绍功能、许可、下载途径，<strong>未见 GPU 作为运行条件</strong></td>
</tr>
<tr>
<td>官方手册的 architecture / calling / typical / FAQ 章节</td>
<td>检索 <strong>&#8220;GPU&#8221; 命中 0 次</strong></td>
</tr>
<tr>
<td>官方并行说明</td>
<td>只有 <strong>OpenMPI / MS-MPI</strong> 两种 MPI 实现，属<strong>多进程 CPU 并行</strong></td>
</tr>
</tbody>
</table>
<p><strong>采购含义</strong>：ORCA 的工作量应该摊到&#8221;<strong>CPU 主频 + 核数 + 内存</strong>&#8220;上，而不是显卡。把 ORCA 列进 GPU 需求，直接后果就是&#8221;多买了卡、却还是要等 CPU 排队&#8221;。</p>
<blockquote>
<p>对比一下就很清楚：同一位客户常同时用的 <a href="https://shanghaihaoquan.com/vasp-gpu-server-configuration/">VASP</a> 有明确的 GPU 加速路径，而 <a href="https://shanghaihaoquan.com/lammps-server-configuration/">LAMMPS</a> 的 GPU 包也只覆盖部分计算样式——<strong>同一台机器上跑的不同软件，&#8221;要不要显卡&#8221;的答案可以完全不同</strong>。所以询价时一定要按软件逐个确认，不能按&#8221;方向&#8221;打包。</p>
</blockquote>
<h2>二、并行怎么启动：<code>! PAL4</code>，而且官方明确不能说 mpirun</h2>
<p>这是 ORCA 交付与售后最常见的踩坑点，官方原话值得逐字读：</p>
<table>
<thead>
<tr>
<th>项</th>
<th>官方口径</th>
</tr>
</thead>
<tbody>
<tr>
<td>并行实现</td>
<td><strong>OpenMPI（Linux / macOS）</strong>、<strong>Microsoft MPI（Windows）</strong>，<strong>只支持这两种</strong></td>
</tr>
<tr>
<td>并行覆盖范围</td>
<td>官方称 <strong>&#8220;all major modules are parallelized&#8221;</strong>（主要模块都支持并行）</td>
</tr>
<tr>
<td>如何开并行</td>
<td>输入文件里写 <strong><code>! PAL4</code></strong> 或 <strong><code>%pal nprocs 4 end</code></strong></td>
</tr>
<tr>
<td>谁启动进程</td>
<td><strong>由串行的 ORCA-Driver 内部启动</strong>并行模块</td>
</tr>
<tr>
<td><strong>官方警告</strong></td>
<td><strong>&#8220;please do not start the driver with mpirun!&#8221;</strong></td>
</tr>
<tr>
<td>调用方式</td>
<td>官方要求<strong>用完整路径调用</strong> ORCA，或把可执行文件目录加入 <code>$PATH</code></td>
</tr>
</tbody>
</table>
<p><strong>采购含义</strong>：这些是软件层的事，但它决定了&#8221;<strong>这台机器能不能把核用满</strong>&#8220;。如果课题组（或前任供应商）一直用 <code>mpirun orca</code> 启动，那么并行行为就不是官方支持的方式——<strong>机器再贵也跑不出预期速度</strong>，而且不会报&#8221;配置不够&#8221;的错，只会表现为&#8221;慢&#8221;。</p>
<h2>三、许可与获取途径：报价前就要问清</h2>
<table>
<thead>
<tr>
<th>项</th>
<th>官方口径</th>
<th>采购动作</th>
</tr>
</thead>
<tbody>
<tr>
<td>许可</td>
<td>官方原文：<strong>&#8220;free for academic use&#8221;</strong>，商用许可由 <strong>FACCTs</strong> 提供；另有 <strong>&#8220;free for academic and personal use&#8221;</strong> 的表述</td>
<td><strong>先问用途</strong>：学术 or 企业/商用。商用必须走 FACCTs 授权</td>
</tr>
<tr>
<td>下载</td>
<td><strong>Linux 版本从官方下载区直接获取</strong>；<strong>其它平台的版本需从官方论坛（orcaforum.kofo.mpg.de）获取</strong></td>
<td>交付前确认平台与获取途径，避免&#8221;机器到了、软件装不上&#8221;</td>
</tr>
<tr>
<td>用户规模</td>
<td>官方称学术圈<strong>超过 10 万注册用户</strong></td>
<td>说明生态成熟、资料多，但也意味着<strong>版本差异大</strong>（课题组用哪个版本要问清）</td>
</tr>
</tbody>
</table>
<h2>四、和 VASP / LAMMPS 混跑，真正的瓶颈是&#8221;抢 CPU&#8221;</h2>
<p>ORCA 与 VASP、LAMMPS 放在同一台机器上时，冲突点通常不是显卡、而是 <strong>CPU 核数</strong>：</p>
<pre><code>需要的总核数 ≈ 各并发任务数 × 单任务进程数</code></pre>
<ul>
<li>一位学生跑一个 <code>PAL16</code> 的 ORCA 任务，就是 16 个核；</li>
<li>同时另一个人在跑 VASP 的 MPI 任务，又占掉一批核；</li>
<li>结果两边都&#8221;变慢&#8221;，但<strong>谁都没报错</strong>——这类投诉最常见的真实原因就是<strong>没有把核数当资源来分配</strong>。</li>
</ul>
<p><strong>建议做法</strong>：要么<strong>错峰</strong>（约定哪些时段跑什么），要么<strong>明确分配核数</strong>（每人/每任务能拿多少核），要么<strong>分机</strong>（把纯 CPU 的量子化学任务与 GPU 任务放在不同平台上）。多人共用的配额与账号做法，可参考<a href="https://shanghaihaoquan.com/research-group-shared-gpu-server/">课题组共用一台服务器怎么设</a>。</p>
<h2>五、内存与存储：官方没给数值，只能按真实算例实测</h2>
<p>这是本方向采购必须诚实面对的一点：<strong>ORCA 官方页面与手册没有给出&#8221;最低内存 / 最低核数 / 磁盘需求&#8221;的数值</strong>。因此我们不引用任何&#8221;经验数字&#8221;，而是在方案里给出<strong>实测口径</strong>：</p>
<table>
<thead>
<tr>
<th>项</th>
<th>怎么定</th>
<th>为什么</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>内存</strong></td>
<td>按&#8221;<strong>每核内存配额 × 并行核数</strong>&#8220;估，并留余量</td>
<td>内存需求跟体系大小与并行核数直接相关；官方未给统一数值</td>
</tr>
<tr>
<td><strong>CPU</strong></td>
<td>按&#8221;<strong>并发任务数 × 单任务进程数</strong>&#8220;核算</td>
<td>ORCA 是 CPU 程序，核数就是产能</td>
</tr>
<tr>
<td><strong>存储（输出）</strong></td>
<td>按<strong>长任务的输出体积</strong>留容量</td>
<td>官方提到输出文件较大时需要先拷贝再编辑（暗示体积可观）</td>
</tr>
<tr>
<td><strong>存储（scratch / 临时）</strong></td>
<td><strong>单独一块盘，不与系统盘混用</strong></td>
<td>长任务写满盘 → 任务失败，甚至整机不可用</td>
</tr>
<tr>
<td><strong>网络 / 多机</strong></td>
<td>官方未提多节点并行的要求</td>
<td>不要默认&#8221;ORCA 必须上集群&#8221;</td>
</tr>
</tbody>
</table>
<p><strong>一句话</strong>：与其在参数上猜，不如<strong>让课题组用一个真实算例跑一次</strong>，把峰值内存、耗时、输出体积记下来——这三个数才是配置依据，也是我们后续调优的基线。同一条口径适用于<a href="https://shanghaihaoquan.com/materials-simulation-server-configuration/">材料与化工方向的服务器规划</a>：<strong>先有真算例，再谈配置</strong>。</p>
<h2>六、按规模分档（可按课题组真实算例核对）</h2>
<table>
<thead>
<tr>
<th>场景</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>GPU</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>单人 / 小体系（常规 DFT、几何优化、频率）</td>
<td>16–32 核（<strong>兼顾主频</strong>）</td>
<td>128–256GB</td>
<td>2–4TB + 独立 scratch</td>
<td>不配</td>
<td>小体系并行效率有限，不必盲目堆核</td>
</tr>
<tr>
<td>常规课题组（DLPNO / CCSD(T) 等高强度任务 + 多人共用）</td>
<td>32–64 核（高主频优先）</td>
<td>256–512GB</td>
<td>4–8TB + 高速 scratch</td>
<td>不配</td>
<td><strong>核数按&#8221;并发任务 × 进程数&#8221;分配</strong></td>
</tr>
<tr>
<td>多人多项目 / 与 VASP、LAMMPS 混跑</td>
<td>多节点或&#8221;高主频节点 + 大内存节点&#8221;分工</td>
<td>按单节点最大任务定</td>
<td>共享存储 + 统一调度</td>
<td>按其他软件单独评估</td>
<td>错峰、配额或分机</td>
</tr>
</tbody>
</table>
<p><strong>三条判断口径</strong>：</p>
<ul>
<li><strong>主频对 ORCA 很重要</strong>：很多模块的并行效率随核数增长而衰减，<strong>&#8220;少量高主频核&#8221;常优于&#8221;大量低主频核&#8221;</strong>；</li>
<li><strong>核数要按并发任务核算</strong>，不是按&#8221;总核数越大越好&#8221;；</li>
<li><strong>显卡这一项直接留空</strong>——除非同一台机器上还要跑别的、确实支持 GPU 的软件。</li>
</ul>
<h2>七、五句可以直接写进方案的结论</h2>
<ul>
<li><strong>ORCA 不使用 GPU</strong>：官方手册未将 GPU 列为运行条件，并行方案是 OpenMPI / MS-MPI 多进程；</li>
<li><strong>配置重点是 CPU（主频 + 核数）与内存</strong>，并按核数配套内存配额；</li>
<li><strong>并行要用 <code>! PAL4</code> / <code>%pal nprocs N end</code></strong>，<strong>不要用 <code>mpirun</code> 启动</strong>——这是交付与售后最常见的错误点；</li>
<li><strong>许可与获取途径先确认</strong>：学术免费、商用经 FACCTs；Linux 版官方直下，其它平台走官方论坛；</li>
<li><strong>输出与 scratch 要单独规划</strong>：长任务的输出体积可观，写满盘会直接导致任务失败。</li>
</ul>
<h2>常见问题</h2>
<h3>ORCA 需要配显卡吗？</h3>
<p><strong>通常不需要——我们把它归为 CPU 程序</strong>。依据是：在 ORCA 官方主页以及官方手册的 architecture / calling / typical / FAQ 章节中，<strong>检索 &#8220;GPU&#8221; 命中 0 次</strong>；官方给出的并行方案是 <strong>OpenMPI（Linux / macOS）或 MS-MPI（Windows）的多进程</strong>，并称主要模块都已并行化。因此把 ORCA 列进&#8221;GPU 加速软件&#8221;是常见误判，直接影响是显卡预算被平摊到用不上的地方。如果贵单位功能确实需要 GPU 相关能力，建议直接向官方分发方 <strong>FACCTs</strong> 书面确认。</p>
<h3>为什么不能用 mpirun 启动 ORCA？</h3>
<p>因为 ORCA 的并行机制是<strong>由串行的 ORCA-Driver 内部去启动各个并行模块</strong>，而不是由外部 MPI 启动器拉起。官方在并行章节里明确写道 <strong>&#8220;please do not start the driver with mpirun!&#8221;</strong>。正确做法是在输入文件里写 <code>! PAL4</code>（或 <code>%pal nprocs 4 end</code>）指定进程数，并<strong>用完整路径调用 ORCA</strong>（或把可执行文件目录加入 <code>$PATH</code>）。用错启动方式时通常不会立刻报错，而是出现并行不符合预期、速度上不去等现象，很容易被误判为&#8221;机器性能不够&#8221;。</p>
<h3>ORCA 是免费的吗？交付前要注意什么？</h3>
<p><strong>学术用途免费</strong>。官方原文写明 *&#8221;free for academic use, while commercial licenses are available through FACCTs&#8221;*，另有&#8221;学术与个人使用免费&#8221;的表述。交付前要确认三件事：① <strong>用途</strong>是学术还是商用（商用必须走 FACCTs 授权）；② <strong>平台与获取途径</strong>——官方只提供 <strong>Linux 版本的直接下载</strong>，其它平台版本需从官方论坛获取；③ <strong>版本号</strong>与课题组既有流程一致，避免结果口径变化。</p>
<h3>ORCA 和 VASP、LAMMPS 装在同一台机器上会互相影响吗？</h3>
<p>会，主要冲突在 <strong>CPU 核数</strong>，不在显卡。ORCA 是纯 CPU 的多进程负载，VASP、LAMMPS 的 MPI 任务同样要占核：当两边同时跑时，谁都不会报错，只是都变慢，使用者很容易误判为&#8221;机器不行&#8221;。建议按&#8221;<strong>需要的总核数 ≈ 各并发任务数 × 单任务进程数</strong>&#8220;核算，再选择错峰、核数配额，或者干脆分机（把 CPU 型量子化学任务与 GPU 任务分开）。此外，这些软件的<strong>输出与临时文件都很大</strong>，scratch 目录应各自独立、不与系统盘混用。</p>
<h3>官方没给内存和核数要求，配置单怎么定？</h3>
<p><strong>用一个真实算例实测</strong>。ORCA 官方页面与手册确实没有给出最低内存、核数或磁盘数值，所以我们不用任何&#8221;经验数字&#8221;充当结论，而是把流程定成：让课题组挑一个<strong>典型的、有代表性的算例</strong>（体系大小、方法、并行核数都按日常习惯），跑一次并记录三项——<strong>峰值内存占用、单任务耗时、输出与 scratch 体积</strong>。这三项分别对应内存容量、CPU 档位与存储规划，是最可靠的配置依据；这些数据也会写进交付文档，作为后续调优与扩机的基线。</p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/vasp-gpu-server-configuration/">VASP 服务器选型：显卡与 CPU 到底怎么分工</a></li>
<li><a href="https://shanghaihaoquan.com/lammps-server-configuration/">LAMMPS 服务器怎么配？先看哪些计算样式能用 GPU</a></li>
<li><a href="https://shanghaihaoquan.com/materials-simulation-server-configuration/">材料与化工课题组的服务器怎么规划？先有真算例再谈配置</a></li>
<li><a href="https://shanghaihaoquan.com/server-cpu-core-count-guide/">服务器 CPU 核数越多越好吗？先看它在你的任务里扮演什么角色</a></li>
<li><a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">实验室服务器的存储怎么配？先分清&#8221;数据盘、工作盘和备份&#8221;</a></li>
</ul>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "ORCA 需要配显卡吗？", "acceptedAnswer": {"@type": "Answer", "text": "通常不需要——我们把它归为 CPU 程序。依据是：在 ORCA 官方主页以及官方手册的 architecture / calling / typical / FAQ 章节中，检索 \"GPU\" 命中 0 次；官方给出的并行方案是 OpenMPI（Linux / macOS）或 MS-MPI（Windows）的多进程，并称主要模块都已并行化。因此把 ORCA 列进\"GPU 加速软件\"是常见误判，直接影响是显卡预算被平摊到用不上的地方。如果贵单位功能确实需要 GPU 相关能力，建议直接向官方分发方 FACCTs 书面确认。"}}, {"@type": "Question", "name": "为什么不能用 mpirun 启动 ORCA？", "acceptedAnswer": {"@type": "Answer", "text": "因为 ORCA 的并行机制是由串行的 ORCA-Driver 内部去启动各个并行模块，而不是由外部 MPI 启动器拉起。官方在并行章节里明确写道 \"please do not start the driver with mpirun!\"。正确做法是在输入文件里写 ! PAL4（或 %pal nprocs 4 end）指定进程数，并用完整路径调用 ORCA（或把可执行文件目录加入 $PATH）。用错启动方式时通常不会立刻报错，而是出现并行不符合预期、速度上不去等现象，很容易被误判为\"机器性能不够\"。"}}, {"@type": "Question", "name": "ORCA 是免费的吗？交付前要注意什么？", "acceptedAnswer": {"@type": "Answer", "text": "学术用途免费。官方原文写明 *\"free for academic use, while commercial licenses are available through FACCTs\"*，另有\"学术与个人使用免费\"的表述。交付前要确认三件事：① 用途是学术还是商用（商用必须走 FACCTs 授权）；② 平台与获取途径——官方只提供 Linux 版本的直接下载，其它平台版本需从官方论坛获取；③ 版本号与课题组既有流程一致，避免结果口径变化。"}}, {"@type": "Question", "name": "ORCA 和 VASP、LAMMPS 装在同一台机器上会互相影响吗？", "acceptedAnswer": {"@type": "Answer", "text": "会，主要冲突在 CPU 核数，不在显卡。ORCA 是纯 CPU 的多进程负载，VASP、LAMMPS 的 MPI 任务同样要占核：当两边同时跑时，谁都不会报错，只是都变慢，使用者很容易误判为\"机器不行\"。建议按\"需要的总核数 ≈ 各并发任务数 × 单任务进程数\"核算，再选择错峰、核数配额，或者干脆分机（把 CPU 型量子化学任务与 GPU 任务分开）。此外，这些软件的输出与临时文件都很大，scratch 目录应各自独立、不与系统盘混用。"}}, {"@type": "Question", "name": "官方没给内存和核数要求，配置单怎么定？", "acceptedAnswer": {"@type": "Answer", "text": "用一个真实算例实测。ORCA 官方页面与手册确实没有给出最低内存、核数或磁盘数值，所以我们不用任何\"经验数字\"充当结论，而是把流程定成：让课题组挑一个典型的、有代表性的算例（体系大小、方法、并行核数都按日常习惯），跑一次并记录三项——峰值内存占用、单任务耗时、输出与 scratch 体积。这三项分别对应内存容量、CPU 档位与存储规划，是最可靠的配置依据；这些数据也会写进交付文档，作为后续调优与扩机的基线。"}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/orca-quantum-chemistry-server-configuration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>脑电（EEG/MEG）实验室的服务器怎么配？MNE-Python 和 AFNI 都是&#8221;吃 CPU 和内存&#8221;的工具</title>
		<link>https://shanghaihaoquan.com/eeg-meg-analysis-server-configuration/</link>
					<comments>https://shanghaihaoquan.com/eeg-meg-analysis-server-configuration/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Sat, 10 Oct 2026 08:37:02 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[AFNI]]></category>
		<category><![CDATA[EEG]]></category>
		<category><![CDATA[MEG]]></category>
		<category><![CDATA[MNE-Python]]></category>
		<category><![CDATA[神经影像]]></category>
		<category><![CDATA[脑电服务器]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/eeg-meg-analysis-server-configuration/</guid>

					<description><![CDATA[EEG/MEG 与功能影像分析的配置重点：MNE-Python 常规分析不用 GPU，内存与 CPU 核数才是关键；AFNI 是纯 CPU 工具集，单被试流程偏单线程所以要兼顾单核性能；源定位还会牵出 FreeSurfer 一类结构影像依赖。含两个工具的硬件画像表、内存为什么被低估、队列分析的调度问题与三档配置思路。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：脑电（EEG）、脑磁（MEG）和功能影像这两类任务，主力工具是 MNE-Python 和 AFNI——它们常规跑起来都不需要显卡。配置的钱应该花在内存容量、CPU 核数与存储上。</strong></p>
<p>这个方向的误配同样集中，但和测序方向略有不同：</p>
<ul>
<li>一类课题组<strong>把&#8221; neuroscience 数据量大&#8221;直接等同于&#8221;要配显卡&#8221;</strong>，结果买回来的卡大部分时间闲置；</li>
<li>另一类<strong>只按文件体积估内存</strong>，交付后被投诉&#8221;一加载就卡&#8221;——因为这类数据<strong>载入内存后会明显膨胀</strong>；</li>
<li>最容易漏的是第三条：<strong>源定位会牵出结构影像处理</strong>（FreeSurfer 那一套），这一层依赖不提前算进去，流程会跑到一半断掉。</li>
</ul>
<p>三句话记住：</p>
<ul>
<li><strong>常规电生理分析以 CPU 与内存为主，不需要 GPU</strong>；只有用深度学习做解码/分类时才需要显卡；</li>
<li><strong>内存是这类任务的第一配置项</strong>，而且不能按文件大小估；</li>
<li><strong>&#8220;要不要做源定位&#8221;&#8221;要不要做队列分析&#8221;两个问题，分别决定存储/软件依赖与调度方案</strong>。</li>
</ul>
<h2>一、两个工具一张表：硬件画像</h2>
<table>
<thead>
<tr>
<th>工具</th>
<th>主要用途</th>
<th>GPU</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>最该注意的</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>MNE-Python</strong></td>
<td>EEG/MEG 读取、滤波、伪迹（ICA）、时频、源定位、解码</td>
<td>低（常规）/ 中（深度学习解码）</td>
<td><strong>极重要</strong>：ICA、时频、源定位按核数受益，部分步骤单线程</td>
<td><strong>高</strong>：长时程 + 高采样率 + 多通道，载入后占用显著</td>
<td>容量高 + IO 敏感（原始数据与中间结果）</td>
<td>源定位需要结构影像与配准支持</td>
</tr>
<tr>
<td><strong>AFNI</strong></td>
<td>功能影像预处理、单被试与组水平统计、可视化与质控</td>
<td>通常不需要（<strong>官方加速模块范围本次未核实</strong>）</td>
<td><strong>极重要</strong>：多线程工具按核数受益；<strong>单被试流程多为单线程 → 单核性能也重要</strong></td>
<td><strong>高</strong>：4D 时间序列与队列统计占用显著</td>
<td>容量 + IO（中间文件数倍于原始数据）</td>
<td>队列分析需要调度，否则只能一个个串着跑</td>
</tr>
</tbody>
</table>
<p>一句话概括：<strong>两张表里唯一可能需要显卡的场景，是&#8221;用深度学习做解码&#8221;</strong>——而且那属于&#8221;AI 任务&#8221;的预算，不该和日常分析混在一起。</p>
<h2>二、为什么内存最容易估错</h2>
<p>这类数据有两个反直觉的特征：</p>
<ul>
<li><strong>载入后比文件大</strong>：压缩存储的电生理/影像文件在读入内存、做滤波与变换时会展开，占用往往明显高于文件体积；</li>
<li><strong>&#8220;长记录 + 高采样率 + 多通道&#8221;是三重乘数</strong>：整夜记录、高采样率、上百通道同时存在时，内存需求会成倍上升。</li>
</ul>
<p><strong>正确做法</strong>：不要按&#8221;文件多大就配多大内存&#8221;，而要按<strong>&#8220;课题组最长/最大的那条记录，处理时同时载入几份&#8221;</strong>来估，并留出余量。同一口径我们写在<a href="https://shanghaihaoquan.com/server-memory-channel-configuration/">服务器内存通道怎么配</a>里——内存这件事既要看容量，也要看通道与带宽。</p>
<h2>三、CPU：既要核数，也要单核性能</h2>
<p>这是本方向与&#8221;纯并行任务&#8221;最大的区别：</p>
<table>
<thead>
<tr>
<th>环节</th>
<th>吃什么</th>
<th>采购含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>ICA、时频分析、源定位、多被试批处理</td>
<td><strong>核数</strong></td>
<td>核数越多，队列处理越快</td>
</tr>
<tr>
<td>单被试的许多预处理步骤</td>
<td><strong>单核性能（主频）</strong></td>
<td>单个任务不一定能铺满所有核，主频低会拖长每一步</td>
</tr>
</tbody>
</table>
<p>所以<strong>不要只看&#8221;多少核&#8221;</strong>：一个 64 核但主频很低的平台，跑这种&#8221;很多小步骤串起来&#8221;的流程，体验可能不如&#8221;核数中等 + 主频高&#8221;的平台。判断口径与<a href="https://shanghaihaoquan.com/server-cpu-core-count-guide/">服务器 CPU 核数越多越好吗</a>里讲的一致：<strong>先看任务是不是真的能并行</strong>。</p>
<h2>四、队列分析：没有调度，几十核只能用一两个</h2>
<p>AFNI 这类工具集在<strong>组水平分析</strong>时天然是&#8221;多被试、多条件&#8221;的批量任务；单被试流程又常常是单线程的。如果课题组<strong>没有队列调度</strong>（如 SLURM），常见现象是：</p>
<ul>
<li>学生手工一个被试一个被试地跑，<strong>几十核的机器实际只用到 1–2 核</strong>；</li>
<li>多人同时用时互相抢核，整体更慢，并且<strong>不会报错</strong>——只是慢。</li>
</ul>
<p>这与我们在<a href="https://shanghaihaoquan.com/neuroimaging-lab-server-configuration/">神经影像课题组服务器怎么配</a>里写的是同一条结论：<strong>调度是软件工作、不用买硬件，但它决定硬件能不能被真正用起来</strong>。</p>
<h2>五、源定位会牵出一整层依赖：结构影像处理</h2>
<p>MNE-Python 做<strong>源定位</strong>（把头皮上的信号映射回大脑皮层）时，通常需要<strong>结构核磁影像</strong>参与：重建头/脑模型、做配准。这条链路会牵出结构影像处理工具（FreeSurfer 一类），于是机器的需求清单会多出这些项：</p>
<table>
<thead>
<tr>
<th>依赖</th>
<th>对配置的影响</th>
</tr>
</thead>
<tbody>
<tr>
<td>结构影像重建</td>
<td>CPU 核数与单核性能（结构重建是典型的 CPU 长流程）</td>
</tr>
<tr>
<td>配准与中间文件</td>
<td>存储容量（中间文件会明显放大）</td>
</tr>
<tr>
<td>是否需要显卡</td>
<td><strong>通常不需要</strong>——FreeSurfer 官方明确&#8221;不推荐专门为它购买显卡&#8221;</td>
</tr>
</tbody>
</table>
<p>这正是我们在<a href="https://shanghaihaoquan.com/freesurfer-server-configuration/">《做脑影像分析要不要配显卡？》</a>里写过的结论。所以正确顺序是：<strong>先问课题组&#8221;做不做源定位&#8221;</strong>，再决定要不要把结构影像流程的 CPU、存储需求一并算进这台机器。若同时还要跑 fMRIPrep 这类流水线，其临时目录的占用可以到 121GB 量级（见<a href="https://shanghaihaoquan.com/fmriprep-server-requirements/">《fMRIPrep 跑一个被试要多大内存和硬盘？》</a>）。</p>
<h2>六、什么时候才该配显卡</h2>
<p>只有一种情况值得为这个方向配卡：<strong>课题组用深度学习做解码/分类</strong>（例如基于 MNE 生态接 PyTorch 训练 EEG 分类模型）。判断方法很简单：</p>
<table>
<thead>
<tr>
<th>问课题组</th>
<th>结论</th>
</tr>
</thead>
<tbody>
<tr>
<td>&#8220;你们的分析主要是统计和信号处理，还是自己训练深度模型？&#8221;</td>
<td>前者 → 不配显卡；后者 → 按模型规模配卡</td>
</tr>
<tr>
<td>&#8220;已经有 GPU 的机器在跑什么？&#8221;</td>
<td>若只在跑深度学习，日常分析不必抢 GPU</td>
</tr>
</tbody>
</table>
<p><strong>建议形态</strong>：日常分析放在 CPU 为主的平台上；确有深度学习任务的，<strong>另配一台单卡 GPU 机器</strong>（或与课题组的深度学习机器共用）。这比&#8221;买一台什么都干的大机器&#8221;更划算，也避免&#8221;GPU 有人占着、日常分析排不上&#8221;的情况。相关判断见<a href="https://shanghaihaoquan.com/lab-server-how-many-gpus/">课题组要买几张显卡</a>。</p>
<h2>七、按规模分档（可直接对照预算看）</h2>
<table>
<thead>
<tr>
<th>场景</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>GPU</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>单人 / 小样本（被试数 &lt;50）</td>
<td>16–24 核（兼顾主频）</td>
<td>64–128GB</td>
<td>2–4TB + work 盘</td>
<td>不配</td>
<td>先跑通流程；注意最长记录的载入占用</td>
</tr>
<tr>
<td>常规实验室（几十到上百被试，多条件）</td>
<td>32–64 核</td>
<td>128–256GB</td>
<td>4–8TB + 独立 work 盘</td>
<td>仅深度学习解码时配单卡</td>
<td><strong>必须配调度</strong>，否则核数用不起来</td>
</tr>
<tr>
<td>队列研究 / 多项目并行</td>
<td>64 核以上，或&#8221;高主频节点 + 计算节点&#8221;组合</td>
<td>256GB 以上</td>
<td>共享存储 + 备份</td>
<td>视深度学习需求</td>
<td>目录规范 + 任务排队 + 质控留痕</td>
</tr>
</tbody>
</table>
<p><strong>三条判断口径</strong>：</p>
<ul>
<li><strong>内存按&#8221;最长记录处理时的峰值 × 并发&#8221;估</strong>，不按文件大小；</li>
<li><strong>CPU 核数与主频都要看</strong>：批量任务吃核数，单被试流程吃主频；</li>
<li><strong>要不要显卡，只看有没有深度学习解码任务</strong>——源定位本身不需要显卡。</li>
</ul>
<h2>八、五句可以直接写进方案的结论</h2>
<ul>
<li><strong>常规 EEG/MEG 分析不使用 GPU</strong>——显卡只跟&#8221;深度学习解码&#8221;这一项挂钩；</li>
<li><strong>内存是第一配置项</strong>，且必须按载入后的峰值估，而不是按原始文件体积；</li>
<li><strong>CPU 要&#8221;核数 + 主频&#8221;兼顾</strong>：队列靠核数，单被试流程靠主频；</li>
<li><strong>队列分析必须配调度</strong>：没有排队机制时，高核数机器会被&#8221;手工一个一个跑&#8221;浪费掉；</li>
<li><strong>别忘了结构影像这一层</strong>：做源定位的课题组，通常要把结构影像处理（及对应存储）一并规划，而不是只算电生理数据。</li>
</ul>
<h2>常见问题</h2>
<h3>脑电（EEG/MEG）分析需要配显卡吗？</h3>
<p><strong>常规分析不需要</strong>。MNE-Python 的日常流程——读取、滤波、去伪迹（ICA）、时频分析、源定位——以 CPU 与内存为主；AFNI 的功能影像处理同样是 CPU 密集型。<strong>唯一需要显卡的场景是用深度学习做解码/分类</strong>（例如用 PyTorch 训练 EEG 分类模型），这属于&#8221;深度学习任务&#8221;的预算，不应该和日常分析混在一起。所以正确的问法是：&#8221;你们是自己训练模型，还是做统计与信号处理？&#8221;前者按模型规模配卡，后者可以不配显卡。</p>
<h3>为什么说脑电/影像分析的内存不能按文件大小估？</h3>
<p>因为数据<strong>载入内存后会被展开</strong>：压缩存储的文件在读取、滤波、变换、配准时占用会明显高于文件本身；而且&#8221;长时程记录 + 高采样率 + 多通道&#8221;是三重乘数，整夜、上百通道的数据同时载入时，内存需求会成倍上升。正确做法是按<strong>&#8220;课题组最长/最大的那条记录，处理时同时载入几份副本&#8221;</strong>来估峰值，并留出余量——同时留意内存通道与带宽，这才是&#8221;加载快不快&#8221;的另一半原因。</p>
<h3>已经买了 32 核，为什么学生还是说慢？</h3>
<p>常见原因是<strong>没有作业调度</strong>。这个方向的组水平分析天然是&#8221;多被试 × 多条件&#8221;的批量任务，而单被试的很多步骤又是单线程的：没有排队机制时，学生只能一个被试一个被试手工跑，32 核实际只用到 1–2 核，而且不会报错，只是慢。其次是<strong>单核性能</strong>问题——如果平台的核数很多但主频偏低，那些&#8221;串起来的长流程&#8221;会显得更慢。建议先按这两点排查，再考虑加硬件。</p>
<h3>做源定位要不要额外准备什么？</h3>
<p>需要。源定位通常要<strong>结构核磁影像</strong>参与：重建头/脑模型并做配准，这会把 FreeSurfer 一类的结构影像处理流程拉进来。对配置的影响是：<strong>CPU（核数与单核性能）与存储容量要一并规划</strong>，但<strong>不需要为它配显卡</strong>——FreeSurfer 官方明确&#8221;不推荐专门为 FreeSurfer 购买显卡&#8221;。如果课题组同时还要跑 fMRIPrep 这类流水线，还要单独为临时目录准备空间（官方实测单数据集可以到 121GB 量级）。</p>
<h3>电生理和功能影像能不能共用一台机器？</h3>
<p>可以，而且通常是推荐做法：<strong>两者都不需要显卡、都以 CPU 与内存为主</strong>，共用一台机器能提高利用率。需要提前约定的是三件事：① 队列任务的<strong>排队与配额</strong>（否则互相抢核）；② <strong>中间文件目录分开</strong>（电生理与影像流程的临时文件都很大）；③ 若课题组另有深度学习任务，<strong>单独评估是否需要一台带显卡的机器</strong>，不要让 GPU 占用挤掉日常分析。</p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/freesurfer-server-configuration/">做脑影像分析要不要配显卡？FreeSurfer 官方：不建议为它买显卡</a></li>
<li><a href="https://shanghaihaoquan.com/neuroimaging-lab-server-configuration/">神经影像课题组的服务器怎么配？先分清哪些软件吃显卡、哪些只吃 CPU</a></li>
<li><a href="https://shanghaihaoquan.com/server-memory-channel-configuration/">服务器内存通道怎么配？为什么插满比插几根更重要</a></li>
<li><a href="https://shanghaihaoquan.com/server-cpu-core-count-guide/">服务器 CPU 核数越多越好吗？先看它在你的任务里扮演什么角色</a></li>
<li><a href="https://shanghaihaoquan.com/lab-server-how-many-gpus/">课题组 12 个人，服务器要买几张显卡？</a></li>
</ul>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "脑电（EEG/MEG）分析需要配显卡吗？", "acceptedAnswer": {"@type": "Answer", "text": "常规分析不需要。MNE-Python 的日常流程——读取、滤波、去伪迹（ICA）、时频分析、源定位——以 CPU 与内存为主；AFNI 的功能影像处理同样是 CPU 密集型。唯一需要显卡的场景是用深度学习做解码/分类（例如用 PyTorch 训练 EEG 分类模型），这属于\"深度学习任务\"的预算，不应该和日常分析混在一起。所以正确的问法是：\"你们是自己训练模型，还是做统计与信号处理？\"前者按模型规模配卡，后者可以不配显卡。"}}, {"@type": "Question", "name": "为什么说脑电/影像分析的内存不能按文件大小估？", "acceptedAnswer": {"@type": "Answer", "text": "因为数据载入内存后会被展开：压缩存储的文件在读取、滤波、变换、配准时占用会明显高于文件本身；而且\"长时程记录 + 高采样率 + 多通道\"是三重乘数，整夜、上百通道的数据同时载入时，内存需求会成倍上升。正确做法是按\"课题组最长/最大的那条记录，处理时同时载入几份副本\"来估峰值，并留出余量——同时留意内存通道与带宽，这才是\"加载快不快\"的另一半原因。"}}, {"@type": "Question", "name": "已经买了 32 核，为什么学生还是说慢？", "acceptedAnswer": {"@type": "Answer", "text": "常见原因是没有作业调度。这个方向的组水平分析天然是\"多被试 × 多条件\"的批量任务，而单被试的很多步骤又是单线程的：没有排队机制时，学生只能一个被试一个被试手工跑，32 核实际只用到 1–2 核，而且不会报错，只是慢。其次是单核性能问题——如果平台的核数很多但主频偏低，那些\"串起来的长流程\"会显得更慢。建议先按这两点排查，再考虑加硬件。"}}, {"@type": "Question", "name": "做源定位要不要额外准备什么？", "acceptedAnswer": {"@type": "Answer", "text": "需要。源定位通常要结构核磁影像参与：重建头/脑模型并做配准，这会把 FreeSurfer 一类的结构影像处理流程拉进来。对配置的影响是：CPU（核数与单核性能）与存储容量要一并规划，但不需要为它配显卡——FreeSurfer 官方明确\"不推荐专门为 FreeSurfer 购买显卡\"。如果课题组同时还要跑 fMRIPrep 这类流水线，还要单独为临时目录准备空间（官方实测单数据集可以到 121GB 量级）。"}}, {"@type": "Question", "name": "电生理和功能影像能不能共用一台机器？", "acceptedAnswer": {"@type": "Answer", "text": "可以，而且通常是推荐做法：两者都不需要显卡、都以 CPU 与内存为主，共用一台机器能提高利用率。需要提前约定的是三件事：① 队列任务的排队与配额（否则互相抢核）；② 中间文件目录分开（电生理与影像流程的临时文件都很大）；③ 若课题组另有深度学习任务，单独评估是否需要一台带显卡的机器，不要让 GPU 占用挤掉日常分析。"}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/eeg-meg-analysis-server-configuration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>基因组测序流程的服务器怎么配？BWA、samtools、bcftools、Salmon 这四个工具都不吃显卡</title>
		<link>https://shanghaihaoquan.com/genome-sequencing-server-configuration/</link>
					<comments>https://shanghaihaoquan.com/genome-sequencing-server-configuration/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Sat, 10 Oct 2026 08:36:56 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[bcftools]]></category>
		<category><![CDATA[BWA]]></category>
		<category><![CDATA[Salmon]]></category>
		<category><![CDATA[samtools]]></category>
		<category><![CDATA[测序服务器]]></category>
		<category><![CDATA[生信服务器]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/genome-sequencing-server-configuration/</guid>

					<description><![CDATA[从测序读段到变异结果这条流水线怎么配机器：BWA 是多线程 CPU 程序、samtools 的瓶颈几乎总在磁盘 IO 与压缩解压、bcftools 在大队列合并时内存明显上升、Salmon 比全比对流程更省内存与存储。含四个工具的硬件画像表、存储按倍数估算的口径、注释库离线预置等交付前置条件，以及三档配置思路。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：从测序读段到变异结果，主力工具是 BWA（比对）、samtools（比对文件处理）、bcftools（变异文件处理）和 Salmon（转录组定量）——这四个工具都不使用显卡。钱应该花在 CPU 核数、内存容量，以及存储的容量与读写速度上。</strong></p>
<p>这个方向的误配非常集中：<strong>只要课题组标题里带&#8221;测序&#8221;&#8221;生信&#8221;&#8221;组学&#8221;，就容易被按&#8221;深度学习任务&#8221;配成多卡 GPU 服务器</strong>，而实际上整条流程里一张卡也用不上；反过来，把预算全压在 GPU 上之后，<strong>存储容量和读写速度反而成了真正的瓶颈</strong>，流程天天卡在写 BAM、写中间文件上。</p>
<p>三句话先记住：</p>
<ul>
<li><strong>全流程不吃显卡</strong>：BWA、samtools、bcftools、Salmon 的定位都是 CPU / IO 型工具，GPU 预算留给真正需要的方向（深度学习、结构预测）；</li>
<li><strong>存储是主角</strong>：比对产生的 BAM 通常显著大于原始测序数据，且需要长期保留——<strong>只按原始数据体积买硬盘是常见错误</strong>；</li>
<li><strong>决定配置档位的不是&#8221;用哪个软件&#8221;，而是&#8221;走哪条流程路线&#8221;</strong>：要不要保留比对结果（STAR 还是 Salmon）、要不要做大队列 VCF 合并——这两个决策直接改变内存与存储的配置档位。</li>
</ul>
<h2>一、四个工具一张表：硬件画像</h2>
<table>
<thead>
<tr>
<th>工具</th>
<th>在流程里的位置</th>
<th>GPU</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>最该注意的</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>BWA（含 BWA-MEM）</strong></td>
<td>DNA 读段比对到参考基因组（建索引 + 比对）</td>
<td>不需要</td>
<td><strong>极重要</strong>（多线程，核数决定通量）</td>
<td>中—高</td>
<td><strong>容量 + IO</strong>（BAM 输出很大）</td>
<td>比对是要读参考、写 BAM 的 IO 密集任务</td>
</tr>
<tr>
<td><strong>samtools</strong></td>
<td>比对文件排序 / 去重 / 索引 / 切片 / 格式转换</td>
<td>不需要</td>
<td>重要（排序与压缩可按线程加速）</td>
<td>中</td>
<td><strong>IO 极敏感 + 容量高</strong></td>
<td>瓶颈几乎总在磁盘 IO 与压缩解压</td>
</tr>
<tr>
<td><strong>bcftools</strong></td>
<td>VCF/BCF 变异文件合并 / 过滤 / 注释 / 统计</td>
<td>不需要</td>
<td>重要（部分操作多线程）</td>
<td><strong>中—高</strong>（大样本合并明显上升）</td>
<td>容量 + IO</td>
<td>注释库要离线预置</td>
</tr>
<tr>
<td><strong>Salmon</strong></td>
<td>RNA-seq 转录本定量（不需生成完整比对结果）</td>
<td>不需要</td>
<td>极重要（多线程定量）</td>
<td>中—高（低于全比对流程）</td>
<td>容量中等、<strong>IO 敏感</strong></td>
<td>与 STAR 二选一，直接决定内存与存储档位</td>
</tr>
</tbody>
</table>
<p>一句话概括这张表：<strong>四个格子里的 GPU 全是&#8221;不需要&#8221;</strong>。</p>
<h2>二、为什么这类任务&#8221;吃存储&#8221;吃得这么厉害</h2>
<p>这是本方向最容易被低估、也最容易在交付后被投诉的一项。原因有三个：</p>
<ul>
<li><strong>BAM 是&#8221;再生成一遍原始数据&#8221;</strong>：BWA 的产物是比对结果文件，体积通常显著大于原始测序数据（具体倍数随物种、测序深度、比对参数变化，<strong>官方未给统一系数 → 须按课题组实际数据实测</strong>）；</li>
<li><strong>中间文件会层层叠加</strong>：排序、去重、索引、格式转换每一步都会产生新文件，处理完往往不能立刻删；</li>
<li><strong>数据往往要&#8221;长期保留&#8221;</strong>：测序数据是经费买来的原始资产，多数课题组不允许删。</li>
</ul>
<p>因此规划存储时的正确口径是<strong>&#8220;原始数据 × 倍数&#8221;</strong>，并且<strong>给 work / 中间目录单独留盘</strong>，而不是按原始数据的体积直接买。这一点和我们之前写的<a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">实验室服务器的存储配置</a>是同一套逻辑。</p>
<h2>三、samtools：这类工具&#8221;换硬盘&#8221;常比&#8221;换 CPU&#8221;更有效</h2>
<p>samtools 是排序、索引、格式转换用的基础小工具，几乎每个测序流程都会调用它。它的特征非常明确：</p>
<ul>
<li><strong>瓶颈几乎总是磁盘 IO + 压缩/解压的 CPU 开销</strong>，而不是内存容量；</li>
<li>排序与压缩/解压支持多线程，但<strong>多用户同时跑时一定要限制线程数</strong>，否则互相拖慢（这是最常见的&#8221;服务器变慢&#8221;投诉来源）；</li>
<li>CRAM 这类压缩格式是&#8221;用 CPU 换存储&#8221;的取舍，选之前要清楚代价。</li>
</ul>
<p><strong>采购含义</strong>：如果课题组反馈&#8221;流程卡在这一步很慢&#8221;，优先改善存储介质（NVMe / 更快的 SSD 与更高带宽）通常比加 CPU 更明显。这也是我们在<a href="https://shanghaihaoquan.com/server-slow-should-i-add-gpus/">服务器卡顿该不该加显卡</a>里讲的同一个诊断顺序：<strong>先分清瓶颈在 CPU、IO 还是显卡</strong>，再花钱。</p>
<h2>四、bcftools：平时很轻，做&#8221;大队列合并&#8221;时内存会明显上升</h2>
<p>bcftools 处理的是 VCF/BCF 变异文件，日常的过滤、统计、格式转换需求不大；<strong>真正要预留资源的是&#8221;多队列/多批次样本合并&#8221;</strong>——这类操作的内存占用会随样本数明显上升。</p>
<p>另外有一项<strong>经常在交付阶段才被发现</strong>的前置条件：</p>
<table>
<thead>
<tr>
<th>前置条件</th>
<th>不处理的后果</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>变异注释数据库（如 dbSNP 等）需要在服务器本地可用</strong></td>
<td>实验室服务器通常不出外网 → 注释步骤中途失败，或注释结果版本不一致</td>
</tr>
<tr>
<td><strong>数据库版本需与流程/文献口径一致</strong></td>
<td>同一批数据在不同时间跑出不同注释结果</td>
</tr>
</tbody>
</table>
<p>所以我们的做法是：<strong>在方案里就把&#8221;离线预置注释库&#8221;写成交付项</strong>，先把数据库下好、版本对齐、路径固定，再交付。</p>
<h2>五、Salmon 还是 STAR？这一问直接改变内存与存储档位</h2>
<p>这是本方向<strong>最值钱的一个售前问题</strong>，因为它把同样的数据量指向了完全不同档位的机器：</p>
<table>
<thead>
<tr>
<th>路线</th>
<th>产物</th>
<th>内存压力</th>
<th>存储压力</th>
<th>适用</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Salmon</strong>（选择性比对定量）</td>
<td>转录本丰度结果</td>
<td><strong>较低</strong></td>
<td><strong>较小</strong>（不产生完整比对文件）</td>
<td>只要&#8221;基因/转录本表达量&#8221;</td>
</tr>
<tr>
<td><strong>STAR 等全比对流程</strong></td>
<td>BAM 等比对结果</td>
<td><strong>高</strong>（人类基因组建索引一项就要按几十 GB 级别准备缓存，并留余量）</td>
<td><strong>高</strong>（比对文件体积大且需保留）</td>
<td>下游还需要比对结果（如可变剪接、IGV 查看、部分变异流程）</td>
</tr>
</tbody>
</table>
<blockquote>
<p>关于 STAR 建索引的内存口径，我们在<a href="https://shanghaihaoquan.com/star-genomegenerate-out-of-memory/">《STAR 建索引跑到一半被系统杀掉？》</a>里引用过官方作者给出的量级——<strong>人类基因组约 32GB 量级并要留余量</strong>，被系统 OOM 杀掉往往不是&#8221;机器慢&#8221;，而是内存不够。</p>
</blockquote>
<p><strong>结论</strong>：报价前一定要问一句&#8221;<strong>你们下游需要 BAM 吗</strong>&#8220;。答案不同，内存和存储的配置档位要差一档——按 STAR 配给只用 Salmon 的课题组，就是白花钱。</p>
<h2>六、交付前必须落实的三件事（都在&#8221;买机器&#8221;之外）</h2>
<table>
<thead>
<tr>
<th>#</th>
<th>前置条件</th>
<th>不落实的后果</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><strong>参考基因组 / 转录组索引与注释库的离线预置</strong></td>
<td>实验室服务器常无法访问外网，流程跑到一半去下载参考文件 → 直接中断，或几个人下了不同版本</td>
</tr>
<tr>
<td>2</td>
<td><strong>线程数配额</strong></td>
<td>多人共用一台机器而不限制线程，等于互相抢核，谁都跑不快</td>
</tr>
<tr>
<td>3</td>
<td><strong>中间文件目录与清理策略</strong></td>
<td>临时文件写满系统盘，是最常见的&#8221;昨天还好好的，今天跑不了&#8221;</td>
</tr>
</tbody>
</table>
<p>这三项都是软件层的配置工作，<strong>不需要额外买硬件</strong>，但直接决定机器好不好用。多人共用的账号与配额做法，可参考<a href="https://shanghaihaoquan.com/research-group-shared-gpu-server/">课题组共用一台服务器怎么设</a>。</p>
<h2>七、按规模分档（可直接对照预算看）</h2>
<table>
<thead>
<tr>
<th>场景</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>GPU</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>单人 / 少量样本（几十个样本级）</td>
<td>16–32 核</td>
<td>64–128GB</td>
<td>4–8TB（其中 1–2TB NVMe 做热区）</td>
<td>不配</td>
<td>单机即可，先把流程跑通</td>
</tr>
<tr>
<td>常规课题组（几百个样本 / 多样本并行）</td>
<td>32–64 核</td>
<td>128–256GB</td>
<td>8–16TB + 独立 work 盘</td>
<td>不配</td>
<td><strong>线程配额 + 中间目录规范</strong></td>
</tr>
<tr>
<td>大队列 / 多项目并行</td>
<td>64 核以上或多节点</td>
<td>256GB 以上</td>
<td>共享存储 + 统一调度</td>
<td>不配（除非另有深度学习任务）</td>
<td>任务排队、目录规范、数据分层</td>
</tr>
</tbody>
</table>
<p><strong>三条判断口径</strong>（比&#8221;经验值&#8221;靠谱）：</p>
<ul>
<li><strong>并发任务数决定核数与内存</strong>，不是&#8221;人数&#8221;——同时跑 3 个比对就要按 3 个任务算；</li>
<li><strong>存储按&#8221;原始数据 × 倍数&#8221;估</strong>，并给 work 目录单独留盘；</li>
<li><strong>要不要 GPU，只看课题组有没有深度学习/结构预测这类任务</strong>，跟&#8221;测序&#8221;本身无关。</li>
</ul>
<h2>八、五句可以直接写进方案的结论</h2>
<ul>
<li><strong>本方向的比对、定量、变异处理流程不使用 GPU</strong>——显卡预算应优先留给深度学习类需求；</li>
<li><strong>配置重点是 CPU 核数、内存容量与存储的容量 + 读写速度</strong>，三者的排列顺序取决于流程路线；</li>
<li><strong>存储按倍数估算</strong>：比对结果与中间文件通常显著大于原始测序数据，且需长期保留；</li>
<li><strong>&#8220;要不要 BAM&#8221;决定内存与存储档位</strong>：Salmon 路线明显轻于全比对路线，采购前必须确认；</li>
<li><strong>离线资源要预置</strong>：参考基因组索引、注释数据库、线程配额与中间目录策略，属于交付项而非&#8221;用户自己搞定&#8221;。</li>
</ul>
<h2>常见问题</h2>
<h3>做基因组测序分析一定要配显卡吗？</h3>
<p><strong>不需要</strong>。BWA（比对）、samtools（比对文件处理）、bcftools（变异文件处理）、Salmon（转录组定量）这四个主力工具的资源需求都集中在 CPU、内存与存储上，官方资料里没有把 GPU 作为运行条件。真正需要显卡的是<strong>流程之外</strong>的任务，例如课题组同时在做的深度学习模型训练、蛋白结构预测等。正确做法是<strong>把&#8221;测序流程&#8221;和&#8221;深度学习任务&#8221;分开评估</strong>：如果只有前者，显卡预算应该省下来；如果两者都有，才按 GPU 需求配卡，并把 CPU、内存留给流程。</p>
<h3>为什么说&#8221;只按原始测序数据买硬盘&#8221;是错的？</h3>
<p>因为流程会产生比原始数据更大的文件。比对产生的 BAM 文件通常显著大于原始测序数据，并且还要保留索引、去重后文件、中间结果；这些文件在处理完成前不能删、完成后课题组往往也不允许删（属经费产出的原始资产）。所以容量应该按&#8221;原始数据 × 倍数&#8221;来估，倍数随物种、测序深度与流程参数变化，<strong>没有官方统一系数，必须按课题组实际数据实测</strong>。同时建议把<strong>中间文件目录单独放在一块盘</strong>上，避免写满系统盘。</p>
<h3>已经配了 64 核，为什么流程还是慢？</h3>
<p>大概率不是 CPU 不够，而是这两件事之一：<strong>一是存储</strong>——samtools 这类工具的瓶颈几乎总在磁盘 IO 与压缩解压，升级存储介质往往比继续堆核数有效；<strong>二是并发没管</strong>——多人共用时不限制线程数，会互相抢核。建议按&#8221;先看瓶颈在哪&#8221;的顺序排查：任务管理器中 CPU 是否真的跑满、磁盘占用率是否接近饱和、以及同一时间有几任务在跑。相关口径我们写在<a href="https://shanghaihaoquan.com/server-slow-should-i-add-gpus/">服务器 CPU 和显卡都跑满了还是很慢，再加一张卡有用吗</a>里。</p>
<h3>Salmon 和 STAR 该怎么选，影响机器配置吗？</h3>
<p><strong>影响很大</strong>。Salmon 直接从读段估计转录本丰度、不需要生成完整比对结果，因此内存与存储压力都更小；而以 STAR 为代表的全比对流程会产出 BAM 等比对文件，内存与存储需求明显更高（例如 STAR 建索引一项，人类基因组就要按几十 GB 量级的内存做准备，见我们此前的<a href="https://shanghaihaoquan.com/star-genomegenerate-out-of-memory/">STAR 内存报错解析</a>）。所以采购前必须先确认下游<strong>是否需要比对结果</strong>：只需要表达量的课题组，按轻路线配；需要 BAM 的（可变剪接、IGV 查看、部分变异流程），按重路线配。</p>
<h3>实验室服务器不能上外网，会影响测序流程吗？</h3>
<p>会，而且这是交付阶段最常被忽略的问题。测序流程需要两类外部资源：<strong>参考基因组 / 转录组索引</strong>和<strong>变异注释数据库</strong>（如 dbSNP 等）。内网无外网的实验室，必须在交付前把这两类资源离线预置好，并保证<strong>版本与整个课题组的口径一致</strong>——否则流程会中途失败，或者同一批数据在不同时间跑出不同注释结果。我们在方案里会把&#8221;离线预置参考与注释库&#8221;写成交付项，用户不需要自己找。</p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/single-cell-sequencing-server-configuration/">单细胞测序分析服务器怎么配？内存是第一配置项，GPU 往往不需要</a></li>
<li><a href="https://shanghaihaoquan.com/star-genomegenerate-out-of-memory/">STAR 建索引跑到一半被系统杀掉？不是慢，是内存不够</a></li>
<li><a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">实验室服务器的存储怎么配？先分清&#8221;数据盘、工作盘和备份&#8221;</a></li>
<li><a href="https://shanghaihaoquan.com/server-cpu-core-count-guide/">服务器 CPU 核数越多越好吗？先看它在你的任务里扮演什么角色</a></li>
<li><a href="https://shanghaihaoquan.com/research-group-shared-gpu-server/">课题组共用一台服务器：账号、配额、监控怎么设</a></li>
<li><a href="https://shanghaihaoquan.com/metagenomics-server-configuration/">宏基因组测序分析的服务器怎么配？内存是天花板，显卡基本用不上</a></li>
<li><a href="https://shanghaihaoquan.com/long-read-genome-assembly-server-configuration/">三代测序（长读长）基因组装服务器怎么配？官方 benchmark 表里，内存从 2GB 到 699GB</a></li>
<li><a href="https://shanghaihaoquan.com/amplicon-16s-qiime2-server-configuration/">16S 扩增子分析的服务器怎么配？DADA2 官方给的参照是 16 核 / 64GB</a></li>
</ul>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "做基因组测序分析一定要配显卡吗？", "acceptedAnswer": {"@type": "Answer", "text": "不需要。BWA（比对）、samtools（比对文件处理）、bcftools（变异文件处理）、Salmon（转录组定量）这四个主力工具的资源需求都集中在 CPU、内存与存储上，官方资料里没有把 GPU 作为运行条件。真正需要显卡的是流程之外的任务，例如课题组同时在做的深度学习模型训练、蛋白结构预测等。正确做法是把\"测序流程\"和\"深度学习任务\"分开评估：如果只有前者，显卡预算应该省下来；如果两者都有，才按 GPU 需求配卡，并把 CPU、内存留给流程。"}}, {"@type": "Question", "name": "为什么说\"只按原始测序数据买硬盘\"是错的？", "acceptedAnswer": {"@type": "Answer", "text": "因为流程会产生比原始数据更大的文件。比对产生的 BAM 文件通常显著大于原始测序数据，并且还要保留索引、去重后文件、中间结果；这些文件在处理完成前不能删、完成后课题组往往也不允许删（属经费产出的原始资产）。所以容量应该按\"原始数据 × 倍数\"来估，倍数随物种、测序深度与流程参数变化，没有官方统一系数，必须按课题组实际数据实测。同时建议把中间文件目录单独放在一块盘上，避免写满系统盘。"}}, {"@type": "Question", "name": "已经配了 64 核，为什么流程还是慢？", "acceptedAnswer": {"@type": "Answer", "text": "大概率不是 CPU 不够，而是这两件事之一：一是存储——samtools 这类工具的瓶颈几乎总在磁盘 IO 与压缩解压，升级存储介质往往比继续堆核数有效；二是并发没管——多人共用时不限制线程数，会互相抢核。建议按\"先看瓶颈在哪\"的顺序排查：任务管理器中 CPU 是否真的跑满、磁盘占用率是否接近饱和、以及同一时间有几任务在跑。相关口径我们写在服务器 CPU 和显卡都跑满了还是很慢，再加一张卡有用吗里。"}}, {"@type": "Question", "name": "Salmon 和 STAR 该怎么选，影响机器配置吗？", "acceptedAnswer": {"@type": "Answer", "text": "影响很大。Salmon 直接从读段估计转录本丰度、不需要生成完整比对结果，因此内存与存储压力都更小；而以 STAR 为代表的全比对流程会产出 BAM 等比对文件，内存与存储需求明显更高（例如 STAR 建索引一项，人类基因组就要按几十 GB 量级的内存做准备，见我们此前的STAR 内存报错解析）。所以采购前必须先确认下游是否需要比对结果：只需要表达量的课题组，按轻路线配；需要 BAM 的（可变剪接、IGV 查看、部分变异流程），按重路线配。"}}, {"@type": "Question", "name": "实验室服务器不能上外网，会影响测序流程吗？", "acceptedAnswer": {"@type": "Answer", "text": "会，而且这是交付阶段最常被忽略的问题。测序流程需要两类外部资源：参考基因组 / 转录组索引和变异注释数据库（如 dbSNP 等）。内网无外网的实验室，必须在交付前把这两类资源离线预置好，并保证版本与整个课题组的口径一致——否则流程会中途失败，或者同一批数据在不同时间跑出不同注释结果。我们在方案里会把\"离线预置参考与注释库\"写成交付项，用户不需要自己找。"}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/genome-sequencing-server-configuration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>神经影像课题组的服务器怎么配？先分清哪些软件吃显卡、哪些只吃 CPU</title>
		<link>https://shanghaihaoquan.com/neuroimaging-lab-server-configuration/</link>
					<comments>https://shanghaihaoquan.com/neuroimaging-lab-server-configuration/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Thu, 08 Oct 2026 07:43:09 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[FreeSurfer]]></category>
		<category><![CDATA[FSL]]></category>
		<category><![CDATA[SPM]]></category>
		<category><![CDATA[服务器选型]]></category>
		<category><![CDATA[神经影像服务器]]></category>
		<category><![CDATA[脑影像]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/neuroimaging-lab-server-configuration/</guid>

					<description><![CDATA[脑影像（MRI/DTI/EEG）课题组的服务器配置思路：FreeSurfer 官方明确不推荐买显卡、fMRIPrep 官方基准机无 GPU；但 FSL 有 4 个官方 GPU 加速工具，且 FEAT/TBSS 等属于"集群感知"工具——不配调度会静默串行。含各软件硬件画像表、前置条件（FreeSurfer 许可 / MATLAB 路径 / 仅 WSL）与配置分档。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：神经影像方向的钱，八成该花在 CPU 核数、内存容量和存储上；显卡只在一种特定场景下才值得考虑。</strong></p>
<p>这个方向的配置争论通常来自两个方向的误解：一种把脑影像当成&#8221;深度学习任务&#8221;直接上多卡 GPU；另一种反过来，一律说&#8221;脑影像不用显卡&#8221;——<strong>后者在做弥散（DTI/纤维追踪）的课题组里其实是错的</strong>。</p>
<p>三句话记住：</p>
<ul>
<li><strong>主力流程是 CPU 型</strong>：FreeSurfer 官方明确&#8221;不推荐专门为它买显卡&#8221;，fMRIPrep 官方基准机<strong>没有 GPU</strong>；</li>
<li><strong>唯一值得配显卡的场景</strong>：做<strong>弥散类</strong>分析（FSL 官方提供 <code>bedpostx_gpu</code>、<code>eddy</code>、<code>probtrackx2_gpu</code>、<code>mmorf</code> 四个 GPU 工具，门槛只要 NVIDIA + CUDA 计算能力 ≥3.5，且<strong>不需要装 CUDA 工具包</strong>，单卡即可）；</li>
<li><strong>最容易白花钱的一项</strong>：<strong>买了 64 核却没配作业调度</strong>——FSL 官方点名 FEAT / TBSS / BEDPOSTX / FSLVBM / POSSUM 是&#8221;集群感知&#8221;工具，<strong>没有集群时脚本会静默地串联运行</strong>。</li>
</ul>
<h2>一、先给这个方向的软件画一张&#8221;硬件画像&#8221;表</h2>
<table>
<thead>
<tr>
<th>软件</th>
<th>主要用途</th>
<th>GPU</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>关键前置条件</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>FreeSurfer</strong></td>
<td>结构像皮层重建、皮层厚度/体积</td>
<td><strong>不需要</strong>（官方明确不推荐买卡）</td>
<td>极高（核数优先，须支持 AVX）</td>
<td>高（每并发被试 4GB）</td>
<td>中（每被试 300–400MB）</td>
<td>—</td>
</tr>
<tr>
<td><strong>fMRIPrep</strong></td>
<td>功能像标准化预处理流水线</td>
<td><strong>不需要</strong></td>
<td>极高（<code>--nprocs</code> 控制）</td>
<td>极高（<code>--mem</code> 必须显式设）</td>
<td><strong>极高</strong>（临时目录实测可达 121GB）</td>
<td><strong>FreeSurfer 许可</strong> + 容器镜像</td>
</tr>
<tr>
<td><strong>FSL</strong></td>
<td>结构/功能/弥散分析与统计</td>
<td><strong>结构统计类不需要；弥散类有 4 个官方 GPU 工具</strong></td>
<td>极高（单核性能 + 核数并重）</td>
<td>高</td>
<td>高（中间文件数倍于原始数据）</td>
<td>Linux(Intel)/macOS；<strong>Windows 仅 WSL</strong>；<strong>建议配 SLURM</strong></td>
</tr>
<tr>
<td><strong>SPM</strong></td>
<td>影像统计参数映射（GLM/组分析）</td>
<td>通常不需要</td>
<td>重要（并行取决于授权）</td>
<td>高（大队列组分析）</td>
<td>高</td>
<td><strong>四种安装方式</strong>：MATLAB / Standalone / Octave / 容器</td>
</tr>
<tr>
<td><strong>AFNI / 其他影像工具</strong></td>
<td>功能影像分析与处理</td>
<td>不需要</td>
<td>重要</td>
<td>中—高</td>
<td>中—高</td>
<td>环境依赖较多，建议容器化</td>
</tr>
<tr>
<td><strong>MNE-Python（EEG/MEG）</strong></td>
<td>脑电/脑磁分析</td>
<td>不需要</td>
<td>重要（多核受益）</td>
<td>中—高</td>
<td>中</td>
<td>Python 环境</td>
</tr>
</tbody>
</table>
<p>一句话概括这张表：<strong>除弥散类之外，几乎所有格子里的 GPU 都是&#8221;不需要&#8221;</strong>。</p>
<h2>二、唯一该考虑显卡的场景：弥散影像</h2>
<p>FSL 官方安装文档里给了 4 个 GPU 加速工具——这是&#8221;脑影像完全不用显卡&#8221;这句话的例外：</p>
<table>
<thead>
<tr>
<th>项</th>
<th>官方口径</th>
</tr>
</thead>
<tbody>
<tr>
<td>GPU 工具</td>
<td><strong><code>bedpostx_gpu</code>、<code>eddy</code>、<code>probtrackx2_gpu</code>、<code>mmorf</code></strong></td>
</tr>
<tr>
<td>硬件门槛</td>
<td><strong>兼容 CUDA 的 NVIDIA 显卡，CUDA 计算能力 ≥ 3.5</strong>（自 FSL 6.0.7.17 起基于 CUDA 11.0）</td>
</tr>
<tr>
<td>要不要装 CUDA 工具包</td>
<td><strong>不需要</strong>（静态链接）</td>
</tr>
<tr>
<td>卡数</td>
<td><strong>单卡即可</strong>，官方未要求多卡</td>
</tr>
<tr>
<td>加速比</td>
<td>官方未给数值 → 需实测</td>
</tr>
</tbody>
</table>
<p><strong>采购含义</strong>：如果课题组做 <strong>DTI / FDT / TBSS / 纤维追踪</strong>，配一块中端 NVIDIA 卡是合理的；反之，如果只做<strong>结构像、皮层重建、功能像统计</strong>，显卡就是纯浪费——因为主流程是 CPU 的，而上述 4 个工具一个都用不上。</p>
<h2>三、比显卡更容易白花钱的：调度没配</h2>
<p>这是这个方向最&#8221;隐蔽&#8221;的一个坑，官方原话值得逐字读：</p>
<blockquote>
<p>FSL 官方安装页：<strong>FEAT / TBSS / BEDPOSTX / FSLVBM / POSSUM 都是&#8221;集群感知&#8221;工具</strong>，支持 <strong>SLURM 或 SGE</strong>，官方<strong>强烈建议使用 SLURM</strong>；而<strong>&#8220;没有集群时脚本会静默地串联运行&#8221;</strong>。</p>
</blockquote>
<p>也就是说：<strong>没有调度时，几百个被试只能一个接一个跑，64 核只能用到 1 核</strong>——用户看到的只是&#8221;跑得很慢&#8221;，完全不会报错，很容易误判为机器性能不行。</p>
<p><strong>配置顺序因此应当是</strong>：核数 → 内存 → 存储 → <strong>调度</strong>。调度是软件层面的工作（SLURM 免费），但它决定前三个硬件能不能被真正用起来。</p>
<h2>四、软件前置条件：买机器之前就该确认的三件事</h2>
<table>
<thead>
<tr>
<th>#</th>
<th>前置条件</th>
<th>不确认的后果</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<h2>五、按课题组规模分档（可直接拿去对照预算）</h2>
<table>
<thead>
<tr>
<th>场景</th>
<th>CPU</th>
<th>内存</th>
<th>存储</th>
<th>GPU</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>单人 / 小队列（&lt;50 被试）</td>
<td>16–24 核</td>
<td>64GB</td>
<td>2–4TB</td>
<td>不配</td>
<td>单机即可，注意 AVX</td>
</tr>
<tr>
<td>常规影像课题组（100–500 被试）</td>
<td>32–64 核</td>
<td>128–256GB</td>
<td>4–8TB + workdir 2TB</td>
<td>仅弥散方向配单卡</td>
<td><strong>必须配调度</strong></td>
</tr>
<tr>
<td>队列研究 / 多项目并行</td>
<td>64 核以上或多节点</td>
<td>256GB+</td>
<td>共享存储</td>
<td>视流程</td>
<td>流程编排 + 目录规范</td>
</tr>
</tbody>
</table>
<p><strong>三条判断口径</strong>（比&#8221;经验值&#8221;靠谱）：</p>
<ul>
<li><strong>并发被试数决定核数与内存</strong>：FreeSurfer 官方给的是&#8221;1 被试 = 1 核 + 4GB&#8221;；fMRIPrep 官方给的是 <code>--mem</code> 手工划定；</li>
<li><strong>存储按&#8221;中间文件倍数&#8221;估</strong>：官方基准里 fMRIPrep 的临时目录是输出的 20 倍以上，FSL 流程的中间文件常为数倍；</li>
<li><strong>要不要显卡，只取决于有没有弥散任务</strong>。</li>
</ul>
<h2>六、五句可以直接写进方案的结论</h2>
<ul>
<li><strong>不需要 GPU</strong>（本方向最常见的误配）——除非做弥散类；</li>
<li><strong>CPU 要&#8221;核数 + 单核性能&#8221;兼顾</strong>：单被试流程多为单线程，队列并行靠核数；</li>
<li><strong>内存按&#8221;并发被试数&#8221;规划</strong>，而不是按单被试；</li>
<li><strong>存储按倍数估算</strong>：中间文件与派生结果通常数倍于原始影像；</li>
<li><strong>软件前置条件容易漏</strong>：fMRIPrep 需 FreeSurfer 许可；SPM 需先确认走哪条安装路径；FSL 在 Windows 上只能走 WSL。</li>
</ul>
<h2>常见问题</h2>
<h3>神经影像分析到底要不要配显卡？</h3>
<p><strong>分两种场景</strong>：①<strong>结构像 / 皮层重建 / 功能像预处理与统计</strong>（FreeSurfer、fMRIPrep、SPM、FSL 的 BET/FAST/FEAT/randomise 等）→ <strong>不需要显卡</strong>，FreeSurfer 官方明确&#8221;不推荐专门为 FreeSurfer 购买 GPU 卡&#8221;，fMRIPrep 官方基准机的配置里也没有 GPU；②<strong>弥散类大规模处理</strong>（DTI/纤维追踪）→ FSL 官方提供 <code>bedpostx_gpu</code>、<code>eddy</code>、<code>probtrackx2_gpu</code>、<code>mmorf</code> 四个 GPU 工具，<strong>一块中端 NVIDIA 卡就能用</strong>（门槛是 CUDA 计算能力 ≥3.5，且不需要安装 CUDA 工具包）。所以正确做法是<strong>先问课题组做不做弥散</strong>。</p>
<h3>为什么说&#8221;配了高核数却没配调度&#8221;是浪费？</h3>
<p>因为 FSL 官方把 <strong>FEAT / TBSS / BEDPOSTX / FSLVBM / POSSUM</strong> 明确列为&#8221;集群感知&#8221;工具，并写明<strong>&#8220;没有集群时脚本会静默地串联运行&#8221;</strong>——意思是：<strong>没有 SLURM/SGE 时，这些工具会把几百个被试一个一个顺序跑</strong>，机器里 32 核、64 核只用得上 1 个，而且<strong>不报错</strong>，用户只会觉得&#8221;慢&#8221;。官方还特别说明新建集群推荐使用 <strong>SLURM</strong>。所以交付时配一层调度，是让硬件不浪费的关键一步，而且它是软件工作、不需要额外买硬件。</p>
<h3>SPM 一定要买 MATLAB 授权吗？</h3>
<p><strong>不一定——这是最容易被误判的一项</strong>。官方安装文档列了四种方式：<strong>MATLAB（官方推荐）</strong>、<strong>Standalone（预编译版）</strong>、<strong>Octave</strong>、<strong>Containers</strong>，其中官方原文写明后几种是 <strong>&#8220;do not require a MATLAB license&#8221;</strong> 的替代方案。所以正确顺序是<strong>先问课题组准备走哪条路径</strong>，而不是直接判&#8221;没有 MATLAB 授权就交付不了&#8221;。真正需要注意的是：如果走 MATLAB 路线并希望真正用上多核并行，还需要对应的并行计算工具箱授权，否则核数再多也用不上。</p>
<h3>FSL 在 Windows 上能装吗？</h3>
<p><strong>不能原生安装</strong>。FSL 官方支持的平台是 <strong>Linux（Intel）与 macOS（Intel 及 Apple Silicon）</strong>，<strong>Windows 仅支持通过 WSL 运行</strong>。这对交付是有实际影响的：如果课题组日常用 Windows 电脑，要么按 WSL 方案准备（并把数据盘挂在合适的位置），要么直接配 Linux 服务器。另外 FSL 的文档站已整体改版（旧 wiki 迁到 <code>/fsl/oldwiki/</code>），查资料时别照着旧链接找。</p>
<h3>存储到底按多少估才算稳妥？</h3>
<p>建议用&#8221;<strong>原始影像 × 倍数</strong>&#8220;的口径，并且<strong>把预处理流水线的临时目录单独规划</strong>：</p>
<ul>
<li><strong>原始数据</strong>：按课题组的历史数据量与每人每年新增量估；</li>
<li><strong>中间文件</strong>：FSL 等流程的中间结果常为原始数据数倍；<strong>fMRIPrep 的 workdir 官方实测单数据集可达 121GB / 15.7 万个文件</strong>，要单独给一块盘并配清理策略；</li>
<li><strong>输出结果</strong>：单被试输出往往不大（例如 FreeSurfer 官方给的是 300–400MB/被试），但会随被试数累积。</li>
</ul>
<p>一句话：<strong>按被试数乘倍数、给 workdir 单独留盘，别只按原始影像体积买硬盘。</strong></p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/freesurfer-server-configuration/">做脑影像分析要不要配显卡？FreeSurfer 官方：不建议为它买显卡</a></li>
<li><a href="https://shanghaihaoquan.com/fmriprep-server-requirements/">fMRIPrep 跑一个被试要多大内存和硬盘？官方实测：临时目录能到 121GB</a></li>
<li><a href="https://shanghaihaoquan.com/lab-server-how-many-gpus/">课题组 12 个人，服务器要买几张显卡？</a></li>
<li><a href="https://shanghaihaoquan.com/server-slow-should-i-add-gpus/">服务器 CPU 和显卡都跑满了还是很慢，再加一张卡有用吗？</a></li>
<li><a href="https://shanghaihaoquan.com/server-cpu-core-count-guide/">服务器 CPU 核数越多越好吗？先看它在你的任务里扮演什么角色</a></li>
<li><a href="https://shanghaihaoquan.com/eeg-meg-analysis-server-configuration/">脑电（EEG/MEG）实验室的服务器怎么配？MNE-Python 和 AFNI 都是&#8221;吃 CPU 和内存&#8221;的工具</a></li>
<li><a href="https://shanghaihaoquan.com/amplicon-16s-qiime2-server-configuration/">16S 扩增子分析的服务器怎么配？DADA2 官方给的参照是 16 核 / 64GB</a></li>
</ul>
<p>| 1 | <strong>FreeSurfer 许可</strong>（fMRIPrep 官方依赖它） | 流水线跑到一半失败 |</p>
<p>| 2 | <strong>SPM 走哪条安装路径</strong> | 官方提供四种方式：MATLAB（推荐）/ <strong>Standalone</strong> / <strong>Octave</strong> / <strong>Containers</strong>——<strong>后三种不需要 MATLAB 许可</strong>，别默认就得买授权 |</p>
<table>
<thead>
<tr>
<th>3</th>
<th><strong>平台与系统</strong></th>
<th><strong>FSL 没有原生 Windows 版，只能走 WSL</strong>；SPM 官方支持 Windows/macOS/Linux；把&#8221;客户想在 Windows 上跑 FSL&#8221;当成理所当然，交付当天会卡住</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<blockquote>
<p>另外提醒一句版本问题：<strong>SPM12（2012 年发布）已被官方列入&#8221;不再支持&#8221;的旧版本</strong>，官方建议用最新版（当前采用日期式版本号，文档站显示 25.01.02）。客户说&#8221;我们用 SPM12&#8243;时，值得提醒一次。</p>
</blockquote>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "神经影像分析到底要不要配显卡？", "acceptedAnswer": {"@type": "Answer", "text": "分两种场景：①结构像 / 皮层重建 / 功能像预处理与统计（FreeSurfer、fMRIPrep、SPM、FSL 的 BET/FAST/FEAT/randomise 等）→ 不需要显卡，FreeSurfer 官方明确\"不推荐专门为 FreeSurfer 购买 GPU 卡\"，fMRIPrep 官方基准机的配置里也没有 GPU；②弥散类大规模处理（DTI/纤维追踪）→ FSL 官方提供 bedpostx_gpu、eddy、probtrackx2_gpu、mmorf 四个 GPU 工具，一块中端 NVIDIA 卡就能用（门槛是 CUDA 计算能力 ≥3.5，且不需要安装 CUDA 工具包）。所以正确做法是先问课题组做不做弥散。"}}, {"@type": "Question", "name": "为什么说\"配了高核数却没配调度\"是浪费？", "acceptedAnswer": {"@type": "Answer", "text": "因为 FSL 官方把 FEAT / TBSS / BEDPOSTX / FSLVBM / POSSUM 明确列为\"集群感知\"工具，并写明\"没有集群时脚本会静默地串联运行\"——意思是：没有 SLURM/SGE 时，这些工具会把几百个被试一个一个顺序跑，机器里 32 核、64 核只用得上 1 个，而且不报错，用户只会觉得\"慢\"。官方还特别说明新建集群推荐使用 SLURM。所以交付时配一层调度，是让硬件不浪费的关键一步，而且它是软件工作、不需要额外买硬件。"}}, {"@type": "Question", "name": "SPM 一定要买 MATLAB 授权吗？", "acceptedAnswer": {"@type": "Answer", "text": "不一定——这是最容易被误判的一项。官方安装文档列了四种方式：MATLAB（官方推荐）、Standalone（预编译版）、Octave、Containers，其中官方原文写明后几种是 \"do not require a MATLAB license\" 的替代方案。所以正确顺序是先问课题组准备走哪条路径，而不是直接判\"没有 MATLAB 授权就交付不了\"。真正需要注意的是：如果走 MATLAB 路线并希望真正用上多核并行，还需要对应的并行计算工具箱授权，否则核数再多也用不上。"}}, {"@type": "Question", "name": "FSL 在 Windows 上能装吗？", "acceptedAnswer": {"@type": "Answer", "text": "不能原生安装。FSL 官方支持的平台是 Linux（Intel）与 macOS（Intel 及 Apple Silicon），Windows 仅支持通过 WSL 运行。这对交付是有实际影响的：如果课题组日常用 Windows 电脑，要么按 WSL 方案准备（并把数据盘挂在合适的位置），要么直接配 Linux 服务器。另外 FSL 的文档站已整体改版（旧 wiki 迁到 /fsl/oldwiki/），查资料时别照着旧链接找。"}}, {"@type": "Question", "name": "存储到底按多少估才算稳妥？", "acceptedAnswer": {"@type": "Answer", "text": "建议用\"原始影像 × 倍数\"的口径，并且把预处理流水线的临时目录单独规划："}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/neuroimaging-lab-server-configuration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>fMRIPrep 跑一个被试要多大内存和硬盘？官方实测：临时目录能到 121GB</title>
		<link>https://shanghaihaoquan.com/fmriprep-server-requirements/</link>
					<comments>https://shanghaihaoquan.com/fmriprep-server-requirements/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Thu, 08 Oct 2026 07:43:06 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[fMRI]]></category>
		<category><![CDATA[fMRIPrep]]></category>
		<category><![CDATA[存储规划]]></category>
		<category><![CDATA[数据处理]]></category>
		<category><![CDATA[服务器内存]]></category>
		<category><![CDATA[神经影像服务器]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/fmriprep-server-requirements/</guid>

					<description><![CDATA[fMRIPrep 配置怎么定：官方基准机是 20 核 + 64GiB + 无 GPU；官方实测数据集 B 单次运行 4h25m、临时目录 121GB / 15.7 万个文件，而最终输出只有 5.1GB。本文拆解官方基准表，讲清 --nprocs / --omp-nthreads / --mem / --low-mem 该怎么设，并给出按队列规模的配置分档与交付清单。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：fMRIPrep 最容易被算错的不是内存，是硬盘。</strong> 官方自己的基准测试里，处理一个数据集时<strong>临时工作目录写到了 121GB、15.7 万个文件</strong>，而<strong>最终输出只有 5.1GB</strong>。</p>
<p>三句话记住：</p>
<ul>
<li><strong>它不用显卡</strong>：官方基准机的配置是 <strong>i9-10900（20 核）+ 64GiB + NVMe 2TB，没有任何 GPU</strong>；</li>
<li><strong>临时目录是真正的空间杀手</strong>：官方实测单数据集 <strong>121GB / 157K 个文件</strong>，跑之前必须先规划 workdir 和清理策略；</li>
<li><strong>内存与并发必须手动划定</strong>：官方提供了 <code>--nprocs</code>、<code>--omp-nthreads</code>、<code>--mem</code>、<code>--low-mem</code> 四个资源参数——<strong>不设，就可能被系统杀掉或者慢得离谱</strong>。</li>
</ul>
<h2>一、先看官方基准：它跑得多慢、占多少盘</h2>
<p>来源：fMRIPrep 官方仓库的 <code>docs/benchmarks.rst</code>。官方给出的参考机器（原文逐字）：<strong>Intel i9-10900 @ 2.80GHz（20 核）｜内存 64GiB｜存储 PC801 NVMe 2TB｜Ubuntu 22.04｜容器方式运行</strong>。</p>
<table>
<thead>
<tr>
<th>数据集</th>
<th>版本 / 模式</th>
<th>运行时间</th>
<th>临时目录体积</th>
<th>文件数</th>
<th>输出体积</th>
</tr>
</thead>
<tbody>
<tr>
<td>A（6 T1w / 3 T2w / 2 PhaseDiff / 4 SE-BOLD，784 体积）</td>
<td>23.1.4</td>
<td><strong>2h24m</strong></td>
<td><strong>54.8GB</strong></td>
<td>36.8K</td>
<td>2.30GB</td>
</tr>
<tr>
<td>A</td>
<td>23.2.0a2 / fit</td>
<td>1h35m</td>
<td>2.91GB</td>
<td>5.89K</td>
<td>602MB</td>
</tr>
<tr>
<td>A</td>
<td>23.2.0a2 / fit + transform</td>
<td>1h47m</td>
<td>19.8GB</td>
<td>10.0K</td>
<td>6.37GB</td>
</tr>
<tr>
<td>B（2 T1w / 6 PEPolar fieldmaps / 8 SE-BOLD，4274 体积）</td>
<td>23.1.4</td>
<td><strong>4h25m</strong></td>
<td><strong>121GB</strong></td>
<td><strong>157K</strong></td>
<td>5.10GB</td>
</tr>
<tr>
<td>B</td>
<td>23.2.0a2 / fit</td>
<td>1h29m</td>
<td>1.88GB</td>
<td>12.0K</td>
<td>543MB</td>
</tr>
<tr>
<td>B</td>
<td>23.2.0a2 / fit + transform</td>
<td>2h07m</td>
<td>56.5GB</td>
<td>19.8K</td>
<td>14.7GB</td>
</tr>
</tbody>
</table>
<p>这张表里有三条采购含义，比任何经验值都有用：</p>
<table>
<thead>
<tr>
<th>#</th>
<th>事实</th>
<th>含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>参考机是 <strong>20 核 + 64GiB + 无 GPU</strong></td>
<td>这是 <strong>CPU / 内存 / 存储</strong> 型任务，不是 GPU 任务</td>
</tr>
<tr>
<td>2</td>
<td>单数据集临时目录 <strong>121GB / 157K 文件</strong></td>
<td>workdir 要放大容量盘；15.7 万小文件对随机 IO 压力很大</td>
</tr>
<tr>
<td>3</td>
<td><strong>新版（23.2.x）临时目录比 23.1.4 小 20–60 倍</strong></td>
<td><strong>升级版本本身就是最省钱的&#8221;扩容&#8221;</strong></td>
</tr>
<tr>
<td>4</td>
<td>单数据集 1.5–4.5 小时（20 核）</td>
<td>数百被试 = 以天/周计 → <strong>靠核数提通量，不是靠单任务变快</strong></td>
</tr>
</tbody>
</table>
<blockquote>
<p>提醒：表中的 <strong>64GiB 是官方参考机的内存，不是&#8221;最低要求&#8221;</strong>。官方没有给最低内存数值，正确做法是用 <code>--mem</code> 参数按自己的数据实测。</p>
</blockquote>
<h2>二、四个官方资源参数，决定了这台机器怎么用</h2>
<p>fMRIPrep 官方文档（Usage Notes）里明确提供了这几个参数——<strong>它们的存在本身就说明：内存和并发必须由使用者主动划定</strong>。</p>
<table>
<thead>
<tr>
<th>参数</th>
<th>作用</th>
<th>为什么重要</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>--nprocs</code></td>
<td>进程数</td>
<td>决定同时用多少核；配多核但这里没设 = 浪费</td>
</tr>
<tr>
<td><code>--omp-nthreads</code></td>
<td>每个进程的线程数</td>
<td>与 <code>--nprocs</code> 共同决定总并发度</td>
</tr>
<tr>
<td><code>--mem MEMORY_MB</code></td>
<td>显式声明可用内存</td>
<td><strong>不设时容易吃满内存被系统杀掉（OOM Killer）</strong></td>
</tr>
<tr>
<td><code>--low-mem</code></td>
<td>低内存模式</td>
<td>内存确实不够时的取舍方案（时间换空间）</td>
</tr>
</tbody>
</table>
<p><strong>最常见的两个错误</strong>：一是 32 核的机器上 <code>--nprocs</code> 保持默认，白买核；二是没设 <code>--mem</code>，跑到一半被系统杀掉，然后误判成&#8221;机器不行&#8221;。</p>
<h2>三、按队列规模怎么配（一版可用的分档）</h2>
<h2>四、交付前必须确认的两个前置条件</h2>
<p>这两个条件不满足，机器买回来也跑不起来——<strong>它们和硬件无关，但经常拖到交付当天才发现</strong>：</p>
<table>
<thead>
<tr>
<th>#</th>
<th>前置条件</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td><strong>FreeSurfer 许可</strong></td>
<td>fMRIPrep 官方文档明确：流程依赖 FreeSurfer 许可（涉及皮层重建部分）</td>
</tr>
<tr>
<td>2</td>
<td><strong>容器镜像离线预置</strong></td>
<td>官方以容器方式分发；<strong>内网机器必须先把镜像拉好再交付</strong>，否则现场无法启动</td>
</tr>
</tbody>
</table>
<p>另外两条实操建议：</p>
<ul>
<li><strong>先升级版本</strong>：官方基准里 23.2.x 的临时目录比 23.1.4 小 20–60 倍，<strong>升级可能比加硬盘更有效</strong>；</li>
<li><strong>先定并发策略</strong>：按核心数分配&#8221;同时跑几个被试&#8221;，再用 <code>--mem</code> 给每个任务划出内存上限，避免互相抢内存。</li>
</ul>
<h2>五、这套流程&#8221;不需要&#8221;什么</h2>
<ul>
<li><strong>不需要 GPU</strong>：官方基准机没有显卡，这类预处理是 CPU 型任务；</li>
<li><strong>不需要专业显卡与高速网络</strong>：单机为主；</li>
<li><strong>不需要极致单盘速度</strong>：容量与并发比单盘峰值速度更重要（但 workdir 大量小文件的随机 IO 不能太差）。</li>
</ul>
<h2>六、询价/自建前值得先问清的 5 个问题</h2>
<table>
<thead>
<tr>
<th>#</th>
<th>要问的</th>
<th>为什么</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>计划处理多少个被试？多久要跑完一轮？</td>
<td>决定核数与是否需要调度</td>
</tr>
<tr>
<td>2</td>
<td>原始数据总量多大？有多少个序列/体积？</td>
<td>官方基准里&#8221;体积数&#8221;直接从 784 涨到 4274，临时目录也从 54.8GB 涨到 121GB</td>
</tr>
<tr>
<td>3</td>
<td>workdir 放在哪、有没有清理策略？</td>
<td>最容易把盘写满的一项</td>
</tr>
<tr>
<td>4</td>
<td>是否已有 FreeSurfer 许可？</td>
<td>官方依赖项，缺了流程走不通</td>
</tr>
<tr>
<td>5</td>
<td>内网还是可以联网拉镜像？</td>
<td>决定要不要提前做离线镜像</td>
</tr>
</tbody>
</table>
<h2>常见问题</h2>
<h3>fMRIPrep 需要多少内存？</h3>
<p><strong>官方没有给最低内存数值</strong>，只给了参考机器 <strong>64GiB</strong>（配套 20 核）——这是参考值，不是及格线。正确做法是用官方提供的 <code>--mem MEMORY_MB</code> 参数<strong>显式声明可用内存</strong>：不设这个参数时，进程可能一路吃到被系统杀掉（表现为&#8221;跑到一半突然没了&#8221;），然后被误判成硬件问题。实操建议：<strong>先按&#8221;参考机 64GiB ÷ 同时跑的被试数&#8221;给每个任务划内存</strong>，再按实测微调；如果内存确实紧张，用 <code>--low-mem</code> 进入低内存模式（速度换空间）。</p>
<h3>为什么说硬盘最容易算错？</h3>
<p>因为<strong>中间文件比结果大得多</strong>。官方基准里：数据集 B 用 23.1.4 跑一次，<strong>临时目录 121GB、15.7 万个文件，而输出只有 5.1GB</strong>；数据集 A 是 54.8GB 对 2.3GB。<strong>临时目录往往是输出的十几到二十几倍</strong>，而且它同时产生大量小文件，对磁盘随机读写压力大。所以规划时要把 <strong>workdir 单独放大容量盘</strong>，并定好&#8221;跑完就清&#8221;的策略——这一项做不做，直接决定这台机器会不会在队列跑到一半时磁盘写满。</p>
<h3>升级版本真的能省硬盘吗？</h3>
<p>按官方基准数据，<strong>能</strong>，而且幅度很大：同一个数据集 B，23.1.4 的临时目录是 <strong>121GB</strong>，23.2.0a2 的 <code>fit</code> 模式降到 <strong>1.88GB</strong>，<code>fit + transform</code> 是 56.5GB——<strong>差了 20–60 倍</strong>。所以优化顺序应该是：<strong>先升级到新版并选合适的运行模式，再考虑加硬盘</strong>。这也是&#8221;不花钱的扩容手段&#8221;里性价比最高的一条。</p>
<h3>配了 32 核，为什么队列还是跑得很慢？</h3>
<p>大概率是<strong>并发没配</strong>。fMRIPrep 的并行由 <code>--nprocs</code>（进程数）和 <code>--omp-nthreads</code>（每进程线程数）控制，<strong>默认值通常偏保守</strong>，核多但这两个参数没调，实际只用了几个核。另外，如果多个被试只能顺序执行（没有调度），总时长就是&#8221;单被试耗时 × 被试数&#8221;——官方 20 核机器上单数据集要 <strong>1.5–4.5 小时</strong>，几百个被试就是几天到几周。<strong>加核之前，先把并发参数和排队机制调对。</strong></p>
<h3>需要给它配显卡吗？</h3>
<p><strong>不需要。</strong> 最直接的证据来自官方自己：基准测试用的参考机器配置是 <strong>Intel i9-10900（20 核）+ 64GiB 内存 + NVMe，全文没有提到任何 GPU</strong>。fMRIPrep 内部是多种配准与标准化算法，属于 CPU/内存/存储密集型。<strong>给这类流水线配显卡，是脑影像课题组最常见的一笔误配支出。</strong></p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/freesurfer-server-configuration/">做脑影像分析要不要配显卡？FreeSurfer 官方：不建议为它买显卡</a></li>
<li><a href="https://shanghaihaoquan.com/neuroimaging-lab-server-configuration/">神经影像课题组的服务器怎么配？先分清哪些软件吃显卡、哪些只吃 CPU</a></li>
<li><a href="https://shanghaihaoquan.com/server-memory-channel-configuration/">服务器内存怎么配？为什么插满了还是慢？</a></li>
<li><a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">科研服务器存储怎么配？四层划分与三条最容易配错的规则</a></li>
<li><a href="https://shanghaihaoquan.com/single-cell-sequencing-server-configuration/">单细胞测序分析服务器怎么配？内存是第一配置项，GPU 往往不需要</a></li>
</ul>
<table>
<thead>
<tr>
<th>场景</th>
<th>CPU</th>
<th>内存</th>
<th>存储（重点）</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>单人试跑、几十个被试</td>
<td>16–24 核</td>
<td>64GB</td>
<td>数据盘 2TB + workdir 1TB</td>
<td>单任务跑得动，队列靠排队</td>
</tr>
<tr>
<td>常规课题组队列（100–500 被试）</td>
<td>32–48 核</td>
<td>128GB</td>
<td>数据盘 4–8TB，workdir 单独 2TB</td>
<td><strong>配调度</strong>，否则一个被试跑完才轮到下一个</td>
</tr>
<tr>
<td>大队列 / 多研究并行</td>
<td>64 核以上或多节点</td>
<td>256GB+</td>
<td>共享存储 + 大容量 workdir</td>
<td>需要流程编排与统一清理策略</td>
</tr>
</tbody>
</table>
<p><strong>一个实用技巧</strong>：workdir（<code>--work-dir</code>）<strong>指向一块大容量盘</strong>，跑完定期清理。它膨胀得快、但大部分内容只是中间结果，不值得长期保留。</p>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "fMRIPrep 需要多少内存？", "acceptedAnswer": {"@type": "Answer", "text": "官方没有给最低内存数值，只给了参考机器 64GiB（配套 20 核）——这是参考值，不是及格线。正确做法是用官方提供的 --mem MEMORY_MB 参数显式声明可用内存：不设这个参数时，进程可能一路吃到被系统杀掉（表现为\"跑到一半突然没了\"），然后被误判成硬件问题。实操建议：先按\"参考机 64GiB ÷ 同时跑的被试数\"给每个任务划内存，再按实测微调；如果内存确实紧张，用 --low-mem 进入低内存模式（速度换空间）。"}}, {"@type": "Question", "name": "为什么说硬盘最容易算错？", "acceptedAnswer": {"@type": "Answer", "text": "因为中间文件比结果大得多。官方基准里：数据集 B 用 23.1.4 跑一次，临时目录 121GB、15.7 万个文件，而输出只有 5.1GB；数据集 A 是 54.8GB 对 2.3GB。临时目录往往是输出的十几到二十几倍，而且它同时产生大量小文件，对磁盘随机读写压力大。所以规划时要把 workdir 单独放大容量盘，并定好\"跑完就清\"的策略——这一项做不做，直接决定这台机器会不会在队列跑到一半时磁盘写满。"}}, {"@type": "Question", "name": "升级版本真的能省硬盘吗？", "acceptedAnswer": {"@type": "Answer", "text": "按官方基准数据，能，而且幅度很大：同一个数据集 B，23.1.4 的临时目录是 121GB，23.2.0a2 的 fit 模式降到 1.88GB，fit + transform 是 56.5GB——差了 20–60 倍。所以优化顺序应该是：先升级到新版并选合适的运行模式，再考虑加硬盘。这也是\"不花钱的扩容手段\"里性价比最高的一条。"}}, {"@type": "Question", "name": "配了 32 核，为什么队列还是跑得很慢？", "acceptedAnswer": {"@type": "Answer", "text": "大概率是并发没配。fMRIPrep 的并行由 --nprocs（进程数）和 --omp-nthreads（每进程线程数）控制，默认值通常偏保守，核多但这两个参数没调，实际只用了几个核。另外，如果多个被试只能顺序执行（没有调度），总时长就是\"单被试耗时 × 被试数\"——官方 20 核机器上单数据集要 1.5–4.5 小时，几百个被试就是几天到几周。加核之前，先把并发参数和排队机制调对。"}}, {"@type": "Question", "name": "需要给它配显卡吗？", "acceptedAnswer": {"@type": "Answer", "text": "不需要。 最直接的证据来自官方自己：基准测试用的参考机器配置是 Intel i9-10900（20 核）+ 64GiB 内存 + NVMe，全文没有提到任何 GPU。fMRIPrep 内部是多种配准与标准化算法，属于 CPU/内存/存储密集型。给这类流水线配显卡，是脑影像课题组最常见的一笔误配支出。"}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/fmriprep-server-requirements/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>做脑影像分析要不要配显卡？FreeSurfer 官方：不建议为它买显卡</title>
		<link>https://shanghaihaoquan.com/freesurfer-server-configuration/</link>
					<comments>https://shanghaihaoquan.com/freesurfer-server-configuration/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Thu, 08 Oct 2026 07:43:01 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[CPU核数]]></category>
		<category><![CDATA[FreeSurfer]]></category>
		<category><![CDATA[服务器内存]]></category>
		<category><![CDATA[皮层重建]]></category>
		<category><![CDATA[神经影像]]></category>
		<category><![CDATA[脑影像服务器]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/freesurfer-server-configuration/</guid>

					<description><![CDATA[脑影像分析（皮层重建、fMRI 预处理、影像统计）绝大多数流程不用显卡。FreeSurfer 官方 System Requirements 写明：不推荐专门为 FreeSurfer 购买 GPU 卡、"SSD 没有收益"，并给出"每并发被试 = 1 核 + 4GB 内存"的配比。本文逐条拆解官方原文，并给出按被试数推算核数/内存/存储的表与交付清单。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：做皮层重建、fMRI 预处理这类脑影像分析，钱不该花在显卡上。</strong> FreeSurfer 官方 System Requirements 页把这句话写得很直白——<strong>&#8220;不推荐专门为 FreeSurfer 购买 GPU 卡&#8221;</strong>，同时还有一句同样少见的话：<strong>&#8220;FreeSurfer 不是磁盘密集型，所以 SSD 没有收益。&#8221;</strong></p>
<p>这两句官方原话，正好和实验室买机器时的两个惯性动作（默认配显卡、默认全上 NVMe）相冲突。</p>
<p>三句话记住：</p>
<ul>
<li><strong>不用显卡</strong>：官方已放弃继续开发 GPU 支持，改用 OpenMP 多核并行；</li>
<li><strong>内存可以精确算</strong>：官方给出 <strong>每并发 1 个被试 = 1 核 + 4GB 内存</strong>（4 个被试 = 4 核 + 16GB）；</li>
<li><strong>存储按被试数 × 每被试 300–400MB 估，不用堆 SSD</strong>：真正该堆的是 CPU 核数。</li>
</ul>
<h2>一、官方 System Requirements 原文要点（逐条）</h2>
<p>来源：FreeSurfer 官方 Wiki 的 <code>SystemRequirements</code> 页（本库已取到全文）。</p>
<table>
<thead>
<tr>
<th>#</th>
<th>官方原文要点</th>
<th>中文转述</th>
<th>采购含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>&#8220;Intel processor <strong>supporting AVX instructions</strong>&#8220;</td>
<td>CPU <strong>必须支持 AVX 指令集</strong></td>
<td>硬门槛，过老的平台直接不能用</td>
</tr>
<tr>
<td>2</td>
<td>&#8220;at least <strong>2 cores</strong> … each with a speed of <strong>2GHz or faster</strong> is recommended&#8221;</td>
<td>最低 2 核、2GHz+</td>
<td>这只是&#8221;能跑&#8221;，不是&#8221;跑得快&#8221;</td>
</tr>
<tr>
<td>3</td>
<td>&#8220;<strong>4GB per subject</strong> … four subjects at once → <strong>four cores and 16GB</strong> of memory&#8221;</td>
<td><strong>每并发被试 = 1 核 + 4GB</strong></td>
<td>★ 可直接据此算核数与内存</td>
</tr>
<tr>
<td>4</td>
<td>&#8220;The flag … is <strong><code>-openmp 4</code></strong> which tells recon-all to use four cores&#8221;</td>
<td>多核要靠 <code>-openmp N</code> 显式打开</td>
<td>★ 不设这个参数，多核白买</td>
</tr>
<tr>
<td>5</td>
<td>&#8220;<strong>8GB for recon</strong>, <strong>16GB suggested for viewing graphics</strong>&#8220;</td>
<td>recon 最低 8GB，看图建议 16GB</td>
<td>单机自用的下限</td>
</tr>
<tr>
<td>6</td>
<td>&#8220;<strong>purchasing a GPU card explicitly for freesurfer is not recommended</strong>, in lieu of purchasing multiple cores and using the OpenMP functionality&#8221;</td>
<td>★ <strong>官方原话：不推荐专门为它买显卡</strong></td>
<td>最硬的&#8221;别配显卡&#8221;依据</td>
</tr>
<tr>
<td>7</td>
<td>&#8220;We <strong>no longer support</strong> [further] CUDA or GPU development … in preference to using OpenMP&#8221;</td>
<td>官方已停止 GPU 方向的开发</td>
<td>历史 <code>-use-gpu</code> 不该当采购理由</td>
</tr>
<tr>
<td>8</td>
<td>&#8220;<strong>Freesurfer is not disk intensive, so SSD is not a benefit.</strong> Budget <strong>400MB per subject</strong>&#8220;</td>
<td>★ <strong>官方原话：SSD 没有收益</strong></td>
<td>与&#8221;什么都上 NVMe&#8221;的惯性相反</td>
</tr>
<tr>
<td>9</td>
<td>&#8220;installed image <strong>16GB</strong>&#8220;；&#8221;processed subject <strong>300MB</strong>&#8220;；&#8221;tutorial dataset <strong>50GB</strong>&#8220;</td>
<td>安装 16GB；单被试 ~300MB；教程集 50GB</td>
<td>容量可直接估</td>
</tr>
<tr>
<td>10</td>
<td>&#8220;<strong>Intel vs AMD: no preference</strong>&#8220;；&#8221;<strong>CPU speed is not critical</strong>&#8220;</td>
<td>不限品牌，主频不关键</td>
<td>不必为高主频溢价</td>
</tr>
<tr>
<td>11</td>
<td>&#8220;<strong>Ivy Bridge</strong> … or whatever is newer&#8221;，约 <strong>5%</strong> 提升</td>
<td>平台代次影响内存寻址，约 5%</td>
<td>平台别选太老</td>
</tr>
<tr>
<td>12</td>
<td>&#8220;<strong>NVidia</strong> graphics cards have been found to work best&#8221;、&#8221;3D graphics card with its own graphics memory&#8221;</td>
<td>显卡只影响图形显示</td>
<td>只需一块能开 OpenGL 的普通卡</td>
</tr>
<tr>
<td>13</td>
<td>&#8220;Matlab (<strong>only needed to run FS-FAST</strong>, the fMRI analysis stream)&#8221;</td>
<td>Matlab 只有 FS-FAST 流程需要</td>
<td>★ 避免多买 Matlab 授权</td>
</tr>
<tr>
<td>14</td>
<td>&#8220;If you&#8217;re running Freesurfer on a server, then <strong>allocate 4GB of memory to your job</strong>&#8220;</td>
<td>服务器上每个作业 4GB</td>
<td>调度/配额配置依据</td>
</tr>
</tbody>
</table>
<blockquote>
<p>一个提醒：官方给的是&#8221;每被试输出约 <strong>300MB</strong>&#8220;（另一处口径 400MB）。有些资料把它写成 &#8220;数 GB&#8221;，会让人把存储预算放大十倍——<strong>按被试数乘 300–400MB 再加余量即可</strong>；队列跑到上千被试时，量级也就是几百 GB 到 1TB+ 这个区间，另外教程数据集本身占 50GB 左右。</p>
</blockquote>
<h2>二、把&#8221;1 核 + 4GB&#8221; 变成配置单</h2>
<p>官方这条配比的最大价值是：<strong>你可以按课题组打算同时跑几个被试，直接算出核数与内存</strong>。</p>
<table>
<thead>
<tr>
<th>同时跑几个被试</th>
<th>CPU 核数（下限）</th>
<th>内存（下限）</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>2 个</td>
<td>2 核</td>
<td>8GB</td>
<td>单机自用刚开始</td>
</tr>
<tr>
<td>4 个</td>
<td>4 核</td>
<td>16GB</td>
<td>官方原文举的例子</td>
</tr>
<tr>
<td>8 个</td>
<td>8 核</td>
<td>32GB</td>
<td>小队列</td>
</tr>
<tr>
<td>16 个</td>
<td>16 核</td>
<td>64GB</td>
<td>常见实验室队列节拍</td>
</tr>
<tr>
<td>32 个</td>
<td>32 核</td>
<td>128GB</td>
<td>上百被试的队列研究</td>
</tr>
<tr>
<td>64 个</td>
<td>64 核</td>
<td>256GB</td>
<td>需要调度 + 目录规范</td>
</tr>
</tbody>
</table>
<p><strong>注意这是&#8221;下限&#8221;，不是&#8221;推荐值&#8221;</strong>：机器上除了 recon-all，通常还同时跑 fMRIPrep、统计、文件拷贝等任务，实际配置一般会在官方配比上留 1.5–2 倍余量。另外单被试的 <code>recon-all</code> 耗时官方没给数值，<strong>这一项必须实测</strong>（不同 T1 质量差异很大）。</p>
<h2>三、AVX 这条门槛，卡住了不少&#8221;捡便宜&#8221;的机型</h2>
<p>官方第一条要求就是 <strong>CPU 必须支持 AVX</strong>。这件事对实验室的现实含义是：</p>
<ul>
<li><strong>老服务器（2011 年前的平台）跑不了</strong>，二手平台上便宜的老机器很容易踩这条；</li>
<li>采购时<strong>别只看&#8221;多少核&#8221;</strong>：核多但不支持 AVX 的机器，FreeSurfer 根本起不来；</li>
<li>这条要求和另一类专业软件（如部分单细胞流程、影像处理工具）是同一类门槛，<strong>配机时统一按&#8221;支持 AVX 及更新指令集&#8221;来选</strong>，避免以后换软件又要换机器。</li>
</ul>
<h2>四、存储不用堆 SSD，但要按&#8221;被试数 × 输出体积&#8221;规划</h2>
<p>官方的两句原话要连起来看：</p>
<ul>
<li>&#8220;<strong>不是磁盘密集型，SSD 没有收益</strong>&#8221; → 不要为它买 NVMe 阵列；</li>
<li>&#8220;<strong>每被试 300–400MB</strong>、安装 16GB、教程集 50GB&#8221; → 容量按被试数乘出来。</li>
</ul>
<p><strong>真正会撑爆硬盘的不是 FreeSurfer 本身，而是和它一起跑的预处理流水线</strong>（例如 fMRIPrep 的临时工作目录，官方实测单数据集可以到 <strong>121GB / 15.7 万个文件</strong>）。所以合理的做法是：</p>
<ul>
<li>系统盘：普通 SSD 即可（装系统与软件，16GB 级别的软件体积压力很小）；</li>
<li>数据盘：<strong>按&#8221;被试数 × 300–400MB&#8221; + 中间文件余量</strong>估容量，队列项目留 2–4 倍余量；</li>
<li>如果同时跑 fMRIPrep 之类的流水线，<strong>给 workdir 单独留一块大容量盘，并定好清理策略</strong>。</li>
</ul>
<h2>五、交付时最容易漏的几件事</h2>
<table>
<thead>
<tr>
<th>#</th>
<th>要做的事</th>
<th>为什么</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>教用户设 <strong><code>-openmp N</code></strong></td>
<td>不设就是单核跑，多核机器等于浪费</td>
</tr>
<tr>
<td>2</td>
<td>确认 <strong>CPU 支持 AVX</strong></td>
<td>官方硬门槛，不满足根本起不来</td>
</tr>
<tr>
<td>3</td>
<td><strong>不要为 FreeSurfer 单买显卡</strong></td>
<td>官方明确不推荐</td>
</tr>
<tr>
<td>4</td>
<td>配好 <strong>作业调度与结果目录规范</strong></td>
<td>队列几百人时，否则结果混杂、难复现</td>
</tr>
<tr>
<td>5</td>
<td>确认是否需要 <strong>Matlab</strong></td>
<td>只有 FS-FAST 流程需要，别多买授权</td>
</tr>
</tbody>
</table>
<h2>六、这类机器最后通常长什么样</h2>
<ul>
<li><strong>不需要高端显卡</strong>：一块能正常开图形界面的普通卡就够（官方说 NVIDIA 兼容性最好）；</li>
<li><strong>CPU 是主角</strong>：核数优先，兼顾平台代次（Ivy Bridge 及以上）；</li>
<li><strong>内存按并发被试数配</strong>，不是按单被试；</li>
<li><strong>存储按被试数估容量</strong>，不必追求极致速度；</li>
<li>多人共用时，<strong>加一层调度</strong>（SLURM 等）比再加 16 核更有效。</li>
</ul>
<h2>常见问题</h2>
<h3>做脑影像分析到底要不要买显卡？</h3>
<p>绝大多数情况<strong>不需要</strong>。FreeSurfer 官方明确写&#8221;不推荐专门为 FreeSurfer 购买 GPU 卡&#8221;，原因也很直接：<strong>官方已不再继续开发 CUDA/GPU 方向，转而用 OpenMP 多核并行</strong>；显卡在官方语境里只起&#8221;能开 OpenGL 图形界面&#8221;的作用（官方说 NVIDIA 兼容性最好）。同类软件也基本如此：fMRIPrep 官方基准机的配置是&#8221;<strong>20 核 + 64GiB + 无 GPU</strong>&#8220;。<strong>真正该投的是 CPU 核数与内存</strong>。</p>
<h3>FreeSurfer 要多少内存？怎么算？</h3>
<p>官方给了明确配比：<strong>每并发 1 个被试 = 1 核 + 4GB 内存</strong>（官方举例：想一次处理 4 个被试，机器需要 <strong>4 核 + 16GB</strong>）。另外 recon 本身最低 <strong>8GB</strong>，跑图形界面建议 <strong>16GB</strong>。所以算法是：<strong>先确定课题组希望同时跑几个被试，再乘 4GB</strong>。要注意这是下限——机器上通常还同时跑别的任务，实际配置建议留 1.5–2 倍余量；多用户共用时还要用调度把每个作业的内存限制住（官方给的是&#8221;每个作业分配 4GB&#8221;）。</p>
<h3>要不要给脑影像服务器上 NVMe SSD？</h3>
<p>FreeSurfer 官方原话是 <strong>&#8220;FreeSurfer 不是磁盘密集型，所以 SSD 没有收益&#8221;</strong>，每个被试按 <strong>300–400MB</strong> 规划存储即可。所以<strong>不必为 FreeSurfer 单独上 NVMe 阵列</strong>。但要注意一个例外：如果这台机器同时跑 <strong>fMRIPrep 之类的预处理流水线</strong>，它的临时工作目录会急剧膨胀（官方实测单数据集可达 <strong>121GB、15.7 万个文件</strong>），这种大量小文件的读写<strong>确实需要一块像样的盘和足够的容量</strong>——该留的是这类流水线的 workdir，而不是 FreeSurfer 的输出目录。</p>
<h3>买了 32 核，为什么跑起来跟 8 核差不多？</h3>
<p>多数情况是<strong>并行没开</strong>。FreeSurfer 官方给的开关是 <code>recon-all -openmp N</code>（官方例子 <code>-openmp 4</code> 表示用 4 核）——<strong>必须显式指定</strong>，不设就等于单核跑。同理，处理几百个被试时如果没有作业调度，任务只能一个一个顺序跑，核数再多也排不上。所以交付时该做的两件事是：<strong>把 <code>-openmp N</code> 写进批处理脚本、并给队列配一层调度（SLURM 等）</strong>——这两步不花钱，但直接决定这台机器值不值这个价。</p>
<h3>单个被试要跑多久？</h3>
<p><strong>官方没有给数值</strong>，这一项必须实测：T1 数据质量、是否启用纵向分析、是否附带其他流程，都会明显影响耗时。实用做法是：<strong>先拿 3–5 个被试测出单被试耗时</strong>，再按&#8221;总被试数 ÷ 并发数&#8221;估算周期；如果周期不能接受，<strong>加核数比换显卡有效得多</strong>。</p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/fmriprep-server-requirements/">fMRIPrep 跑一个被试要多大内存和硬盘？官方实测：临时目录能到 121GB</a></li>
<li><a href="https://shanghaihaoquan.com/neuroimaging-lab-server-configuration/">神经影像课题组的服务器怎么配？先分清哪些软件吃显卡、哪些只吃 CPU</a></li>
<li><a href="https://shanghaihaoquan.com/server-cpu-core-count-guide/">服务器 CPU 核数越多越好吗？先看它在你的任务里扮演什么角色</a></li>
<li><a href="https://shanghaihaoquan.com/server-memory-channel-configuration/">服务器内存怎么配？为什么插满了还是慢？</a></li>
<li><a href="https://shanghaihaoquan.com/lab-server-storage-configuration/">科研服务器存储怎么配？四层划分与三条最容易配错的规则</a></li>
<li><a href="https://shanghaihaoquan.com/eeg-meg-analysis-server-configuration/">脑电（EEG/MEG）实验室的服务器怎么配？MNE-Python 和 AFNI 都是&#8221;吃 CPU 和内存&#8221;的工具</a></li>
</ul>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "做脑影像分析到底要不要买显卡？", "acceptedAnswer": {"@type": "Answer", "text": "绝大多数情况不需要。FreeSurfer 官方明确写\"不推荐专门为 FreeSurfer 购买 GPU 卡\"，原因也很直接：官方已不再继续开发 CUDA/GPU 方向，转而用 OpenMP 多核并行；显卡在官方语境里只起\"能开 OpenGL 图形界面\"的作用（官方说 NVIDIA 兼容性最好）。同类软件也基本如此：fMRIPrep 官方基准机的配置是\"20 核 + 64GiB + 无 GPU\"。真正该投的是 CPU 核数与内存。"}}, {"@type": "Question", "name": "FreeSurfer 要多少内存？怎么算？", "acceptedAnswer": {"@type": "Answer", "text": "官方给了明确配比：每并发 1 个被试 = 1 核 + 4GB 内存（官方举例：想一次处理 4 个被试，机器需要 4 核 + 16GB）。另外 recon 本身最低 8GB，跑图形界面建议 16GB。所以算法是：先确定课题组希望同时跑几个被试，再乘 4GB。要注意这是下限——机器上通常还同时跑别的任务，实际配置建议留 1.5–2 倍余量；多用户共用时还要用调度把每个作业的内存限制住（官方给的是\"每个作业分配 4GB\"）。"}}, {"@type": "Question", "name": "要不要给脑影像服务器上 NVMe SSD？", "acceptedAnswer": {"@type": "Answer", "text": "FreeSurfer 官方原话是 \"FreeSurfer 不是磁盘密集型，所以 SSD 没有收益\"，每个被试按 300–400MB 规划存储即可。所以不必为 FreeSurfer 单独上 NVMe 阵列。但要注意一个例外：如果这台机器同时跑 fMRIPrep 之类的预处理流水线，它的临时工作目录会急剧膨胀（官方实测单数据集可达 121GB、15.7 万个文件），这种大量小文件的读写确实需要一块像样的盘和足够的容量——该留的是这类流水线的 workdir，而不是 FreeSurfer 的输出目录。"}}, {"@type": "Question", "name": "买了 32 核，为什么跑起来跟 8 核差不多？", "acceptedAnswer": {"@type": "Answer", "text": "多数情况是并行没开。FreeSurfer 官方给的开关是 recon-all -openmp N（官方例子 -openmp 4 表示用 4 核）——必须显式指定，不设就等于单核跑。同理，处理几百个被试时如果没有作业调度，任务只能一个一个顺序跑，核数再多也排不上。所以交付时该做的两件事是：把 -openmp N 写进批处理脚本、并给队列配一层调度（SLURM 等）——这两步不花钱，但直接决定这台机器值不值这个价。"}}, {"@type": "Question", "name": "单个被试要跑多久？", "acceptedAnswer": {"@type": "Answer", "text": "官方没有给数值，这一项必须实测：T1 数据质量、是否启用纵向分析、是否附带其他流程，都会明显影响耗时。实用做法是：先拿 3–5 个被试测出单被试耗时，再按\"总被试数 ÷ 并发数\"估算周期；如果周期不能接受，加核数比换显卡有效得多。"}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/freesurfer-server-configuration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DiffDock 40 系显卡装不上？openfold 编译与 CUDA 版本的三个硬约束</title>
		<link>https://shanghaihaoquan.com/diffdock-install-40series-cuda/</link>
					<comments>https://shanghaihaoquan.com/diffdock-install-40series-cuda/#respond</comments>
		
		<dc:creator><![CDATA[皓荃智能·老张]]></dc:creator>
		<pubDate>Thu, 01 Oct 2026 00:55:03 +0000</pubDate>
				<category><![CDATA[选型指南]]></category>
		<category><![CDATA[4090]]></category>
		<category><![CDATA[AI制药]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[DiffDock]]></category>
		<category><![CDATA[openfold]]></category>
		<category><![CDATA[分子对接]]></category>
		<guid isPermaLink="false">https://shanghaihaoquan.com/diffdock-install-40series-cuda/</guid>

					<description><![CDATA[DiffDock 安装失败的两类真实报错：nvcc 不支持 compute_89（RTX 40 系 / Ada）导致 openfold 编译失败、宿主机 CUDA 12.0 与 PyTorch 编译所用 11.7 不匹配、conda env create 阶段 pip 构建失败。含逐条排查命令、容器交付方案与验收清单。]]></description>
										<content:encoded><![CDATA[<p><strong>直接回答：DiffDock 装不上，最常见的两个原因是&#8221;新卡 + 旧 CUDA 栈&#8221;。</strong> 它的环境里有 <strong>openfold 这类需要现场编译的组件</strong>，而官方环境锁的是 <strong>PyTorch cu117</strong> 一线，所以在 RTX 40 系这样的新架构上，编译阶段就会失败。</p>
<p>三句话记住：</p>
<ul>
<li><strong>新卡不等于好装</strong>：<code>nvcc fatal : Unsupported gpu architecture 'compute_89'</code> 就是不支持新架构的编译错误；</li>
<li><strong>宿主机 CUDA 与 PyTorch 编译版本必须一致</strong>：报错会直接写 <code>The detected CUDA version (12.0) mismatches the version that was used to compile PyTorch (11.7)</code>；</li>
<li><strong>这类软件优先用官方容器交付</strong>：DiffDock 官方提供 Dockerfile，不要在新卡上现场编译 openfold。</li>
</ul>
<h2>一、真实报错长这样（两条官方 issue）</h2>
<h3>报错 A：新卡编译失败 + CUDA 版本不匹配（<code>gcorso/DiffDock#228</code>，2024-05-24）</h3>
<p>按官方 README 建环境，<strong>卡在 openfold 这一步</strong>，关键原文：</p>
<pre><code>nvcc fatal : Unsupported gpu architecture &#x27;compute_89&#x27;
RuntimeError: The detected CUDA version (12.0) mismatches the version that was used to compile PyTorch (11.7). Please make sure to use the same CUDA versions.
ERROR: Failed building wheel for openfold</code></pre>
<p>三点判读：</p>
<ul>
<li><code>compute_89</code> = <strong>Ada 架构（RTX 40 系、L40 一类）</strong>，说明报错者用的是新卡；</li>
<li>两条原因<strong>互相独立又叠加</strong>：一是 nvcc 不支持新架构 → 编译不过；二是宿主机 CUDA 12.0 与 torch 的 cu117 不一致 → torch 的扩展构建直接拒绝；</li>
<li>这条 issue <strong>至今没有官方结论</strong>（最后回复 2025-03-09），所以<strong>不要指望&#8221;照着文档改改就能过&#8221;</strong>。</li>
</ul>
<h3>报错 B：<code>conda env create</code> 第一步就失败（<code>gcorso/DiffDock#44</code>）</h3>
<p>按 README 建环境，pip 阶段崩溃：</p>
<pre><code>error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
╰─&gt; [73 lines of output]
CondaEnvException: Pip failed</code></pre>
<p>这条 issue <strong>有 18 条评论</strong>——评论多通常说明<strong>撞的人多</strong>，属高频问题。</p>
<h2>二、三个硬约束（装之前先核对）</h2>
<table>
<thead>
<tr>
<th>#</th>
<th>约束</th>
<th>怎么查</th>
<th>不满足会怎样</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>卡的<strong>计算能力</strong>要与 CUDA 工具链支持的架构匹配</td>
<td><code>nvidia-smi --query-gpu=name,compute_cap --format=csv</code></td>
<td><code>Unsupported gpu architecture 'compute_89'</code></td>
</tr>
<tr>
<td>2</td>
<td>宿主机 CUDA 版本要与 <strong>PyTorch 编译版本</strong>一致</td>
<td><code>nvcc --version</code> 对比 <code>python -c "import torch; print(torch.version.cuda)"</code></td>
<td><code>detected CUDA version (12.0) mismatches ... (11.7)</code></td>
</tr>
<tr>
<td>3</td>
<td>需现场编译的组件能否编译成功</td>
<td>看报错卡在哪个包（PyG 系列扩展、openfold、prody 最容易）</td>
<td><code>Failed building wheel for openfold</code> / <code>CondaEnvException: Pip failed</code></td>
</tr>
</tbody>
</table>
<p><strong>官方环境口径</strong>：PyTorch <strong>1.13.1+cu117</strong>。</p>
<h2>三、正确做法：容器优先</h2>
<p>DiffDock 官方<strong>提供了 Dockerfile</strong>。对这类&#8221;多组件 + 现场编译&#8221;的软件，容器优先不是偷懒，而是把失败风险隔离：</p>
<table>
<thead>
<tr>
<th>做法</th>
<th>结果</th>
</tr>
</thead>
<tbody>
<tr>
<td>在新卡上现场编译 openfold</td>
<td>大概率失败，且排查要几个小时</td>
</tr>
<tr>
<td><strong>用官方容器</strong>（配好 GPU 直通）</td>
<td>不受宿主机 CUDA 小版本干扰，交付时间可控</td>
</tr>
<tr>
<td>裸装但强制对齐 cu117</td>
<td>可行但脆弱，系统升级驱动/内核后容易复发</td>
</tr>
</tbody>
</table>
<p><strong>容器交付的检查项</strong>：</p>
<pre><code>① nvidia-container-toolkit 已装
② docker run --gpus all &lt;image&gt; nvidia-smi 能看到卡
③ import torch / torch_geometric / e3nn 正常
④ python -m inference --help 能跑起来（官方入口）
⑤ 记录镜像版本与提交（tag / digest）</code></pre>
<h2>四、同族的软件有哪些（一起记）</h2>
<p>下面这几个软件<strong>都是&#8221;锁定旧 CUDA 栈 + 需要现场编译&#8221;</strong>的类型，在新卡上的表现高度相似：</p>
<table>
<thead>
<tr>
<th>软件</th>
<th>典型症状</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>DiffDock</strong></td>
<td>openfold 编译失败、CUDA 12 与 cu117 冲突</td>
</tr>
<tr>
<td><strong>ESMFold</strong></td>
<td>openfold 必须用指定 revision；pip 包 extra 缺失</td>
</tr>
<tr>
<td><strong>RFdiffusion</strong></td>
<td>官方 yml 只为 CUDA 11.1，装完<strong>退回 CPU</strong></td>
</tr>
<tr>
<td><strong>ProteinMPNN</strong></td>
<td>装了显卡却在用 CPU</td>
</tr>
</tbody>
</table>
<p><strong>采购含义</strong>：如果课题组要用这一类工具，<strong>&#8220;新卡&#8221;不是卖点，交付能力才是</strong>——同样是 4090，能不能把环境装通、能不能在容器里跑起来，直接决定这台机器多久能出结果。</p>
<h2>五、询价前问清这 5 件事</h2>
<table>
<thead>
<tr>
<th>#</th>
<th>要问的</th>
<th>为什么</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>用哪张卡？（是否 RTX 40 系 / Ada 架构）</td>
<td>决定编译路线能不能走通</td>
</tr>
<tr>
<td>2</td>
<td>有没有用过官方 Docker？</td>
<td>有容器路线就不用现场编译</td>
</tr>
<tr>
<td>3</td>
<td>只跑对接，还是要连带训练/微调？</td>
<td>训练对显存与驱动的要求更高</td>
</tr>
<tr>
<td>4</td>
<td>数据规模多大（蛋白 / 配体数量）？</td>
<td>决定跑批时间与存储</td>
</tr>
<tr>
<td>5</td>
<td>谁来长期维护这套环境？</td>
<td>环境脆弱，得有负责人</td>
</tr>
</tbody>
</table>
<h2>常见问题</h2>
<h3>DiffDock 装不上是不是显卡太新了？</h3>
<p>恰好相反——<strong>往往是&#8221;卡太新&#8221;导致的</strong>。官方 issue 里的报错 <code>nvcc fatal : Unsupported gpu architecture 'compute_89'</code>，说明当时使用的 CUDA 工具链<strong>不支持新架构</strong>（<code>compute_89</code> 指 Ada，也就是 RTX 40 系这一档），编译 openfold 时直接失败。可行的做法不是硬编译，而是<strong>走官方容器</strong>：容器里已经配好匹配的 CUDA 与依赖，不受宿主机 CUDA 小版本影响。</p>
<h3>报 CUDA version (12.0) mismatches PyTorch (11.7) 怎么解决？</h3>
<p>这是&#8221;宿主机 CUDA 与 PyTorch 编译所用 CUDA 不一致&#8221;的标准报错。官方环境锁的是 <strong>PyTorch 1.13.1+cu117</strong>，如果机器上装的是 CUDA 12.0 的工具链，torch 的扩展构建会直接拒绝。解决方向有两个：一是<strong>让环境与官方口径对齐</strong>（cu117 一线）；二是<strong>直接用官方容器</strong>（更推荐，改动面最小）。先跑 <code>nvcc --version</code> 和 <code>python -c "import torch; print(torch.version.cuda)"</code>，把两个版本摆出来再动手。</p>
<h3>conda env create 报 CondaEnvException: Pip failed 是哪里错了？</h3>
<p>报错停在 pip 的 <strong>wheel 构建阶段</strong>（<code>bdist_wheel did not run successfully</code>），说明是<strong>某个需要现场编译的组件</strong>没编过。DiffDock 的环境里有多个这类组件（PyG 系列扩展、openfold、prody 一类），<strong>只要 CUDA 工具链与 torch 版本对不上就会失败</strong>。这条 issue 有 18 条评论，说明是高频情况。实践建议是：<strong>先试一次 <code>conda env create</code>，失败就直接切官方 Docker</strong>，不要在现场排查几个小时。</p>
<h3>跑这类工具到底需不需要买新卡？</h3>
<p>要看你<strong>跑什么</strong>。如果主要是<strong>推理/跑批</strong>（分子对接、结构预测），那么&#8221;显存够用 + 环境能装通&#8221;比最新架构重要得多；如果要<strong>自己训练/微调</strong>，才需要综合看显存与算力。所以更稳妥的顺序是：先确认<strong>要用的软件在什么环境下能跑通</strong>，再按显存与并发定卡，而不是先买卡再想办法装环境。</p>
<hr />
<p>如果你们正在给课题组或实验室看机器，把 <strong>要跑的软件 / 模型、大概几个人用、预算范围</strong> 发我一句，我按这个给你一份带参数清单的配置思路——不推销最高配，只帮你把钱花在真正影响出结果的地方。</p>
<figure class="aligncenter size-large"><img decoding="async" src="https://shanghaihaoquan.com/wp-content/uploads/2026/04/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20260402181840.jpg" alt="微信二维码：服务器定制与GPU算力咨询" class="wp-image-42" style="width:300px" /></figure>
<h3>相关阅读</h3>
<ul>
<li><a href="https://shanghaihaoquan.com/esmfold-local-install-pitfalls/">ESMFold 本地部署装不上？openfold 版本和 pip 包差异两个坑</a></li>
<li><a href="https://shanghaihaoquan.com/rfdiffusion-proteinmpnn-gpu-not-used/">RFdiffusion / ProteinMPNN 装了显卡却在用 CPU？三个真实原因</a></li>
<li><a href="https://shanghaihaoquan.com/colabfold-local-deployment-vram/">ColabFold 本地部署要多大显存？批量预测爆显存的真实原因</a></li>
<li><a href="https://shanghaihaoquan.com/ai-drug-discovery-server-configuration/">AI 制药服务器怎么配？先分清四类需求，八成预算配错在这里</a></li>
<li><a href="https://shanghaihaoquan.com/rtx-4090-48gb-modified-card-guide/">4090 48G 魔改卡能不能买？五个问题里只有第一个能确定</a></li>
</ul>
<p><script type="application/ld+json">
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "DiffDock 装不上是不是显卡太新了？", "acceptedAnswer": {"@type": "Answer", "text": "恰好相反——往往是\"卡太新\"导致的。官方 issue 里的报错 nvcc fatal : Unsupported gpu architecture 'compute_89'，说明当时使用的 CUDA 工具链不支持新架构（compute_89 指 Ada，也就是 RTX 40 系这一档），编译 openfold 时直接失败。可行的做法不是硬编译，而是走官方容器：容器里已经配好匹配的 CUDA 与依赖，不受宿主机 CUDA 小版本影响。"}}, {"@type": "Question", "name": "报 CUDA version (12.0) mismatches PyTorch (11.7) 怎么解决？", "acceptedAnswer": {"@type": "Answer", "text": "这是\"宿主机 CUDA 与 PyTorch 编译所用 CUDA 不一致\"的标准报错。官方环境锁的是 PyTorch 1.13.1+cu117，如果机器上装的是 CUDA 12.0 的工具链，torch 的扩展构建会直接拒绝。解决方向有两个：一是让环境与官方口径对齐（cu117 一线）；二是直接用官方容器（更推荐，改动面最小）。先跑 nvcc --version 和 python -c \"import torch; print(torch.version.cuda)\"，把两个版本摆出来再动手。"}}, {"@type": "Question", "name": "conda env create 报 CondaEnvException: Pip failed 是哪里错了？", "acceptedAnswer": {"@type": "Answer", "text": "报错停在 pip 的 wheel 构建阶段（bdist_wheel did not run successfully），说明是某个需要现场编译的组件没编过。DiffDock 的环境里有多个这类组件（PyG 系列扩展、openfold、prody 一类），只要 CUDA 工具链与 torch 版本对不上就会失败。这条 issue 有 18 条评论，说明是高频情况。实践建议是：先试一次 conda env create，失败就直接切官方 Docker，不要在现场排查几个小时。"}}, {"@type": "Question", "name": "跑这类工具到底需不需要买新卡？", "acceptedAnswer": {"@type": "Answer", "text": "要看你跑什么。如果主要是推理/跑批（分子对接、结构预测），那么\"显存够用 + 环境能装通\"比最新架构重要得多；如果要自己训练/微调，才需要综合看显存与算力。所以更稳妥的顺序是：先确认要用的软件在什么环境下能跑通，再按显存与并发定卡，而不是先买卡再想办法装环境。"}}]}
</script></p>
]]></content:encoded>
					
					<wfw:commentRss>https://shanghaihaoquan.com/diffdock-install-40series-cuda/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
