审核中 發表於 2026-1-12 00:00:00

在Linux中,有哪些指令可以获取CPU信息?记住这些关键指令!

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>背景</li><li>1. lscpu</li><li>2. cat /proc/cpuinfo</li><li>3. top</li><li>4. htop</li><li>5. mpstat</li><li>6. dmesg | grep -i cpu</li><li>常用工具速览(先熟悉这些工具)</li><li>常见误区(我见过的&ldquo;坑&rdquo;)</li></ul></div><p class="maodian"></p><h2>背景</h2>
<p>在日常运维工作中,获取 CPU 信息是系统运维管理员常见的工作内容。理由是了解 CPU 的详细信息可以帮助你更好地管理系统资源、排查性能问题以及优化应用程序。今天将详细介绍 Linux上查询CPU信息的6 条关键命令,希望对大家有所帮助。</p>
<p class="maodian"></p><h2>1. lscpu</h2>
<p>lscpu 这主要用于查询 CPU 架构的信息,简短但是强大,可以利用它快速查询关于CPU的型号、核心数、线程数、缓存大小等详细信息。</p>
<p>打开终端并输入以下命令:</p>
<p>代码语言:javascript 复制</p>
<div class="dxycode"><pre class="brush:plain;">lscpu</pre></div>
<p>命令的输出包含许多有用的信息,例如:</p>
<p><img alt="Linux 怎么获取CPU 信息?记住这六条指令!" src="https://zhuji.jb51.net/uploads/allimg/20260109/2-2601091H11a93.png" /></p>
<p>1、Architecture:显示CPU 的架构类型(例如 x86_64或者ARM等)</p>
<p>2、CPU(s):主机的CPU 的总共核心数</p>
<p>3、Thread(s) per core:每个核心支持的线程数</p>
<p>4、Core(s) per socket:每个插槽的CPU核心数</p>
<p>5、Socket(s):主机的插槽数量</p>
<p>6、Model name:CPU 的型号</p>
<p>7、CPU MHz:CPU 的频率</p>
<p>8、Cache :显示L1、L2 和 L3 缓存大小,其中L1分L1d和L1i。L1d为数据缓存(Data Cache),L1i为指令缓存(Instruction Cache)</p>
<p class="maodian"></p><h2>2. cat /proc/cpuinfo</h2>
<p>/proc/cpuinfo 文件包含了 CPU 的详细信息。通过查看该文件,可以获得每个 CPU 的具体参数。</p>
<p>在终端中输入以下命令:</p>
<p>代码语言:javascript 复制</p>
<div class="dxycode"><pre class="brush:plain;">cat /proc/cpuinfo</pre></div>
<p>该命令的输出可能非常长,因为它会列出每个逻辑 CPU 的信息。例如:</p>
<p><img alt="Linux 怎么获取CPU 信息?记住这六条指令!_图2" src="https://zhuji.jb51.net/uploads/allimg/20260109/2-2601091H119149.png" /><img alt="Linux 怎么获取CPU 信息?记住这六条指令!_图3" src="https://zhuji.jb51.net/uploads/allimg/20260109/2-2601091H1192Y.png" /></p>
<p>1、processor:逻辑CPU的ID号</p>
<p>2、vendor_id:CPU 供应商名称</p>
<p>3、model name:CPU 的型号</p>
<p>4、cpu MHz:CPU 的频率</p>
<p>5、cache size:缓存的规格大小</p>
<p>6、cpu cores:CPU核心数</p>
<p>7、flags:当前CPU核心支持的指令集和特征</p>
<p class="maodian"></p><h2>3. top</h2>
<p>top 本就用于监视整个系统的实时性能的一个指令,而 CPU 的使用情况是其中一个监控维度。通过 top指令,可以看到各个进程的 CPU 使用率以及整体 CPU 的状态。</p>
<p>在终端中输入以下命令:</p>
<p>代码语言:javascript 复制</p>
<div class="dxycode"><pre class="brush:plain;">top</pre></div>
<p>默认情况下,top 命令的输出如下:</p>
<p><img alt="Linux 怎么获取CPU 信息?记住这六条指令!_图4" src="https://zhuji.jb51.net/uploads/allimg/20260109/2-2601091H11b57.png" /></p>
<p>1、%Cpu(s):各种类的CPU 占用率,包括用户空间(us)、系统空间(sy)、空闲CPU(id)等</p>
<p>2、PID:进程的ID号</p>
<p>3、%CPU:各进程的CPU 使用率</p>
<p class="maodian"></p><h2>4. htop</h2>
<p>htop相当于top 的增强版本指令,它提供了更友好的用户界面和更多的交互功能。它可以实时显示 CPU 使用情况,并以图形方式展示各个核心的负载。</p>
<p>使用该指令前需先安装htop软件:</p>
<p>代码语言:javascript 复制</p>
<div class="dxycode"><pre class="brush:plain;">yum -y install htop</pre></div>
<p><img alt="Linux 怎么获取CPU 信息?记住这六条指令!_图5" src="https://zhuji.jb51.net/uploads/allimg/20260109/2-2601091H1203A.png" /></p>
<p>在终端中输入以下命令:</p>
<p>代码语言:javascript 复制</p>
<div class="dxycode"><pre class="brush:plain;">htop</pre></div>
<p>输入htop 后的显示如下:</p>
<p><img alt="Linux 怎么获取CPU 信息?记住这六条指令!_图6" src="https://zhuji.jb51.net/uploads/allimg/20260109/2-2601091H120256.png" /></p>
<p>特点:</p>
<p>1、每个CPU核心的使用率以条形图的方式显示</p>
<p>2、Tasks:当前的任务数量</p>
<p>3、Load average:系统负载的当前平均值</p>
<p>4、Mem 和 Swp:内存和交换分区的负载情况</p>
<p class="maodian"></p><h2>5. mpstat</h2>
<p>mpstat指令是 sysstat 工具包的一部分,用于报告各个 CPU 的统计信息。它的作用就是可以帮助你了解每个核心的使用情况、等待时间和中断处理情况等。</p>
<p>使用该指令需要先安装 sysstat:</p>
<p>yum -y install sysstat</p>
<p><img alt="Linux 怎么获取CPU 信息?记住这六条指令!_图7" src="https://zhuji.jb51.net/uploads/allimg/20260109/2-2601091H120132.png" /></p>
<p>在终端中输入以下命令:</p>
<p>代码语言:javascript 复制</p>
<div class="dxycode"><pre class="brush:plain;">mpstat -P ALL</pre></div>
<p>该命令的输出如下:</p>
<p><img alt="Linux 怎么获取CPU 信息?记住这六条指令!_图8" src="https://zhuji.jb51.net/uploads/allimg/20260109/2-2601091H121N9.png" /></p>
<p>1、%usr:用户层面的 CPU 使用率</p>
<p>2、%sys:系统层面的 CPU 使用率</p>
<p>3、%iowait:I/O 等待的 CPU 时间百分比</p>
<p>4、%idle:CPU 空闲时间百分比</p>
<p class="maodian"></p><h2>6. dmesg | grep -i cpu</h2>
<p>dmesg 命令用于查询内核和启动日志。通过过滤 cpu 相关信息,可以获取系统启动时内核检测 CPU 信息情况。</p>
<p>在终端中输入以下命令:</p>
<p>代码语言:javascript 复制</p>
<div class="dxycode"><pre class="brush:plain;">dmesg | grep -i cpu</pre></div>
<p>该命令的输出可能包括如下内容:</p>
<p><img alt="Linux 怎么获取CPU 信息?记住这六条指令!_图9" src="https://zhuji.jb51.net/uploads/allimg/20260109/2-2601091H121S9.png" /></p>
<p>1、smpboot: CPU0:基本的CPU信息</p>
<p>2、Performance Events:性能相关事件信息</p>
<p>3、node:CPU 所在的 NUMA 节点信息</p>
<p class="maodian"></p><h2>常用工具速览(先熟悉这些工具)</h2>
<p>这些命令几乎是现场救火的工具箱,建议熟练掌握:</p>
<div class="dxycode"><pre class="brush:bash;">top, htop, vmstat, mpstat, pidstat, ps, perf, strace, pstack
free, slabtop, smem
iostat, iotop, blktrace, lsblk, df, du, smartctl
ss, netstat, iftop, iperf3, tc
sar (sysstat), dstat, atop
tcpdump (小心会产生日志)</pre></div>
<p>我常把一台机器的检查脚本写成几行命令串,先快速跑一遍,得出第一轮结论,再深入。</p>
<p class="maodian"></p><h2>常见误区(我见过的&ldquo;坑&rdquo;)</h2>
<p>&bull; 盲目扩容:遇到问题第一反应是加机器,但如果根因是单进程锁或 DB 限制,扩容只是浪费。</p>
<p>&bull; 频繁 drop_caches:乱用&nbsp;drop_caches&nbsp;会把缓存击穿,短期内看似缓解,长期反而伤性能。</p>
<p>&bull; 忽略后端依赖:很多&ldquo;应用慢&rdquo;其实是依赖(DB、外部 API)慢,优化前端并不能从根本上解决问题。</p>
<p>&bull; 只看 top:top 很直观,但容易误导;结合 iostat、vmstat、mpstat 才能分清 CPU/IO/内存的责任。</p>
<p>以上就是Linux 获取CPU 信息的详细内容,更多相关资料请阅读琼殿技术社区其它文章!</p>
頁: [1]
查看完整版本: 在Linux中,有哪些指令可以获取CPU信息?记住这些关键指令!