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也可以加载脚本,加载内核时加载脚本
补图
RHCA rh442 003 系统资源 查看硬件 tuned调优的更多相关文章
- debian安装vld来查看Opcode,PHP调优。
一: 我的环境: Debian 7 (wheezy) x64 PHP 5.4.4-14 (apt-get 而来) Apache/2.2.22 (同上,非源码编译) 二 :安装vld. (# 代表是r ...
- JVM调优基础到进阶
GC和GC Tuning GC的基础知识 1.什么是垃圾 C语言申请内存:malloc free C++: new delete c/C++ 手动回收内存 Java: new ? 自动内存回收,编程上 ...
- SQL调优常用方法
在使用DBMS时经常对系统的性能有非常高的要求:不能占用过多的系统内存和 CPU资源.要尽可能快的完成的数据库操作.要有尽可能高的系统吞吐量.如果系统开发出来不能满足要求的所有性能指标,则必须对系统进 ...
- MySQL 优化之 Linux系统层面调优
MySQL 一般运行于Linux系统中.对于MySQL的调优一般分为Linux操作系统层面的调优和MySQL层面的调优(当然还有架构层面.业务层面.应用程序层面的调优).操作系统主要是管理和分配硬件资 ...
- [Spark性能调优] 第一章:性能调优的本质、Spark资源使用原理和调优要点分析
本課主題 大数据性能调优的本质 Spark 性能调优要点分析 Spark 资源使用原理流程 Spark 资源调优最佳实战 Spark 更高性能的算子 引言 我们谈大数据性能调优,到底在谈什么,它的本质 ...
- SQL调优的基本原则
在使用DBMS时经常对系统的性能有非常高的要求:不能占用过多的系统内存和CPU资源.要尽可能快的完成的数据库操作.要有尽可能高的系统吞吐量.如果系统开发出来不能满足要求的所有性能指标,则必须对系统进行 ...
- dataX调优
dataX调优 标签(空格分隔): ETL 一,Datax调优方向 DataX调优要分成几个部分(注:此处任务机指运行Datax任务所在的机器). 1,网络本身的带宽等硬件因素造成的影响: 2,Dat ...
- spark 性能调优(一) 性能调优的本质、spark资源使用原理、调优要点分析
转载:http://www.cnblogs.com/jcchoiling/p/6440709.html 一.大数据性能调优的本质 编程的时候发现一个惊人的规律,软件是不存在的!所有编程高手级别的人无论 ...
- 性能调优的本质、Spark资源使用原理和调优要点分析
本课主题 大数据性能调优的本质 Spark 性能调优要点分析 Spark 资源使用原理流程 Spark 资源调优最佳实战 Spark 更高性能的算子 引言 我们谈大数据性能调优,到底在谈什么,它的本质 ...
- centos查看硬件信息
服务器硬件信息常见, 是经常要操作的事: 下面分享一些常见的硬件查看命令: 1.centos 下查看硬件信息内容非常全面. CentOS常用命令查看cpu more /proc/cpuinfo 2.C ...
随机推荐
- 常用的注意力机制模块(SE、CBAM)
[深度学习]总目录 SE论文:<Squeeze-and-Excitation Networks>将重点放在了通道(channel)关系上,并提出了一种新的结构单元SE block.将SE ...
- vue局部注册
只能在当前注册它的vue实例中使用,通过某个 Vue 实例/组件的实例选项 components 注册仅在其作用域中可用的组件 var Child = { template: '<div> ...
- C# ML.NET 使用GPU遇到 Failed to get convolution algorithm.This is probably because cuDNN failed to initialize
C# ML.NET 使用GPU遇到 Failed to get convolution algorithm.This is probably because cuDNN failed to initi ...
- 在线IP归属地查询工具
在线IP地址归属地查询工具,通过该工具可以查询指定IP的物理地址或域名服务器的IP和物理地址,及所在国家或城市IP归属地,数据为纯真IP. 在线IP归属地查询工具
- windows nexus-3.20安装
1.Nexus官网:https://www.sonatype.com/download-oss-sonatype 2.环境变量NEXUS_HOME = D:\nexus-3.20.1-01-win64 ...
- ThreadLocal本地局部线程demo
ThreadLocal本地局部线程demo import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Hash ...
- app备案
最近app要求备案,使用阿里云备案 安卓可以上传apk获取信息,那么ios怎么弄呢 https://zhuanlan.zhihu.com/p/660738854?utm_id=0 查看的时候需要使用m ...
- Pycharm创建的虚拟环境,使用命令行指定库的版本进行安装
Pycharm创建的项目,使用了虚拟环境,对库的版本进行管理:有些项目的对第三方库的版本 要求不同,可使用虚拟环境进行管理 直接想通过pip命令安装,直接看第3点 操作步骤: 1.找到当前项目的虚拟环 ...
- 聊一聊 C# 弱引用 底层是怎么玩的
一:背景 1. 讲故事 最近在分析dump时,发现有程序的卡死和WeakReference有关,在以前只知道怎么用,但不清楚底层逻辑走向是什么样的,借着这个dump的契机来简单研究下. 二:弱引用的玩 ...
- Profinet IO从站数据 转EtherCAT项目案例
目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 使用PRONETA软件获取PROFINET IO从站的配置信息 2 5 设置网关采集PROFINETIO从站设备数据 5 ...