Java最全架构师之路 - 服务器硬件扫盲(1),数据结构面试题总结

最后

面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典

  • Java核心知识整理

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

Java核心知识

  • Spring全家桶(实战系列)

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

  • 其他电子书资料

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

Step3:刷题

既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

以下是我私藏的面试题库:

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 硬件:小型机 > x86服务器

  • 物理机、虚拟机、容器

  • 计算特点的考虑:是要将一个大的计算能力进行分割,灵活分配,还是有一个很大的课题要用多台机器联合计算

  • IO特点的考虑:吞吐率与IOPS多大?虚拟机能否承受?

服务器厂商

  • 国内的服务器厂商主要有:曙光、华为、浪潮、H3C、联想、长城等

  • 国外的服务器厂商主要有:Dell、HP、IBM

CPU


CPU作为服务器的核心固件,我们主要通过以下几个概念来了解:

  • Socket Socket俗称多少路,就是一个服务器主板上可以安装几个物理CPU

  • Core 一个物理CPU实际可以有几个内核(Core),比如我们经常听到的32核64核、128核等等

  • 超线程 如果一个内核可以同时运行2个线程我们就称这个CPU具有超线程能力,反之则不具备超线程能力

  • 频率 也叫主频,这个越高越好

  • 内存通道 每个CPU能支撑的最大内存数,Intel最新的能支持6个

  • 内存带宽、内存规格 CPU支持什么规格的内存,支持的频率范围是多少

以上的这些概念数据可以通过CPU的产品规格书中进行详细了解。在服务器上可以通过 lscpu 命令查看cpu信息

cpu详情

上图服务器CPU显示有72个,是因为有2个Socket,每个Socket有18核而每核可以同时运行2个线程,通过 2 x 18 x 2 = 72 得到。

厂商

  • 国外的CPU厂商主要有:Intel、AMD

  • 国内的CPU厂商主要有:龙芯、兆芯、飞腾、海光、申威、华为等

主流产品介绍

Intel系列

Intel现在主推的是“Intel至强可扩展”系列,在这个系列下又分为四档:铂金、金、银、铜,每档下面又有不同的型号

intel系列对比

AMD系列

AMD系列主要用到的是霄龙系列,霄龙系列CPU核数很高,下面我们看看几款具体的产品

| 型号 | CPU核心数 | 线程数量 | 最大加速时钟频率 | 基准时钟频率 | 默认TDP/TDP |

| — | — | — | — | — | — |

| 霄龙7742 | 64 | 128 | 高达3.4GHZ | 2.25GHZ | 225W |

| 霄龙7702 | 64 | 128 | 高达3.35GHZ | 2GHZ | 200W |

| 霄龙7702P | 64 | 128 | 高达3.4GHZ | 2GHZ | 200W |

| 霄龙7642 | 48 | 96 | 高达3.35GHZ | 2.3GHZ | 225W |

| 霄龙7552 | 48 | 96 | 高达3.3GHZ | 2.2GHZ | 200W |

| 霄龙7542 | 32 | 64 | 高达3.4GHZ | 2.9GHZ | 225W |

华为鲲鹏系列

「鲲鹏916(低功耗级)」

  • 32核/2.4GHz/16nm/75W

  • 4通道DDR4控制器

  • PCIe 3.0 ,10GE

  • 支持2路互联

「鲲鹏920-3326/4826(极致效能型)」

  • 32/48核/2.6GHz/7nm/120/150W

  • 8通道DDR4控制器

  • PCIe 4.0 ,100GE,CCIX

  • 支持2/4路互联

「鲲鹏920-3326/4826(极致性能级)」

  • 64核/2.6GHz/7nm/180W

  • 8通道DDR4控制器

  • PCIe 4.0 ,100GE,CCIX

  • 支持2/4路互联

主流CPU型号性能横向对比

cpu性能对比

通过上图大家可以看到国产CPU与国外CPU之间的差距,性能基本只有Intel中档CPU性能的一半左右,国产CPU还有很长的路要走。

NUMA

NUMA 即 Non-Uiform Memory Access(非一致性内存访问),结合我们之前讲述的主板架构,两颗CPU之间有一个通道,每个CPU与各自的内存通道进行直连,可以通过下图直观看出。

numa

CPU0 访问 左边的内存通道速度很快,CPU1访问右边的内存通道也很快,当CPU1要访问左边的内存通道必须要借助CPU0的帮忙,需要先通过QPI总线找到CPU0,再来访问左边的内存通道,这就产生了额外的开销,访问左边内存通道的开销相当于直连访问右边通道开销的3倍。

「所以对于计算密集型任务我们需要尽量避免这种跨CPU的内存访问,这就是NUMA的问题,非一致性指的是访问本地和跨CPU访问的代价差别不一致」

我们可以通过指令 numactl -s 查看numa的信息

可以使用指令 numactl --cpunodebind=0 --membind=0 command 指定进程使用的numa节点和内存

如上就是让 command 指令只使用cpu0 ,和内存0,这就使得进程指令在运行的时候使用的CPU和内存在同一侧,达到计算性能速度最大化的效果。

内存

内存大家平时工作中接触的都比较多,对于内存我们主要通过以下几个方面来了解:

  • 内存规格

DDR3、DDR4,目前主流已经是DDR4

  • 内存大小

2G、4G、8G、16G、32G

  • 内存频率

1333MHz, 1600MHz, 1866MHz、2133MHz, 2400MHz , 2666MHz

  • 带宽

即CPU对内存实际读写数据的速度,DDR4 2400内存的带宽为30GB/s左右

  • 通道

一个CPU可以连接多个内存,CPU上的内存通道数指的是CPU能并发访问直连多少个内存。4通道表示CPU可以同时访问与之直连的4根内存,这样就能达到带宽翻四倍的效果。

在4通道模式下读取1G的数据进内存,最终数据会分布在4根内存上而不是一根内存,这就实现了速度的翻4倍;

每颗CPU对自己的内存控制器直连的内存访问速度较快,要访问另一颗CPU连接的内存时,需要通过QPI总线,开销为本地内存的3倍。

了解内存信息

主要通过以下三个命令全面了解内存信息

  • 我们可以通过 dmidecode -t memory | more 指令查看内存信息,效果如下:

内存信息

  • 可以使用 dmidecode -t memory | grep Size 指令查看内存大小并判断内存是否正常工作

查看内存插槽

将内存插入主板时一般需要对称插入,通过上图我们可以看到下面有根内存不工作。

  • 可以通过 free 指令查看内存容量

内存容量

系统剩余内存 available 是我们最关心的一个值,不要被free列唬住了。

磁盘

对于磁盘我们主要通过吞吐率和IOPS两个指标来对其衡量

「吞吐率/吞吐量」:单位时间内读写的数据量

  • 机械硬盘:约100MB/s – 200MB/s;

  • 普通固态硬盘:200MB/s - 500MB/s;

写在最后

还有一份JAVA核心知识点整理(PDF):JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

发,JAVA基础,Spring原理,微服务,Netty与RPC**,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…

[外链图片转存中…(img-WLgtMXco-1715350054950)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 30
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值