在Linux下判断系统当前是否开启了超线程
#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线程跑在同一个逻辑核上)前需要先进行第一个判断(即哪些逻辑核在同一个物理核上)。
转载于:https://www.cnblogs.com/wjoyxt/p/4804293.html
在Linux下判断系统当前是否开启了超线程相关推荐
- 如何在linux下判断web服务是否开启?
对于web服务的开启的判断有以下几种常用方法: 1.端口查看: 本地:ss,netstat,lsof 示例一: ss:查看80端口是否处于监听状态 [root@gw oldboy]# ss -an|g ...
- Linux下检测FTP服务并开启FTP服务
Linux下检测FTP服务并开启FTP服务 1. 检测FTP服务是否开启 通过查询提供FTP服务的进程是否存在 Shell代码 ps -ef | grep ftp 并未找到任何包含ftp关键字 ...
- linux 更改make版本,Linux下查看系统版本和make版本
一.查看Linux内核版本命令(两种方法): 1.cat /proc/versionz [root@localhost ~]# cat /proc/version Linux version 2.6. ...
- Linux下备份系统
Linux下备份系统 "那我该用什么来备份我的系统呢?"不像Windows,Linux不限制根用户存取任何东西,因此,你完全可以把一个分区上每一个的文件放入一个TAR文件中. 来实 ...
- linux下获取系统时间的方法
可以用 localtime 函数分别获取年月日时分秒的数值. Linux下获得系统时间的C语言的实现方法: 1. 可以用 localtime 函数分别获取年月日时分秒的数值. #include< ...
- linux下查看系统socket读写缓冲区
一:linux下查看系统socket读写缓冲区大小配置: http://blog.csdn.net/herecles/article/details/8146017 1. tcp 收发缓冲区默认值 [ ...
- linux 如何查看属性,linux 下查看系统属性
linux 下查看系统属性 (2009-06-28 19:01:34) 标签: linux 杂谈 分类: OS linux下查看系统属性 1.查看cpu信息 查看所有cpu信息:cat /proc/c ...
- Linux 下检查 VT-d / IOMMU 是否开启
介绍 VT-d 和 IOMMU 其实都是指的 I/O 虚拟化,只不过前者是 Intel 的叫法,后者是 AMD 的叫法: VT-d 全称为 Intel® Virtualization Technolo ...
- Linux下查看系统启动时间、安装时间
Linux下查看系统启动时间.安装时间 一.查看启动时间: 1.uptime命令 [root@iZ8vbf5x2ke0nbfocpm645Z ~]# uptime 17:52:33 up 14 day ...
- Linux下判断磁盘是SSD还是HDD的几种方法
文章目录 1.使用Linux相关命令 2.linux查看磁盘所在槽位 1.使用Linux相关命令 方法1: 如果是直通盘,即JBOD模式,方法则正确 如果返回1则表示磁盘可旋转,那么就是HDD了:反之 ...
最新文章
- 呼和浩特市智慧平安城市建设迈进技防新时代
- rtems的GNU(GCC)编译环境配置
- Django基础篇之MVC与MTV模型
- 二、Netty服务端/客户端启动整体流程
- 23种设计模式之桥梁模式
- java 与c des_Java和C/C++进行DES/AES密文传输
- Cere Network将在DAOMaker平台启动首次种子私募轮社区融资
- python实现食品推荐_Python分析亚马逊赞不绝口食物评论
- MachineLearning经典图
- 这些年,这些ACM大佬-施韩原访谈
- toolchain安装教程支持_toolchain
- Java 开发之微信(支付宝)扫码支付的小总结
- 五个教书匠还怕一个杀猪匠(爆笑)
- 医咖会SPSS免费教程学习笔记—Fisher精确检验
- python中实现简单抽样的函数
- 《保卫萝卜》项目实践(2)
- 河北单招计算机英语,2019年河北高职单招考试十类 和对口电子电工类、计算机类联考 专业基础考试(英语)考试大纲.doc...
- STM32之W5500:掉线重联????
- 写给交互设计新手的信息架构全方位指南
- python语句结束符_python 为什么不用分号作终止符?
热门文章
- php 生成类,PHP静态文件生成类实例
- apt-get update出现NO_PUBKEY问题解决
- python plot 增加标记线_Python可视化| matplotlib04-掌握标记和线型的使用,一文,marker,linestyle...
- idea上安卓 Android SDK的安装
- java 富文本 xss_Jsoup 防止富文本 XSS 攻击
- 7. 锁定框架(The Locking Framework)
- 【渝粤教育】电大中专新媒体营销实务 (14)作业 题库
- 【渝粤题库】陕西师范大学209015公共经济学作业(高起本、专升本)
- Android 布局渲染流程与卡顿优化
- Project configuration is not up-to-date with pom.xml. Run Maven-Update Project or use Quick Fix