转自: http://www.cnblogs.com/wjoyxt/p/4804293.html

#lscpu

Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 2

-----------------------------------------------

在判断当前是否开启了超线程之前,需要先判断另外几个数据:
1,物理CPU个数:

1
2
3
[root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq
physical id : 0
physical id : 1

可以看到物理CPU个数为2,物理CPU也就是机器外面就能看到的一个个CPU,每个物理CPU还带有单独的风扇。
2,每个物理CPU的逻辑核数:

1
2
[root@localhost ~]# cat /proc/cpuinfo | grep "cores" | uniq
cpu cores   : 6

3,系统整个cpu线程数:

1
2
[root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l
24

有了三面几个数据,就可以判断当前是否开启了超线程了,没开启超线程的情况下,系统的cpu线程数=物理CPU个数*每个物理CPU的逻辑核数*1,因为每个逻辑核只跑了1个cpu线程,如果开启了超线程,那么cpu线程数=物理CPU个数*每个物理CPU的逻辑核数*N,因为每个逻辑核跑了2个cpu线程。所以,上面的24=2*6*2,可以判断当前开启了超线程。

1
2
3
[root@localhost ~]# cat /proc/cpuinfo | grep "model name" | uniq
model name  : Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz
[root@localhost ~]#

这是一台X5670机器,从Intel的cpuX5670规格页面(http://ark.intel.com/products/47920/Intel-Xeon-Processor-X5670-%2812M-Cache-2_93-GHz-6_40-GTs-Intel-QPI%29)可以看到,其的确支持Intel®
Hyper-Threading Technology。再看另外一个:

1
2
3
4
5
6
7
8
9
10
[root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq
physical id : 0
physical id : 1
[root@localhost ~]# cat /proc/cpuinfo | grep "cores" | uniq
cpu cores   : 4
[root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l
8
[root@localhost ~]# cat /proc/cpuinfo | grep "model name" | uniq
model name  : Intel(R) Xeon(R) CPU           E5504  @ 2.00GHz
[root@localhost ~]#

8=2*4,没有开启超线程,从Intel的cpuE5504规格页面(http://ark.intel.com/products/40711/Intel-Xeon-Processor-E5504-%284M-Cache-2_00-GHz-4_80-GTs-Intel-QPI%29)可以看到,其不支持Intel®
Hyper-Threading Technology,想开启都没法。
另外,根据physical id信息可以判断哪些逻辑核在同一个物理核上,因为同一物理核上的逻辑核的physical
id相等;而根据core id信息又可以判断哪两个cpu线程跑在同一个逻辑核上,因为跑在同一逻辑核上的cpu线程的core id相等,但是,由于不同物理核上的逻辑核core id可以相等,所以在进行第二个判断(即哪两个cpu线程跑在同一个逻辑核上)前需要先进行第一个判断(即哪些逻辑核在同一个物理核上)。

在 Linux 下判断系统当前是否开启了超线程的更多相关文章

  1. 在Linux下判断系统当前是否开启了超线程

    #lscpu Thread(s) per core: 2Core(s) per socket: 6Socket(s): 2 -------------------------------------- ...

  2. Linux下获得系统时间的C语言实现

    Linux下获得系统时间的C语言的实现方法 #include<time.h> //C语言的头文件#include<stdio.h> //C语言的I/O   int main() ...

  3. linux下cpu物理个数、多核、超线程判断解析

    在Linux体系中,供给了proc文件体系显示体系的软硬件信息.若是想懂得体系中CPU的供给商和相干设备信息,则可以经由过程/proc/cpuinfo文件获得.本文章针对该文件进行简单的总结. 基于指 ...

  4. Linux下修改系统编码的操作记录

    Linux系统安装后,发现中文显示乱码.因为系统编码为en_US.UTF-8,应改为支持中文的编码(即zh_CN.UTF-8)操作记录如下:1)检查linux的系统编码检查linux的系统编码,确定系 ...

  5. linux 下查看系统内存使用情况的方法

    在Windows系统中查看内存的使用情况很简单,想必大家都已经耳熟能详了,那么在linux系统如何查看内存使用情况呢?下面和大家分享在Linux 下查看内存使用情况的free命令: [root@scs ...

  6. linux下清理系统垃圾

    可以使用以下命令清理系统垃圾sudo apt-get autoclean 清理旧版本的软件缓存sudo apt-get clean 清理所有软件缓存sudo apt-get autoremove 删除 ...

  7. linux下查看系统属性

    inux下查看系统属性1.查看cpu信息查看所有cpu信息:cat /proc/cpuinfo查看cpu类型: grep "model name" /proc/cpuinfo2.查 ...

  8. Linux下CenOS系统 安装MariaDB

    1.首先去MariaDB官网下载安装包,首页是:https://mariadb.org/ 2.放在linux下的新建目录下:/root/mariadb 然后解压缩,命令为:tar -xzvf mari ...

  9. Linux 下安装 Memcached 和 PHP 开启 Memcached 扩展

    [项目背景]:阿里云ECS服务器,Linux(centos7.2 64位),环境部署使用的是阿里云一键安装包(LAMP)等 [项目需求]:linux安装memcached 和php开启Memcache ...

随机推荐

  1. HTML5:控件自动获得焦点

    在HTML5中,页面打开后,需要指定的控件自动获得焦点很简单,只需要一个属性就可以实现 -  autofocus. 示例如下: <input type="text" auto ...

  2. HDU 4509

    很简单的排序题而已. #include <iostream> #include <cstdio> #include <algorithm> #include < ...

  3. linux网络測试命令

    ping  192.168.1.103  -c  3 ping我的IP3次 port探測 telnet  192.168.1.103  80 路由跟踪 traceroute  www.imooc.co ...

  4. phoenixframe自己主动化測试平台对div弹出框(如弹出的div登陆框)的处理

    package org.phoenix.cases; import java.util.LinkedList; import org.phoenix.action.WebElementActionPr ...

  5. SpringMVC中的 --- 异常处理

    系统异常处理器SimpleMappingExceptionResolver 处理器方法执行过程中,可能会发生异常,不想看到错误黄页,想看到一个友好的错误提示页. 自定义异常处理器 使用异常处理注解

  6. fixed和absolute

    fixed是相对于浏览器窗口固定 absolute是相对于整体网页固定.(整体网页包括所有的内容,包含右侧滑动条滑动所能看到的内容)

  7. GROUPPING和ROLLUP的基本知识

    1.GROUPPING 是一个聚合函数,它产生一个附加的列,当用 CUBE 或 ROLLUP 运算符添加行时,附加的列输出值为1,当所添加的行不是由 CUBE 或 ROLLUP 产生时,附加列值为0. ...

  8. Highways(prim)

    http://poj.org/problem?id=2485 此题是求最小生成树里的最大权值.prim算法: #include<stdio.h> #include<string.h& ...

  9. 使用JQuery制作幻灯片(轮播图)

    1.首先看一下目录结构 images文件夹放所需要播放的图片. js文件夹放jquery库和main.js 2.html代码: <!DOCTYPE html> <html lang= ...

  10. 2015 多校赛 第四场 1010 (hdu 5336)

    Problem Description XYZ is playing an interesting game called "drops". It is played on a r ...