«

linux如何判断CPU是几核几线程

时间:2024-3-10 21:58     作者:韩俊     分类: Linux


今天小编给大家分享一下linux如何判断CPU是几核几线程的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。


在Linux中,可以利用grep命令来查看CPU的核心数和线程数,进而判断CPU是几核几线程;查看CPU核心数的语法“grep 'core id' /proc/cpuinfo | sort -u | wc -l”,查看CPU线程数的语法“grep 'processor' /proc/cpuinfo | sort -u | wc -l”。

查看几核几线程,就是查看CPU的物理核心数和线程数。

  • cpu个数 是指物理上cpu的个数。

  • cpu核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。

  • cpu线程数 是一种逻辑上的概念,简单地说,就是模拟出的CPU核心数。

    比如,可以通过一个物理的CPU核心模拟出2线程的CPU。一个物理的CPU核心最少对应一个线程,但通过超线程技术,一个核心可以对应两个线程,也就是说它可以同时运行两个线程。

    CPU的线程数概念仅仅只针对Intel的CPU才有用,因为它是通过Intel超线程技术来实现的,最早应用在Pentium4上。如果没有超线程技术,一个CPU核心对应一个线程。对于AMD处理器而言,没有超线程的概念,线程数和核心数相同,所以在AMD的CPU参数上是没有写出线程数的。

综上,这个公式成立:
物理cpu个数 * 每个物理cpu中core的个数 * 超线程数 = 总线程数(也即逻辑CPU的个数)

linux查看是几核几线程的方法

在Linux中,可以利用grep命令来查看CPU的核心数和线程数。

1、CPU个数


cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l


2、每个CPU的核心数


grep 'core id' /proc/cpuinfo | sort -u | wc -l


3、线程数


grep 'processor' /proc/cpuinfo | sort -u | wc -l


此服务器有4个CPU,每个CPU有4个核心,每个核心只有1个线程,所以线程数为16。

如果线程数是32,那么每个CPU核心的线程数=32÷4÷4,结果为2

扩展知识:grep命令介绍

grep 命令的由来可以追溯到 UNIX 诞生的早期,在 UNIX 系统中,搜索的模式(patterns)被称为正则表达式(regular expressions),为了要彻底搜索一个文件,有的用户在要搜索的字符串前加上前缀 global(全面的),一旦找到相匹配的内容,用户就像将其输出(print)到屏幕上,而将这一系列的操作整合到一起就是 global regular expressions print,而这也就是 grep 命令的全称。

grep命令能够在一个或多个文件中,搜索某一特定的字符模式(也就是正则表达式),此模式可以是单一的字符、字符串、单词或句子。

grep 命令是用来在每一个文件或中(或特定输出上)搜索特定的模式,当使用 grep 时,包含指定字符模式的每一行内容,都会被打印(显示)到屏幕上,但是使用 grep 命令并不改变文件中的内容。

grep 命令的基本格式如下:


grep [选项] 模式 文件名


这里的模式,要么是字符(串),要么是正则表达式。而此命令常用的选项以及各自的含义如表 1 所示。

表 1 grep 命令常用选项及含义
选项 含义
-c 仅列出文件中包含模式的行数。
-i 忽略模式中的字母大小写。
-l 列出带有匹配行的文件名。
-n 在每一行的最前面列出行号。
-v 列出没有匹配模式的行。
-w 把表达式当做一个完整的单字符来搜寻,忽略那些部分匹配的行。

注意,如果是搜索多个文件,grep 命令的搜索结果只显示文件中发现匹配模式的文件名;而如果搜索单个文件,grep 命令的结果将显示每一个包含匹配模式的行。

grep 命令的功能非常强大,通过利用它的不同选项以及变化万千的正则表达式,可以获取任何我们所需要的信息。

标签: linux

热门推荐