RHCA rh442 003 系统资源 查看硬件 tuned调优

监控工具
zabbix 监控具体业务,列如数据库。触发式事件(断网 硬盘坏一个)
普罗米修斯 给容器做监控
管理人员,如何知道几千台服务器哪些出了问题,这得需要zabbix

系统硬件资源

cpu

[root@foundation0 ~]# lscpu 
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              6
On-line CPU(s) list: 0-5
Thread(s) per core:  1    每个核一个线程
Core(s) per socket:  3    每个插槽有三个核心
Socket(s):           2    两个插槽
NUMA node(s):        1    不支持NUMA
Vendor ID:           GenuineIntel   inter
CPU family:          6   第六代
Model:               158
Model name:          Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Stepping:            10
CPU MHz:             2592.002
BogoMIPS:            5184.00    每秒能处理指令集的数目
Virtualization:      VT-x     支持全虚
Hypervisor vendor:   VMware
Virtualization type: full
L1d cache:           32K    数据区
L1i cache:           32K    指令区
L2 cache:            256K   
L3 cache:            12288K
NUMA node0 CPU(s):   0-5   一个NUMA有六个核
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves arat flush_l1d arch_capabilities    
cpu的指令集   如果有vmx就是支持全虚拟化
cat /proc/cpuinfo  

NUMA

UMA Uniform Memory Accesss 一致性内存访问
NUMA Non-Uniform Memory Accesss 非一致性内存访问
FSB 前端总线 瓶颈
cpu与内存进行访问需要通过 FSB
千军万马过独木桥 cpu和内存再多,意义不大
cpu和内存被划分到NUMAnode里
现实中,一条友谊大道十几公里长,出现问题就容易堵车,因为冗长。新城区都是井字路

NUMA

node里资源不够时通过QPI到其他node获取资源

从主板设计总线,就决定是否是NUMA架构
虚拟机自适配 4cpu 8G 尽量运行在同一个NUMA NODE中 numanode里有内存与cpu 提升效率
numa亲和性 8个网卡,可能一个网卡在一个node 8个磁盘也分属于8个node
也就是说,不仅cpu与内存,网卡与磁盘也可能会被分到同一个numanode
之后会指定一个程序运行在numa里
NUMA为未来的趋势

线程与核有什么区别

原来一个物理cpu,插在主板插槽上
性能要求越来越高,处理器插槽无法增加,因为站位太大了
只能添加核
一个身体有四个脑袋。这样节省了空间
鲲鹏处理器920 64核 6426 64核 26G赫兹 4826 3226 精简型
inter用的复杂型指令集 可能走两个循环
精简型 可能走一个循环 核数大 功耗低
手机 arm架构 全新生态。代码重写
生态上复杂型用的多,不是你精简型说改就改的
生态重构还有很长一段路

线程

进程的轮询与优先级
进程在核上的线程轮询得到cpu周期,核同一时刻只能运行一个线程,如今核已经很强了,有点浪费,你闲着也是闲着,
所以增加一个线程,
任务多且,简单。线程很有意义
很多任务,任务不复杂,线程多是可以的,会优化

核与插槽

L1d cache:  L1-Data           32K    数据区
L1i cache:  L1-Inst           32K    指令区
L2 cache:            256K   
L3 cache:            12288K    有些处理器有3G缓存有些没有

差不多inter处理器1级与2级一样大
一级缓存在处理器内部,不能做的很大,是最快
一级没有找二级
二级没有找三级
三级没有找内存
3 15 160 差距很大

如果cpu只有两级缓存 L1缓存为私有 L2为共享
所有核是共享二级缓存
如果是三级L1-L2的缓存是私有的 L3为共享
私有:每个核拥有自己的L1和L2
共享:一个cpu的多个核共享一个L3

摩尔定律
cpu的处理能力没18个月翻一翻,价格降一倍 可能摩尔定律失效
cpu的工艺已经发展到极限 3纳米 不能再小了
手机处理器追求性能与散热,能耗

内存

容量提高,从技术上未迭代。
内存频宽5200Mhz 主板总线 cpu频宽 内存匹配才有意义

磁盘

HDD 4200RPM 5400RPM 7200RPM 10000RPM 这个值为转速 越快越好
SSD SATA-SSD SAS-SSD NvME-SSD(最快)

SLC:全称Single-Level Cell,每个Cell单元只存储1bit信息,也就是只有0、1两种电压变化,结构简单,电压控制也快速,反映出来的特点就是寿命长,性能强,P/E寿命在1万到10万次之间,但缺点就是容量低,成本高,毕竟一个Cell单元只能存储1bit信息。
MLC:全称是Multi-Level Cell,它实际上是跟SLC对应的,SLC之外的NAND闪存都是MLC类型,而我们常说的MLC是指2bit MLC。
每个cell单元存储2bit信息,电压有000,01,10,11四种变化,所以它比SLC需要更复杂的的电压控制,加压过程用时也变长,意味着写入性能降低了,同时可靠性也下降了,P/E寿命根据不同制程在3000-5000次不等,有的还更低。
TLC:也就是Trinary-Level Cell了,准确来说是3bit MLC,每个cell单元存储3bit信息,电压从000到111有8种变化,容量比MLC再次增加1/3,成本更低,但是架构更复杂,P/E编程时间长,写入速度慢,P/E寿命也降至1000-3000次,部分情况会更低。
QLC:则是Quad-Level Cell,或者叫4bit MLC,电压从0000到1111有16种变化,容量增加了33%,但是写入性能、P/E寿命会再次减少

机械硬盘马上会退出历史舞台
磁盘为最大瓶颈

raid 技术 (提升性能 与 容错)
ssd: raid10 随机的小IO更擅长
hhd:raid5 顺序IO业务

网络

万M网
IB网络 网络协议不一样 更快更贵 高性能集群,分布式存储后端网络 科研

dmesg

cat /var/log/dmesg rhel8无了
dmesg有内核做事的信息

绿色是秒

系统启动流程 (详情看rhce内容)
1.加载内核(加载硬件) 以只读的方式加载根分区
2.加载RAM DISK文件
3.启动系统

[root@foundation0 ~]# dmesg | grep eth
[    2.613238] vmxnet3 0000:03:00.0 eth0: NIC Link is Up 10000 Mbps
[    2.625317] vmxnet3 0000:0b:00.0 eth1: NIC Link is Up 10000 Mbps
[    2.672586] vmxnet3 0000:03:00.0 ens160: renamed from eth0
[    2.694579] vmxnet3 0000:0b:00.0 ens192: renamed from eth1
[root@foundation0 ~]# 

如果在这里看到网卡。驱动就识别到了,改改配置文件重启网络则可用

dmesg | grep -i memory
dmesg | grep dma

内核加载时的信息

看到很多ffffff
系统起不来
硬件故障,不兼容

dmesg记录在buffer里面,而且永远会覆盖,只记录最后一次开机

[root@foundation0 ~]# 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,0,0,,1,1,1,0
2,2,0,0,,2,2,2,0
3,3,1,0,,3,3,3,1
4,4,1,0,,4,4,4,1
5,5,1,0,,5,5,5,1

第一列cpu为逻辑cpu   两个线程的话数字x2
插槽上的为物理cpu
六个cpu六个核 每个核是单独的 两个插槽  全0一个node  l1,l2都是私有  最后为物理cpu共享三级缓存(物理cpu各自共享,不是a的三级和b的三级共享)   一插槽(物理cpu)
4核两线程
0 0 0
1 1 0
2 2 0
3 3 0
4 0 0
5 1 0
6 2 0
7 3 0

一级二级缓存是多大

dmidecode (虚拟机会不准确)

看硬件信息
考试时会给你一个dmi如果二进制则这样打开
dmidecode --from-dump dmi.log
dmidecode | more
/L1 (缓存)

不同的系统可能dmidecode显示会有差异
[Debian 显示出的所有核私有的总数
redhat 则是显示单个核的结果]

物理红帽机会dmidecode会更准确
考试给你一个总共一级缓存大小,有几个核就除以几,讲考试题的时候再说

我觉得他后面会找一个红帽系统进行演示,那么就到此为止,不多追究
dmidecode适合在物理机上
dmidecode不打开机箱就可以查看硬件情况

lspci 看pci
lsusb 看usb
vi 忽略大小写 set ignorecase

sosreport

md5校验
这个包xz发给别人,别人给你排错

调优tuned工具

[root@foundation0 tuned]# ls
balanced  desktop  functions  latency-performance  network-latency  network-throughput  powersave  recommend.d  throughput-performance  virtual-guest  virtual-host
[root@foundation0 tuned]# pwd
/usr/lib/tuned
[root@foundation0 tuned]# 




[root@foundation0 tuned]# tuned-adm list
Available profiles:
- balanced                    - General non-specialized tuned profile
- desktop                     - Optimize for the desktop use-case
- latency-performance         - Optimize for deterministic performance at the cost of increased power consumption
- network-latency             - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput          - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- powersave                   - Optimize for low power consumption
- throughput-performance      - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest               - Optimize for running inside a virtual guest
- virtual-host                - Optimize for running KVM guests
Current active profile: virtual-guest

[root@foundation0 tuned]# cd throughput-performance/
[root@foundation0 throughput-performance]# ls
tuned.conf
[root@foundation0 throughput-performance]# vi tuned.conf 
swapp = 20
更改配置文件sawpp=20

调优后可以发现,配置文件的内核参数被实施



修改了配置文件将内核参数写在sysctl下,重启依然有效
tuned也可以加载脚本,加载内核时加载脚本

补图

posted @ 2022-06-30 10:01  supermao12  阅读(144)  评论(0编辑  收藏  举报