linux服务器cpu信息查看详解
在linux系统中,提供了/proc目录下文件,显示系统的软硬件信息。如果想了解系统中CPU的提供商和相关配置信息,则可以查/proc/cpuinfo。但是此文件输出项较多,不易理解。例如我们想获取,有多少颗物理CPU,每个物理cpu核心数,以及逻辑cpu和超线程等信息,下面我们就看来一步一步的去探索。
首先要明确物理CPU、核数、逻辑cpu数的概念
①物理CPU数(physical id):主板上实际插入的cpu数量,可以数不重复的 physical id 有几个
②CPU核心数(cpu cores):单块CPU上面能处理数据的芯片组的数量,如双核、四核等
③逻辑CPU数:一般情况下,
逻辑CPU=物理CPU个数×每颗核数 #不支持超线程技术或没有开启次技术
逻辑CPU=物理CPU个数×每颗核数 *2 #表示服务器的CPU支持超线程技术(简单来说,它可使处理器中的1 颗内核如2 颗内核那样在操作系统中发挥作用。这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能)
第一部分cpuinfo文件内容,涉及的项目解读
话不多少,看图说话。下图是我负责维护的一台服务器的CPU信息。使用cat /proc/cpuinfo。足足输出1500+条记录。其中内容均和下图相似,不同的是“:”右边的信息不同。
下面对上图的输出内容进行相应解释
processor :系统中逻辑处理核心数的编号,从0开始排序。
vendor_id :CPU制造商
cpu family :CPU产品系列代号
model :CPU属于其系列中的哪一代的代号
model name:CPU属于的名字及其编号、标称主频
stepping :CPU属于制作更新版本
cpu MHz :CPU的实际使用主频
cache size :CPU二级缓存大小
physical id :单个物理CPU的标号
siblings :单个物理CPU的逻辑CPU数。siblings=cpu cores [*2]。
core id :当前物理核在其所处CPU中的编号,这个编号不一定连续。
cpu cores :该逻辑核所处CPU的物理核数。比如此处cpu cores 是4个,那么对应core id 可能是 1、3、4、5。
apicid :用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
fpu :是否具有浮点运算单元(Floating Point Unit)
fpu_exception :是否支持浮点计算异常
cpuid level :执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
wp :表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
flags :当前CPU支持的功能
bogomips:在系统内核启动时粗略测算的CPU速度
clflush size :每次刷新缓存的大小单位
cache_alignment :缓存地址对齐单位
address sizes :可访问地址空间位数
power management :对能源管理的支持
第二部分快速查询想要获取的信息
①查询系统有几颗物理CPU:cat /proc/cpuinfo | grep "physical id" |sort |uniq
②查询系统每颗物理CPU的核心数:cat /proc/cpuinfo | grep "cpu cores" | uniq
③查询系统的每颗物理CPU核心是否启用超线程技术。如果启用此技术那么,每个物理核心又可分为两个逻辑处理器。
cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq
如果cpu cores数量和siblings数量一致,则没有启用超线程,否则超线程被启用。
④查询系统具有多少个逻辑CPU:cat /proc/cpuinfo | grep "processor" | wc -l
补充一个小知识
查看linux是物理机还是虚拟机:dmidecode -s system-product-name
如果有写的错的地方,欢迎指正,联系吴西鑫。
linux服务器cpu信息查看详解的更多相关文章
- Linux top命令中CPU信息的详解(转)
add by zhj: 下面的文章解释的很好了,这里再说明一下top命令中wa的含义,我们知道,当IO阻塞时,操作系统会把进程改为阻塞态,将CPU调度到运行其它进程. CPU在空闲状态下,会检查是否有 ...
- [转载]查看Linux系统硬件信息实例详解
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说. cpu lscpu命令,查看的是cpu的统计信息. blue@blue-pc:~ ...
- 部署WEB项目到服务器(一)安装java到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,首先要下载一个适合已经安装的linux系统的java版本. 登录网址:http://www.oracle.com/technetwork/java/j ...
- 部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,首先是下载一个适合自己已安装服务器版本的mysql数据库. 这里使用网上的链接http://dev.mysql.com/downloads/mysql ...
- linux服务器进程信息查看命令
#lsof 列出当前系统打开文件,常与-i选项使用,用于查看某个端口被哪个程序占用 [root@bogon ~]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE ...
- 安装Nginx到linux服务器(Ubuntu)详解
先去下载一个nginx放到服务器. 然后解压(可参考前面安装tomcat)编译(./configure --prefix=/usr/local/nginx/server/ && mak ...
- 部署WEB项目到服务器(二)安装tomcat到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,先去tomcat官网下载一个适合linux的版本:tar.gz 2,然后通过FileZIlla传到服务器的/opt目录: 3,然后创建目录 并解压缩 ...
- 部署WEB项目到服务器(四)部署WEB项目Forum到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,使用Navicat for MYSQL客户端创建WEB项目数据库: Navicat for MYSQL连接虚拟机中的mysql数据库 启动mysql数 ...
- 查看linux服务器CPU相关
查看linux服务器CPU相关: 1.查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 2.查看 ...
随机推荐
- Java基础(一)对象构造
由于Java对象构造非常重要,所以Java提供了多种编写构造器的机制. 1.重载 如果多个方法有相同的名字.不同的参数,便产生了重载.编译器必须挑选出具体执行哪个方法,它通过用各个方法给出的参数类型与 ...
- Java中的substring()用法
String str = "Hello Java World!"; Method1: substring(int beginIndex) 返回从起始位置(beginIndex)至 ...
- CSAPP:代码优化【矩阵运算】
编程除了使程序在所有可能的情况下都正确工作,还需要考虑程序的运行效率,上一节主要介绍了关于读写的优化,本节将对运算的优化进行分析.读写优化 编写高效程序需要做到以下两点: 选择一组合适的算法和数据结构 ...
- Vue引入插件
引入Element ui 1.在当前目录下,运行:npm i element-ui -S 2.在src/main.js中添加代码 import ElementUI from 'element-ui' ...
- vue项目如何在node启动
首先将vue项目通过命令npm run build 打包,然后创建start.js,代码如下: // const userApi = require('./api'); const fs = requ ...
- [springboot 开发单体web shop] 3. 用户注册实现
目录 用户注册 ## 创建数据库 ## 生成UserMapper ## 编写业务逻辑 ## 编写user service UserServiceImpl#findUserByUserName 说明 U ...
- 20190723_C的三个小实现
1. 有一个字符串开头或结尾含有n个空格(“ abcdefgdddd ”),欲去掉前后的空格,返回一个新的字符串.a) 要求1:请自己定义一个接口(函数),并实现功能:b) 要求2:编写测试 ...
- [BZOJ4553][HEOI2016/TJOI2016]序列
传送门 好像是DP再套个裸的CDQ? 树套树是不可能写树套树的,这辈子都不可能写树套树的 对于一个 \(i\) ,设它最小为 \(a_i\) ,原数为 \(b_i\) ,最大为 \(c_i\) \(f ...
- T1
老师的作业提示里说有难题,也有水题,果真很水... 单纯的模拟加暴力 #include<iostream> using namespace std; int n; ; int cow[ma ...
- Project Euler 54: Poker hands
在纸牌游戏中,一手包含五张牌并且每一手都有自己的排序,从低到高的顺序如下: 大牌:牌面数字最大 一对:两张牌有同样的数字 两对:两个不同的一对 三条:三张牌有同样的数字 顺子:所有五张牌的数字是连续的 ...