在Linux中,可以利用grep命令来查看CPU的核心数和线程数,进而判断CPU是几核几线程;查看CPU核心数的语法“grep 'core id' /proc/cpuinfo | sort -u | wc -l”,查看CPU线程数的语法“grep 'processor' /proc/cpuinfo | sort -u | wc -l”。
本教程操作环境:linux7.3系统、Dell G3电脑。
查看几核几线程,就是查看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 所示。
选项 | 含义 |
---|---|
-c | 仅列出文件中包含模式的行数。 |
-i | 忽略模式中的字母大小写。 |
-l | 列出带有匹配行的文件名。 |
-n | 在每一行的最前面列出行号。 |
-v | 列出没有匹配模式的行。 |
-w | 把表达式当做一个完整的单字符来搜寻,忽略那些部分匹配的行。 |
注意,如果是搜索多个文件,grep 命令的搜索结果只显示文件中发现匹配模式的文件名;而如果搜索单个文件,grep 命令的结果将显示每一个包含匹配模式的行。
grep 命令的功能非常强大,通过利用它的不同选项以及变化万千的正则表达式,可以获取任何我们所需要的信息。
相关推荐:《Linux视频教程》
以上是linux怎么判断CPU是几核几线程的详细内容。更多信息请关注PHP中文网其他相关文章!