监控工具

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调优的更多相关文章

  1. debian安装vld来查看Opcode,PHP调优。

    一: 我的环境: Debian 7 (wheezy)  x64 PHP 5.4.4-14 (apt-get 而来) Apache/2.2.22 (同上,非源码编译) 二 :安装vld. (# 代表是r ...

  2. JVM调优基础到进阶

    GC和GC Tuning GC的基础知识 1.什么是垃圾 C语言申请内存:malloc free C++: new delete c/C++ 手动回收内存 Java: new ? 自动内存回收,编程上 ...

  3. SQL调优常用方法

    在使用DBMS时经常对系统的性能有非常高的要求:不能占用过多的系统内存和 CPU资源.要尽可能快的完成的数据库操作.要有尽可能高的系统吞吐量.如果系统开发出来不能满足要求的所有性能指标,则必须对系统进 ...

  4. MySQL 优化之 Linux系统层面调优

    MySQL 一般运行于Linux系统中.对于MySQL的调优一般分为Linux操作系统层面的调优和MySQL层面的调优(当然还有架构层面.业务层面.应用程序层面的调优).操作系统主要是管理和分配硬件资 ...

  5. [Spark性能调优] 第一章:性能调优的本质、Spark资源使用原理和调优要点分析

    本課主題 大数据性能调优的本质 Spark 性能调优要点分析 Spark 资源使用原理流程 Spark 资源调优最佳实战 Spark 更高性能的算子 引言 我们谈大数据性能调优,到底在谈什么,它的本质 ...

  6. SQL调优的基本原则

    在使用DBMS时经常对系统的性能有非常高的要求:不能占用过多的系统内存和CPU资源.要尽可能快的完成的数据库操作.要有尽可能高的系统吞吐量.如果系统开发出来不能满足要求的所有性能指标,则必须对系统进行 ...

  7. dataX调优

    dataX调优 标签(空格分隔): ETL 一,Datax调优方向 DataX调优要分成几个部分(注:此处任务机指运行Datax任务所在的机器). 1,网络本身的带宽等硬件因素造成的影响: 2,Dat ...

  8. spark 性能调优(一) 性能调优的本质、spark资源使用原理、调优要点分析

    转载:http://www.cnblogs.com/jcchoiling/p/6440709.html 一.大数据性能调优的本质 编程的时候发现一个惊人的规律,软件是不存在的!所有编程高手级别的人无论 ...

  9. 性能调优的本质、Spark资源使用原理和调优要点分析

    本课主题 大数据性能调优的本质 Spark 性能调优要点分析 Spark 资源使用原理流程 Spark 资源调优最佳实战 Spark 更高性能的算子 引言 我们谈大数据性能调优,到底在谈什么,它的本质 ...

  10. centos查看硬件信息

    服务器硬件信息常见, 是经常要操作的事: 下面分享一些常见的硬件查看命令: 1.centos 下查看硬件信息内容非常全面. CentOS常用命令查看cpu more /proc/cpuinfo 2.C ...

随机推荐

  1. 常用的注意力机制模块(SE、CBAM)

    [深度学习]总目录 SE论文:<Squeeze-and-Excitation Networks>将重点放在了通道(channel)关系上,并提出了一种新的结构单元SE block.将SE ...

  2. vue局部注册

    只能在当前注册它的vue实例中使用,通过某个 Vue 实例/组件的实例选项 components 注册仅在其作用域中可用的组件 var Child = { template: '<div> ...

  3. 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 ...

  4. 在线IP归属地查询工具

    在线IP地址归属地查询工具,通过该工具可以查询指定IP的物理地址或域名服务器的IP和物理地址,及所在国家或城市IP归属地,数据为纯真IP. 在线IP归属地查询工具

  5. windows nexus-3.20安装

    1.Nexus官网:https://www.sonatype.com/download-oss-sonatype 2.环境变量NEXUS_HOME = D:\nexus-3.20.1-01-win64 ...

  6. ThreadLocal本地局部线程demo

    ThreadLocal本地局部线程demo import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Hash ...

  7. app备案

    最近app要求备案,使用阿里云备案 安卓可以上传apk获取信息,那么ios怎么弄呢 https://zhuanlan.zhihu.com/p/660738854?utm_id=0 查看的时候需要使用m ...

  8. Pycharm创建的虚拟环境,使用命令行指定库的版本进行安装

    Pycharm创建的项目,使用了虚拟环境,对库的版本进行管理:有些项目的对第三方库的版本 要求不同,可使用虚拟环境进行管理 直接想通过pip命令安装,直接看第3点 操作步骤: 1.找到当前项目的虚拟环 ...

  9. 聊一聊 C# 弱引用 底层是怎么玩的

    一:背景 1. 讲故事 最近在分析dump时,发现有程序的卡死和WeakReference有关,在以前只知道怎么用,但不清楚底层逻辑走向是什么样的,借着这个dump的契机来简单研究下. 二:弱引用的玩 ...

  10. Profinet IO从站数据 转EtherCAT项目案例

    目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 使用PRONETA软件获取PROFINET IO从站的配置信息 2 5 设置网关采集PROFINETIO从站设备数据 5 ...