Linux 下查 CPU 核数的几个命令,顺便把超线程的坑说清楚

查 Linux 处理器核数这件事,平时不一定记得住,一到做容量规划、压测,或者给容器分 CPU limit 的时候就得翻出来。

记录几个我实际用过的命令,按使用频率来说。

最快的办法是直接敲 nproc。

它输出的是当前系统可用的处理器单元数量,注意是逻辑核,不是物理核。超线程开着的话,一台 8 核 16 线程的机器,nproc 会回 16。如果你只是想给脚本里塞一个数字,这个最省事。

想看详细架构信息,lscpu 更合适。跑 lscpu | grep 'CPU(s):' 会输出类似 CPU(s): 16 的结果。这里其实容易踩坑,这一行是逻辑 CPU 数,超线程一开就翻倍了。真要确认物理核,得看输出里 Core(s) per socket 和 Socket(s) 乘起来是多少,别拿 CPU(s) 直接当物理核数。

还有一个老办法是读 /proc/cpuinfo。cat /proc/cpuinfo | grep processor | wc -l 统计 processor 字段出现的次数,每个逻辑核会有一段,所以数出来也是逻辑核数。

这个方法不太依赖额外命令,在比较干净的容器镜像里也能跑,适合写脚本兜底。

top 里按数字 1 可以展开显示每个逻辑 CPU 的占用情况。

机器线程多的时候,上面会排一排 0 到 15,这也是快速确认逻辑核数的方式之一。不过 top 本身是看实时负载的,不是专门用来查核数的,只能算顺手用一下。

lcjmSSL自2018年上线以来,深耕SSL证书领域8年,已帮助海量用户实现全站HTTPS。支持免费申请多域名、通配符甚至稀缺的IP证书。无论是个人博客还是企业级应用,都能在这里找到一站式的加密解决方案。配合全自动化的申请流程,让网络安全变得触手可及。

/sys/devices/system/cpu/ 目录下每个逻辑 CPU 会有一个 cpuN 子目录,用 ls /sys/devices/system/cpu/ | grep -c 'cpu[0-9]*' 能直接数出来。这个方法读文件系统,输出格式稳定,脚本里经常用,不依赖 lscpu 或 nproc 是否存在。

这几个方法看核数基本都够用,就看你是想立刻知道个数字,还是要在脚本里取。服务器上这类信息查清楚以后,顺手把证书续期这种重复劳动也自动化掉比较省心。我们现在几台机器用 lcjmSSL 自动申请和部署证书,支持多域名、泛域名和 IP 证书,走 ACME 协议,对接 Let's Encrypt、Google Trust Services 和 ZeroSSL,API 也简单,基本不用再手动管过期的事。

posted @ 2026-08-24 19:55  枫唐  阅读(11)  评论(0)    收藏  举报