简述
Linux系统的ECS实例中如何查看物理CPU和内存信息
前情提示
系统:
一说
- Powered By PUSDN - 平行宇宙软件开发者网www.pusdn.com ,转载请标明出处!同步更新最新版、完整版请移步PUSDN
- 部分截图、链接等因过期、更换域名、MD语法等可能不显示,可联系反馈(备注好博文地址),谢谢❤
- 带有
#号、删除线、不操作、不执行
字样的为提示或者备份bash,实际不执行
说明:
总核数 = 物理CPU个数 × 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 × 每颗物理CPU的核数 × 超线程数
通过如下命令,可以查看物理CPU和内存相关信息。
查看物理CPU个数。
代码语言:javascript复制cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看每个物理CPU中core的个数,即CPU核数。
代码语言:javascript复制cat /proc/cpuinfo| grep "cpu cores"| uniq
查看逻辑CPU的个数。几核几G,一般用这个
代码语言:javascript复制cat /proc/cpuinfo| grep "processor"| wc -l
查看CPU型号。
代码语言:javascript复制cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看内存信息。
代码语言:javascript复制cat /proc/meminfo
获取物理内存信息,单位K
代码语言:javascript复制free | grep Mem | awk '{print $2}'
已使用内存
代码语言:javascript复制free | grep Mem | awk '{print $3}'
代码语言:javascript复制# 获取交换分区总大小
mem_swap_total=`free | grep Swap | awk '{print $2}'`
echo "交换分区总大小:"$mem_swap_total
# 获取已使用交换分区大小
mem_swap_used=`free | grep Swap | awk '{print $3}'`
echo "已使用交换分区大小:"$mem_swap_used
# 获取剩余交换分区大小
mem_swap_free=`free | grep Swap | awk '{print $4}'`
echo "剩余交换分区大小:"$mem_swap_free
补充
基本概念 物理CPU:物理CPU就是插在主机上的真实的CPU硬件,在Linux下可以数不同的physical id 来确认主机的物理CPU个数。 核心数:物理CPU下一层概念就是核心数,我们常常会听说多核处理器,其中的核指的就是核心数。在Linux下可以通过cores来确认主机的物理CPU的核心数。 逻辑CPU:核心数下一层的概念是逻辑CPU,逻辑CPU跟超线程技术有联系,假如物理CPU不支持超线程的,那么逻辑CPU的数量等于核心数的数量;如果物理CPU支持超线程,那么逻辑CPU的数目是核心数数目的两倍。在Linux下可以通过 processors 的数目来确认逻辑CPU的数量。 超线程:超线程是英特尔开发出来的一项技术,使得单个处理器可以象两个逻辑处理器那样运行,这样单个处理器以并行执行线程。这里的单个处理器也可以理解为CPU的一个核心;这样便可以理解为什么开启了超线程技术后,逻辑CPU的数目是核心数的两倍了。 在Linxu下查看物理cpu、核心数、逻辑CPU和是否支持超线程 关于CPU的一些信息可在 /proc/cpuinfo 这个文件中查看,这个文件显示的内容类似于下图所示
可以看到里面的内容是以 processor (也就是逻辑CPU)为基本单元进行划分的,processor 下的 core id表示这个逻辑CPU属于哪个核心,而physical id则表示这个核心或者说逻辑CPU属于哪个物理CPU。了解这些信息,便可以方便地查看上面说到的那些参数。
查看物理CPU数量 物理CPU就是不同的phycical id的个数,可通过下面命令实现: cat /proc/cpuinfo | grep ‘physical id’ | uniq |wc -l uniq是为了去掉多个逻辑CPU属于同一个物理CPU的重复记录。
查看核心数 核心数就是不同core id的个数,可通过下面的命令实现 cat /proc/cpuinfo | grep ‘core id’ | uniq |wc -l 原理同上
查看逻辑CPU数目 逻辑CPU就是processor的数目 cat /proc/cpuinfo | grep ‘processor’ | wc -l 查看逻辑CPU时不需要去重
查看是否支持超线程 如果支持超线程就是说同一个core下会有两个processors,这样可以简单地观察/proc/cpuinfo中的内容,如果两个的processor下的core id相同,那么说明支持超线程。 还有另外一种方法是查看siblings和cpu cores的数值是否一致,评判方法如下
如果”siblings”和”cpu cores”一致,则说明不支持超线程,或者超线程未打开。 如果”siblings”是”cpu cores”的两倍,则说明支持超线程,并且超线程已打开。
另外,top命令中看到的CPU数目是逻辑CPU(输入top后再按1)。