Linux中如何查看cpu的数量
所有Linux系统都运行在多核CPU处理器上,但是许多人对查找或理解CPU,内核和线程信息有时候会感到很困惑。下面就来了解一下cpu。
什么是cpu插槽?
CPU 插槽是主板上的连接器,允许计算机处理器连接到主板。这称为物理 CPU(中央处理单元)。
什么是 CPU 核心?
最初,CPU使用单核,但制造商增加了更多的内核来提高性能。例如,双核 CPU 具有两个中央处理单元,因此它似乎是每个操作系统两个 CPU。同样,四核 CPU 具有四个中央处理单元,八核 CPU 具有八个中央处理单元。
什么是 CPU 线程?
英特尔的超线程技术通过在每个内核中运行多个线程(每个内核有两个线程),可以更有效地使用处理器资源。这提高了处理器吞吐量,并提高了线程化软件的整体性能。
cpu的计算公式是:CPUs =每个核心的线程数 X
每个插槽的核心数
X cpu的插槽数。
1,查看cpu数量通过“/proc/cpuinfo” 文件
"/proc/cpuinfo"文件是一个虚拟文本文件,其中包含有关计算机上 CPU(中央处理单元)的信息。它包含有用的信息,如CPU体系结构,供应商名称,型号名称。具体查看cpu数量可以通过grep来查,如下所示。
[sharplee@sharplee creatfile]# grep -c ^processor /proc/cpuinfo
![](https://pics2.baidu.com/feed/eaf81a4c510fd9f9fa3c583cecc8f4202934a4af.jpeg?token=bcb86b0d5dc3232b656cafb98dd9c305)
要查看具体的详情,使用如下命令
[sharplee@sharplee creatfile]# cat /proc/cpuinfo
![](https://pics0.baidu.com/feed/b812c8fcc3cec3fde51353d5076df43586942754.jpeg?token=488535b608aebdbd4887291213739ad2)
2,查看cpu数量通过nproc命令
nproc打印可用于当前流程的处理单元数。它是 GNU Coreutils 软件包的一部分,该软件包默认安装在大多数 Linux 系统上。
[sharplee@sharplee creatfile]# nproc
![](https://pics5.baidu.com/feed/dc54564e9258d109b4792b5516bdecb56e814daa.jpeg?token=4edc15fd6d0810794a65a27ed8544b3d)
3,查看cpu数量通过lscpu命令
lscpu 命令显示有关 CPU 体系结构的信息,这些信息是从 sysfs 和 /proc/cpuinfo 文件中收集的。这些信息包括 CPU 的数量、线程、内核、插槽、NUMA 节点、CPU 缓存、CPU 系列和型号等。
[root@sharplee creatfile]# lscpu
![](https://pics4.baidu.com/feed/9d82d158ccbf6c81aa4e9f9e66db913f32fa40be.jpeg?token=0388f78a8c8bd871c7888cf7350b5607)
或者,也可以使用 lscpu 命令仅打印处理器数量。
[root@sharplee creatfile]# lscpu | grep 'CPU(s):' | head -1 | awk '{print $2}'
![](https://pics1.baidu.com/feed/7aec54e736d12f2ecee587ec8027f5688735684d.jpeg?token=2f0fcb89096d2d4f0a45d50423845fb7)
4,查看cpu数量通过getconf命令
getconf 代表 get configuration values。getconf 实用程序用于写入由 system_var & path_var 操作数指定的变量的值。每个配置变量的值均从 IEEE 标准 1003.1-2001 获得。
[root@sharplee creatfile]# getconf _NPROCESSORS_ONLN
![](https://img2022.cnblogs.com/blog/196094/202208/196094-20220801134107794-1066362597.png)
5,查看cpu数量通过inxi命令
inxi命令是一个用于验证Linux上的硬件信息的漂亮工具,并提供了广泛的选项来获取Linux系统上的所有硬件信息,这是我在Linux上可用的任何其他应用程序中都看不到的。它显示了系统硬件,CPU,驱动程序,Xorg,台式机,内核,gcc版本,进程,RAM使用情况以及各种其他有用信息。如果执行以下命令提示未发现该命令,执行“yum install inxi”命令安装。
[root@sharplee creatfile]#inxi -C
![](https://pics5.baidu.com/feed/1e30e924b899a90106a48e33ce702a710308f516.jpeg?token=2af82e9f2ca4076c51ea4542f8b662b6)
6,查看cpu数量通过top命令
top 命令是监视 Linux 中实时系统进程的最佳和基本命令之一。它显示系统信息和正在运行的进程信息,如正常运行时间,平均负载,正在运行的任务,登录的用户数,CPU和CPU利用率,内存和交换信息。默认情况下,top命令打印的是所有cpu的平均值,要打印cpu的实际值,可以按“1”键来显示每个cpu信息。
[root@sharplee creatfile]# top
![](https://pics5.baidu.com/feed/503d269759ee3d6dd0b476de88f34d284e4adea1.jpeg?token=052c08830edd9e7d88835971396f1b8e)
7,查看cpu数量通过htop命令
Htop 命令是一个开源的基于 ncurses 的 Linux 进程查看器。这类似于 top 命令,但可以垂直和水平滚动,因此可以看到运行系统的所有进程及其整个命令行。与进程相关的任务(杀伤、强化)可以在不输入其 PID 的情况下执行。
[root@sharplee creatfile]# htop
![](https://pics0.baidu.com/feed/b999a9014c086e06246efc69d2ed5bfe0bd1cb3a.jpeg?token=4944d246f6d409cf6e456825e63b3deb)
8,查看cpu数量通过nmon命令
nmon 是一个交互式命令行工具,用于监视 CPU、磁盘、NFS、内存和网络利用率。使用 nmon 命令,然后按 t 查看利用更多资源的进程。如果执行以下命令找不命令可以执行“yum install nmon”安装该命令。
[root@sharplee creatfile]# nmon
![](https://pics3.baidu.com/feed/ae51f3deb48f8c54d467970cf6cc0dffe1fe7f48.jpeg?token=1ac1f5c021afec4ade02db2663d3671c)
9,查看cpu数量通过"/sys/devices/system/cpu/"文件
可以从"/sys/devices/system/cpu/"文件中获取处理器信息。它是一组全局且唯一的 CPU 属性。各个 CPU 属性位于由内核的逻辑 CPU 编号命名的子目录中。
[root@sharplee creatfile]# cat /sys/devices/system/cpu/online
![](https://pics7.baidu.com/feed/8718367adab44aed5b253b0f79f9a70ba38bfbe6.jpeg?token=b00a88db552c51778c20628e805abd1b)
10,查看cpu数量通过“/proc/interrupts”文件
"/proc/interrupts"文件包含有关中断处理器的次数的信息。
[root@sharplee creatfile]# cat /proc/interrupts | egrep -i 'cpu'
![](https://pics3.baidu.com/feed/dc54564e9258d1091ba88a1716bdecb56d814d3f.jpeg?token=08a2a178ffdfcac3a52623b9c4c33a49)
总结:通过以上几种方法可以查看Linux中cpu的数量,以便能够查看服务器能够运行多少应用程序。从而进行更好的优化。
————————————————————————————————————————————————————————————————————————————————
linux下用top命令查看cpu利用率超过100%
这里显示的所有的cpu加起来的使用率,说明你的CPU是多核,你运行top后按大键盘1看看,可以显示每个cpu的使用率,top里显示的是把所有使用率加起来
按下1后可以看到我的机器的CPU是双核的。%Cpu0,%Cpu1
这里我们也可以查看一下CPU信息:在命令行里输入:cat /proc/cpuinfo
这里可以看到cpu cores : 2