lscpu

cat /proc/cpuinfo对绝大多数Linux适用,lscpu更简练

cat /proc/cpuinfo

下面是一个实例:

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 26
model name : Intel(R) Xeon(R) CPU X5550 @ 2.67GHz
stepping : 5
cpu MHz : 2666.851
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 0 cpu cores : 4
apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr popcnt lahf_lm
bogomips : 5333.70
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: [8]
processor : 1
...
cpu cores : 4
...

processor : n ... cpu cores : 4 ... processor : 15 ... cpu cores : 4 ...

【所以CPU(processor)的数量是最后一个cpu标号加1,每颗CPU的核数是其中"cpu cores"的值,这是一个有16颗4核CPU的服务器】

上面的结论错误,阅读cpuinfo的正确方法是:

  1. 通过physical id确定有多少个物理CPU(即多少个CPU插槽socket,或者叫物理封装);

  2. 通过cpu cores确定某一个物理CPU有多少核;

  3. 如果siblings数量与cpu core一致,说明没有超线程。反之如果siblings的值大于cpu cores,说明开启了超线程(hyperthreading),开启超线程的另一个证据是不同的processor拥有同样的core id,这一点可以用"cat /proc/cpuinfo|grep "core id"确认;

  4. processor的数量应该等于物理CPU的数量与siblings的乘积;

根据以上方法分析,上面的服务器有两颗4核CPU(即两个CPU插槽,每个插槽上的CPU有4个核),开启了超线程,共有16个逻辑CPU。

参考Understanding Linux /proc/cpuinfo

相关资料

  • 查看CPU是32位还是64的方法是:cpuinfo的flags参数中是否有"lm"这一项,lm表示long mode,可以用"cat /proc/cpuinfo|grep "\<lm>"查询;

  • CPU超线程技术可以参考Hyper-threading

另:用free指令查看系统内存大小

用free -g以GB为单位显示内存大小,另外可以通过查看cat /proc/meminfo指令结果第一行的方法确定物理内存大小;

Linux系统CPU信息查询方法的更多相关文章

  1. linux下CPU信息查询

    1.查看逻辑CPU个数: #cat /proc/cpuinfo |grep "processor"|sort -u|wc -l24 2.由于有超线程技术有必要查看一下物理CPU个数 ...

  2. Linux系统CPU相关信息查询

    Linux系统CPU相关信息查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lscpu常用参数介绍 1>.查看帮助信息 [root@node105 ~]# lscpu ...

  3. linux系统CPU,内存,磁盘,网络流量监控脚本

    前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...

  4. Linux系统中安装软件方法总结

    Linux系统中安装软件方法总结 [1]Linux系统中安装软件的几种方式 [2] Linux配置yum源(本地源和网络源) [3] SuSE下zypper源配置 [4] SUSE zypper 本地 ...

  5. JavaScript获取客户端计算机硬件及系统等信息的方法

    JavaScript获取客户端计算机硬件及系统等信息的方法 JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息: function getSysInf ...

  6. Linux系统cpu 100%修复案例

    Linux系统cpu 100%修复案例 ​阿里云技术支持团队:完颜镇江 案例背景: Linux主机连续三天CPU% 处理思路: 1.  登录服务器查看/var/log/messages+/var/lo ...

  7. 查看Linux系统软硬件信息

    查看Linux系统软硬件信息 查看计算机CPU信息 cat /proc/cpuinfo 查看文件系统信息 cat /proc/filesystems 查看主机中断信息 cat /proc/interr ...

  8. Linux系统在信息社会的发展

    Linux系统在信息社会的发展 随着信息技术的高速发展并迅速渗透到社会生活的各个方面,Linux日益成为人们学习.工作.生活不可缺少的基本工具,再过不了几年,不会使用Linux,就会象不识字一样使人举 ...

  9. C/C++获取Linux系统CPU和内存及硬盘使用情况

    需求分析: 不使用Top  df  free 等命令,利用C/C++获取Linux系统CPU和内存及硬盘使用情况 实现: //通过获取/proc/stat (CPU)和/proc/meminfo(内存 ...

随机推荐

  1. layui table 使用table放输入框时控制每列的宽度

    <table class="layui-table" lay-filter="demo"> <colgroup> <%--设置每列 ...

  2. idea debug无法启动 Error running 'Tomcat8': Unable to open debugger port (127.0.0.1:50168): java.net.SocketException "socket closed

    在日志里显示在 event log 里的 Error running 'server_web': Address localhost:1099 is already in use 显示1099单口已被 ...

  3. GPU 高性能计算

    背景 近日忽然想到,在CPU类型的服务器即使给到足够的运算资源,与GPU类型的服务器做运算来讲仍然是相差甚远,而本人有一台闲置的AMD vega8集显的电脑.想要用来做计算,来探究其与CPU运算的差别 ...

  4. css边框样式(动画)

    html: <div class="wrap"> <a href="#">shui</a> </div> css ...

  5. python 常见面试问题

    https://blog.csdn.net/weixin_43789195/article/details/87469096 https://blog.csdn.net/qq_42642945/art ...

  6. pxe+kickstart部署多个版本的Linux操作系统(上)---原理篇

    PXE概述: 1.PXE(Pre-bootExecution Environment),预启动执行环境2.通过网络接口启动计算机3.支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系 ...

  7. div标签width:auto无效

    1,因为div标签默认是display:block,独占一行,宽度为父元素的100%,但是高度是auto,跟随内部内容而定.所以要想 设值父元素随子元素的宽高,那么就要设置div标签为display: ...

  8. python基础之列表推导式

    #列表推导式 ---> 返回的是列表 for语句 效率更高# 1*1 2*2 3*3 4*4 5*5 6*6 7*7 8*8 9*9# import time# to = time.clock( ...

  9. Linkerd 金丝雀部署与 A/B 测试

    本指南向您展示如何使用 Linkerd 和 Flagger 来自动化金丝雀部署与 A/B 测试. 前提条件 Flagger 需要 Kubernetes 集群 v1.16 或更新版本和 Linkerd ...

  10. StringIO和BytesIO的用法

    数据读写有两种方式: 1.直接读写.案例 import openpyxl def write_excel(): f = openpyxl.Workbook() # 创建工作簿 # sheet1 = f ...