lscpu命令详解
一、lscpu输出
使用lscpu查看的结果如下图,这里会显示很多信息,如下:
使用lscpu -p会详细的numa信息,如下:
- [root@localhost ~]# lscpu -p
- # The following is the parsable format, which can be fed to other
- # programs. Each different item in every column has an unique ID
- # starting from zero.
- # CPU,Core,Socket,Node,,L1d,L1i,L2,L3
- 0,0,0,0,,0,0,0,0
- 1,1,1,2,,1,1,1,1
- 2,2,2,4,,2,2,2,2
- 3,3,3,7,,3,3,3,3
- 4,0,0,0,,4,0,0,0
- 5,1,1,2,,5,1,1,1
- 6,2,2,4,,6,2,2,2
- 7,3,3,7,,7,3,3,3
- 8,4,0,0,,8,4,4,0
- 9,5,1,2,,9,5,5,4
- …………略部
此命令用来显示cpu的相关信息
lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读
命令输出的信息包含cpu数量,线程,核数,套接字和Nom-Uniform Memeor Access(NUMA),缓存等
不是所有的列都支持所有的架构,如果指定了不支持的列,那么lscpu将打印列,但不显示数据
语法:
lscpu [-a|-b|-c] [-x] [-s directory] [-e [=list]|-p [=list]]
lscpu -h|-V
-a, –all: 包含上线和下线的cpu的数量,此选项只能与选项e或-p一起指定
-b, –online: 只显示出上线的cpu数量,此选项只能与选项e或者-p一起指定
-c, –offline: 只显示出离线的cpu数量,此选项只能与选项e或者-p一起指定
-e, –extended [=list]: 以人性化的格式显示cpu信息,如果list参数省略,输出所有可用数据的列,在指定了list参数时,选项的字符串、等号(=)和列表必须不包含任何空格或其他空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’
-h, –help:帮助
-p, –parse [=list]: 优化命令输出,便于分析.如果省略list,则命令的输出与早期版本的lscpu兼容,兼容格式以两个逗号用于分隔cpu缓存列,如果没有发现cpu缓存,则省略缓存列,如果使用list参数,则缓存列以冒号(:)分隔。在指定了list参数时,选项的字符串、等号(=)和列表必须不包含空格或者其它空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’
-s, –sysroot directory: 为一个Linux实例收集CPU数据,而不是发出lscpu命令的实例。指定的目录是要检查Linux实例的系统根
-x, –hex:使用十六进制来表示cpu集合,默认情况是打印列表格式的集合(例如:0,1)
显示格式:
Architecture: #架构
CPU(s): #逻辑cpu颗数
Thread(s) per core: #每个核心线程
Core(s) per socket: #每个cpu插槽核数/每颗物理cpu核数
CPU socket(s): #cpu插槽数
Vendor ID: #cpu厂商ID
CPU family: #cpu系列
Model: #型号
Stepping: #步进
CPU MHz: #cpu主频
Virtualization: #cpu支持的虚拟化技术
L1d cache: #一级缓存(google了下,这具体表示表示cpu的L1数据缓存)
L1i cache: #一级缓存(具体为L1指令缓存)
L2 cache: #二级缓存
---------------------
作者:linux凯
来源:CSDN
原文:https://blog.csdn.net/chenghuikai/article/details/72832016
版权声明:本文为博主原创文章,转载请附上博文链接!
---------------------
作者:double12gzh
来源:CSDN
原文:https://blog.csdn.net/gzhouc/article/details/51999485
版权声明:本文为博主原创文章,转载请附上博文链接!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
i2000:~ # lscpu Architecture: x86_64 CPU op -mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 2 Core(s) per socket: 1 Socket(s): 4 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 62 Stepping: 4 CPU MHz: 2499.998 BogoMIPS: 4999.99 Hypervisor vendor: KVM Virtualization type : full L1d cache: 32K L1i cache: 32K L2 cache: 4096K NUMA node0 CPU(s): 0-7 |
socket就是主板上插cpu的槽的数目,也就是可以插入的物理CPU的个数。
core就是我们平时说的“核“,每个物理CPU可以双核,四核等等。
thread就是每个core的硬件线程数,即超线程
输入命令cat /proc/cpuinfo 查看physical id有几个,上述结果显示只有0,所以只有一个物理cpu;查看processor有几个,上述结果显示有0和1两个,所以有两个逻辑cpu。
(一)概念
① 物理CPU
实际Server中插槽上的CPU个数
物理cpu数量,可以数不重复的 physical id 有几个
② 逻辑CPU
/proc/cpuinfo 用来存储cpu硬件信息的
信息内容分别列出了processor 0 –processor n 的规格。这里需要注意,n是逻辑cpu数
一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来
逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)
备注一下:Linux下top查看的CPU也是逻辑CPU个数
③ CPU核数
一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU
一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术
㈡ 查看CPU信息
当我们 cat /proc/cpuinfo 时、
具有相同core id的CPU是同一个core的超线程
具有相同physical id的CPU是同一个CPU封装的线程或核心
㈢ 下面举例说明
① 查看物理CPU的个数
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
2
② 查看逻辑CPU的个数
#cat /proc/cpuinfo |grep "processor"|wc -l
24
③ 查看CPU是几核
#cat /proc/cpuinfo |grep "cores"|uniq
6
我这里应该是2个Cpu,每个Cpu有6个core,应该是Intel的U,支持超线程,所以显示24
lscpu
显示 CPU 的架构信息
lscpu
从 sysfs
和 proc/cpuinfo
中收集信息。这个命令的输出是规范的可以用来解析,或者给人来阅读。该命令显示的信息包括,CPU 的数量,线程 (thread),核心 (core),Socket 还有 Non-Uniform Memory Access (NUMA) 节点数。
- Socket 具体是指的主板上 CPU 的插槽数量,一般笔记本只有一个,而服务器可能会有多个。如果有两个插槽,通常称为两路
- Core 具体是指 CPU 的核心,也就是平常说的几核,比如八核之类
- thread 是指的每个 Core 的硬件线程数,超线程
举例来说,如果某个服务器”2 路 4 核超线程”,也就是 2 个插槽,4 核心,默认为 2 thread,也就是 242 是 16 逻辑 CPU。对操作系统来说,逻辑 CPU 的数量就是 Socket * Core * Thread
。
比如下面我的台式机,1 Sockets, 4 Cores,2 Threads,那么就是 4 核 8 线程。
如下示例:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
lscpu 收集来自 sysf,/proc/cpuinfio 和任何适用于体系结构的库的 CPU 体系结构信息
命令输出可以进行优化, 以供分析或便于阅读。这些信息包括,列如:
cpu的数量、线程、内核、套接字和非统一内存访问 (NUMA) 节点。
还有有关 CPU 缓存和缓存共享、家族、模型 bogoMIPS、字节顺序和单步执行的信息。在虚拟化环境中, 显示的 CPU 体系结构信息反映了与物理 (主机) 系统通常不同的来宾操作系统的配置。 在支持检索物理拓扑信息的体系结构中, lscpu 还显示主机系统中的物理插座、芯片、内核数。
并非所有的列都支持所有的体系结构。 如果指定了不支持的列, lscpu 将打印该列, 但不为其提供任何数据。
!CPU 文件存放在 /sys/devices/system/cpu/
查看CPU信息
Shell
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0-1
Thread(s) per core: 1
Core(s) per socket: 2
座: 2
NUMA 节点: 1
厂商 ID: GenuineIntel
CPU 系列: 6
型号: 63
型号名称: Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
步进: 2
CPU MHz: 3299.050
BogoMIPS: 6598.10
超管理器厂商: VMware
虚拟化类型: 完全
L1d 缓存: 32K
L1i 缓存: 32K
L2 缓存: 256K
L3 缓存: 15360K
NUMA 节点0 CPU: 0-1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0-1
Thread(s) per core: 1
Core(s) per socket: 2
座: 2
NUMA 节点: 1
厂商 ID: GenuineIntel
CPU 系列: 6
型号: 63
型号名称: Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
步进: 2
CPU MHz: 3299.050
BogoMIPS: 6598.10
超管理器厂商: VMware
虚拟化类型: 完全
L1d 缓存: 32K
L1i 缓存: 32K
L2 缓存: 256K
L3 缓存: 15360K
NUMA 节点0 CPU: 0-1
|
将指定的CPU关闭
pwd
/sys/devices/system/cpu
ls -Al |grep 'cpu[0-9]' # 正规则查询 CPU目录下 所有CPU
drwxr-xr-x. 6 root root 0 2月 5 2018 cpu0
drwxr-xr-x. 6 root root 0 2月 5 2018 cpu1
cat ./cpu[0-9]/online # 查看所有CPU的 online 值
1
1
echo 0 > ./cpu1/online # 将CPU0 关闭
cat ./cpu[0-9]/online
1
0
lscpu |grep -Ei 'on-line|off-line' # 查看所有CPU的 online 值,可以看到 CPU1 已经被关闭
On-line CPU(s) list: 1
Off-line CPU(s) list: 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
cd /sys/devices/system/cpu/ # 进入CPU目录
pwd
/sys/devices/system/cpu
ls -Al |grep 'cpu[0-9]' # 正规则查询 CPU目录下 所有CPU
drwxr-xr-x. 6 root root 0 2月 5 2018 cpu0
drwxr-xr-x. 6 root root 0 2月 5 2018 cpu1
cat ./cpu[0-9]/online # 查看所有CPU的 online 值
1
1
echo 0 > ./cpu1/online # 将CPU0 关闭
cat ./cpu[0-9]/online
1
0
lscpu |grep -Ei 'on-line|off-line' # 查看所有CPU的 online 值,可以看到 CPU1 已经被关闭
On-line CPU(s) list: 1
Off-line CPU(s) list: 0
|
lscpu命令详解的更多相关文章
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- Docker命令详解
Docker命令详解 最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- android adb 命令详解
ADB (Android Debug Bridge) 是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Top 命令详解
Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...
- Ruby Gem命令详解
转自:http://www.jianshu.com/p/728184da1699 Gem介绍: Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.o ...
随机推荐
- centos中安装、升级git
yum install git 若是从老版本升级,则按下面方法.(centos中) 先更新系统sudo yum update 安装依赖的包yum install curl-devel expa ...
- HDU 1251 统计难题(字典树入门模板题 很重要)
统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submi ...
- VSC 插件开发从入门到Hello World
1.原理放一边,我们先来个Hello,World 1.1 安装基础环境 需要的基础环境列表: Node.js npm vs code yo generator-code yo:全称Yeoman,可以把 ...
- Unity 4.7 导出工程在XCode9/10上报错 validateRenderPassDescriptor:644: failed assertion `XXXX'
Unity 4.7 导出工程在XCode9/10上报错 validateRenderPassDescriptor:644: failed assertion `Texture at colorAtta ...
- 各国货币json文件
[ {"countryname":"","name":"请选择","currency":" ...
- 第一篇 深入嵌入式之Linux裸机
{ 个人心得: 嵌入式底层重要的是在CPU(各种架构)或SOC基础上,利用u-boot初始化系统,并启动OS,建立实时多任务环境.文件系统等,再根据功能要求设计上层程序:而对硬件的需有足够掌握. } ...
- Python学习 :常用模块(二)
常用模块(二) 四.os模块 os模块是与操作系统交互的一个接口,用于对操作系统进行调用 os.getcwd() # 提供当前工作目录 os.chdir() # 改变当前工作目录 os.curdir( ...
- 在centos6.5下用nginx无法连接zabbix与mysql的解决办法
一般情况下默认的webserver是apache.zabbix也不例外,官方文档全都是推荐用apache. 如果执意用nginx来做webserver的话,php引导需要再安装一个php-fpm.而且 ...
- Get與Post的區別--總結隨筆
關於Get與Post的區別的文章,在網上太多了:有優點有缺點,今天我給各位大哥做一個總結性的隨筆,還請多多包涵~ 首先是W3School上的答案,請查收: GET在浏览器回退时是无害的,而POST会再 ...
- import require
https://www.zhihu.com/question/56820346/answer/150743994