[Linux] 服务器CPU信息

(1)查看CPU信息(型号)

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

输出:可以看到有128个虚拟CPU核心,型号是后面一串

128  Intel(R) Xeon(R) Platinum 8336C CPU @ 2.30GHz

(2)查看物理CPU个数

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

输出:我们实验室服务器只有两个物理CPU,垃圾。

2

(3)查看每个物理CPU中core的个数(即实际核数)

cat /proc/cpuinfo| grep "cpu cores"| uniq

输出: 一个CPU实际核数只有32。

cpu cores       : 32

(4)虚拟核心

输出中,显示了 CPU(s): 128,这意味着系统实际上识别到128个虚拟CPU或线程数,而不是物理CPU核心数量。这个现象通常由以下几个原因造成:

  1. 超线程技术(Hyper-Threading)

    • 处理器 Intel Xeon Platinum 8336C 支持 超线程技术(Hyper-Threading,HT)。每个物理核心可以通过 HT 支持多个线程。

    • 每个物理核心 (Core(s) per socket: 32) 可以运行 2 个线程 (Thread(s) per core: 2)。

    • 因此,2 个物理 CPU 插槽(Socket(s): 2)和每个插槽 32 个核心就提供了 32 * 2 = 64 个线程(每个物理核心有 2 个线程)。

    • 因此,在两个 CPU 插槽上,系统总共有 64 * 2 = 128 个虚拟核心(线程)。

  2. 虚拟 CPU 数量与物理核心数量的差异

    • 物理 CPU 插槽数量:2

    • 每个 CPU 插槽的核心数:32

    • 每个核心支持线程数:2(超线程)

    • 所以,系统看到的 128 个虚拟 CPU 是因为启用了超线程(Hyper-Threading),它使得每个物理核心能够处理两个独立的线程。

  3. NUMA 配置(用于CPU间数据交换的组)

    • 输出中显示有 2 个 NUMA 节点:

    • NUMA node0 CPU(s): 0-31, 64-95

    • NUMA node1 CPU(s): 32-63, 96-127

    • 这意味着两个 NUMA 节点分别使用了不同的 CPU 范围。例如,节点0包含 0-31 和 64-95 的 CPU 核心,而节点1包含 32-63 和 96-127 的 CPU 核心。NUMA 配置表示内存访问策略和 CPU 核心的关联,也对并行计算有影响,特别是在大型多线程计算中。

(5)lscpu查看一些信息(包括 cache 和 cpu)
部分输出如下:

CPU(s):                  128
Core(s) per socket: 32
Thread(s) per core: 2
Socket(s):           2  // 这里的socke指的是实际CPU数量
L1d:                   3 MiB (64 instances)
L1i:                   2 MiB (64 instances)

其中L1d cache有64个实例,也就是说我每个物理core都有一个自己的L1d,大小都为3MiB。每个物理核心(Core)有独立的 L1d 和 L1i 缓存。两个逻辑核心(Hyper-Threading)共享同一个物理核心的 L1d 和 L1i 缓存。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/64682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过无障碍服务(AccessibilityService)实现Android设备全局水印显示

一、无障碍功能简介 首先我们先来了解下无障碍功能的官方介绍: 无障碍服务仅应用于帮助残障用户使用 Android 设备和应用。它们在后台运行,并在触发 AccessibilityEvents 时接收系统的回调。此类事件表示用户界面中的某些状态转换,例如焦点已…

java中多线程的一些常见操作

Java 中的多线程是通过并发编程来提高应用程序的效率和响应速度。Java 提供了多个机制和类来支持多线程编程,包括继承 Thread 类、实现 Runnable 接口、使用线程池等。以下是 Java 中一些常见的多线程操作和应用场景。 1. 创建线程 1.1 通过继承 Thread 类创建线程…

使用 Docker 搭建 Hadoop 集群

1.1. 启用 WSL 与虚拟机平台 1.1.1. 启用功能 启用 WSL并使用 Moba 连接-CSDN博客 1.2 安装 Docker Desktop 最新版本链接:Docker Desktop: The #1 Containerization Tool for Developers | Docker 指定版本链接:Docker Desktop release notes | Do…

【每日学点鸿蒙知识】广告ID、NFC手机充值、CSS支持语法、PC与模拟器交互、SO热更新等

1、HamonyOS 样机获取成功返回Oaid为00000000-0000-0000-0000-000000000000? 请求授权时需要触发动态授权弹窗,看一下是不是没有触发授权弹窗。 可以参考以下代码以及文档: // ets import identifier from ohos.identifier.oaid; import hilog from oh…

【YOLO 项目实战】(12)红外/可见光多模态目标检测

欢迎关注『youcans动手学模型』系列 本专栏内容和资源同步到 GitHub/youcans 【YOLO 项目实战】(10)YOLO8 环境配置与推理检测 【YOLO 项目实战】(11)YOLO8 数据集与模型训练 【YOLO 项目实战】(12)红外/可…

logback日志框架源码分析

目录 (一)入口:slf4j选择日志框架 (二)日志框架初始化 (1)logback的3种配置方式 a、BasicConfigurator默认配置 b、SPI方式配置的Configurator实现类 c、通过配置文件初始化 (2)xml配置文件初始化 (三)Logger的创建 (四)打印日志 本文源码基于:logback版…

国产数据库OceanBase从入门到放弃教程

1. 介绍 是由蚂蚁集团(Ant Group,原蚂蚁金服)自主研发的分布式关系型数据库。它旨在解决海量数据存储和高并发访问的问题,特别适合金融级应用场景,如支付宝等对数据一致性、可靠性和性能有极高要求的服务。以下是关于…

连接Milvus

连接到Milvus 验证Milvus服务器正在侦听哪个本地端口。将容器名称替换为您自己的名称。 docker port milvus-standalone 19530/tcp docker port milvus-standalone 2379/tcp docker port milvus-standalone 192.168.1.242:9091/api/v1/health 使用浏览器访问连接地址htt…

机器学习中的欠拟合

当模型不能够准确地表达输入与输出的关系时,就是欠拟合。它在训练集和未见过的数据都会产生高误差率。过度拟合则在训练集表现出低误差率,只有对未见过的数据表现出高误差率。 当模型太过于简单时,它需要更多的训练时间、更多的输入特征、更…

安卓入门二 Kotlin基础

Kotlin Kotlin的历史 Kotlin由Jet Brains公司开发设计,2011年公布第一版,2012年开源。 2016年发布1.0正式版,并且Jet Brains在IDEA加入对Kotlin的支持,安卓自此又有新的选择。 2019年谷歌宣布Kotlin成为安卓第一开发语言&#x…

淺談Cocos2djs逆向

前言 簡單聊一下cocos2djs手遊的逆向,有任何相關想法歡迎和我討論^^ 一些概念 列出一些個人認為比較有用的概念: Cocos遊戲的兩大開發工具分別是CocosCreator和CocosStudio,區別是前者是cocos2djs專用的開發工具,後者則是coco…

STM32驱动NRF24L01

一、NRF24L01的相关介绍 1.2 引脚的介绍 关于SPI的引脚就不再说了,这里介绍其余的两个引脚: CE 模块控制引脚:芯片开启信号,激活RX或TX模式 IRQ 模块中断信号输出引脚:其低电平有效,也就是中断时变为低电平…

【Python】 glob批处理模块的学习

1.什么是glob模块? 在 Python 中,glob模块是一个用于文件路径名的模式匹配的工具。它使用简单的通配符规则来匹配文件和目录的路径,这些通配符规则类似于在命令行中使用的文件搜索规则。这使得在处理文件系统中的多个文件或目录时非常方便&am…

Android 系统 AlarmManager 系统层深度定制

Android 系统 AlarmManager 系统层深度定制 目录 引言AlarmManager 概述AlarmManager 系统架构AlarmManager 核心代码解读AlarmManager 深度定制方法 修改 AlarmManagerService 修改定时任务调度策略增加定时任务类型定制内核层 修改定时触发精度增加定时触发类型优化定时任务…

解决vue-i18n在非.vue文件中,在其他js文件中无法使用的问题

其实很简单,把i18n直接挂载到window上,全局可使用。下面请看详细。 一、安装 npm install vue-i18n9二、在vue的main.js中引入 import Vue from "vue" import VueI18n from vue-i18n Vue.use(VueI18n)//注入到所有的子组件,就是…

线性代数期末复习 [基础篇]

关于第六点: AXB 在期末考试中一般A都是可逆的 我们可以先把A的逆求出来,X A − 1 B A^-1B A−1B,或者 (A,B) -> r (E, A − 1 B A^-1B A−1B) 如果A矩阵不可逆,转变为方程组求解问题,假设都是二维矩阵 A(x1,x2) (b1,b2) Ax1 b1,Ax2 b2 XAB 如果A可逆,直接XB A − 1 A^-…

C++ —— 数据类型转换和数据类型的别名

数据类型转换 引言自动类型转换强制类型转换数据类型的别名 引言 计算机进行运算时,要求各操作数的数据类型、大小和存储方式都要相同。(例如:8字节的整数和8字节的浮点数,虽然占用内存大小一样,但是存储方式不同&…

Kali 自动化换源脚本编写与使用

1. 背景与需求 在使用 Kali Linux 的过程中,软件源的配置对系统的更新与软件安装速度至关重要。 Kali 的默认官方源提供了安全且最新的软件包,但有时由于网络条件或地理位置的限制,使用官方源可能会出现速度较慢的问题。 为了解决这一问题&a…

设计模式-创建型-工厂方法模式

什么是工厂方法模式? 工厂方法模式(Factory Method Pattern)是 创建型设计模式之一,目的是通过定义一个用于创建对象的接口,让子类决定实例化哪个类。简而言之,工厂方法模式通过延迟对象的创建过程到子类来…

【Unity3D】ECS入门学习(十二)IJob、IJobFor、IJobParallelFor

IJob&#xff1a;开启单个线程进行计算&#xff0c;线程内不允许对同一个数据进行操作&#xff0c;也就是如果你想用多个IJob分别计算&#xff0c;将其结果存储到同一个NativeArray<int>数组是不允许的&#xff0c;所以不要这样做&#xff0c;如下例子就是反面教材&#…