监控工具

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. Vue渲染函数与JSX指南

    title: Vue渲染函数与JSX指南 date: 2024/6/3 下午6:43:53 updated: 2024/6/3 下午6:43:53 categories: 前端开发 tags: Vue ...

  2. Linux进程间通信-FIFO(命名管道)

    本系列文章主要是学习记录Linux下进程间通信的方式. 常用的进程间通信方式:管道.FIFO.消息队列.信号量以及共享存储. 参考文档:<UNIX环境高级编程(第三版)> 参考视频:Lin ...

  3. JVM垃圾回收器(详解)

    引言 垃圾回收(GC,Garbage Collection) 在笔者上一篇文章中(JVM内存模型),介绍了JVM内存模型以及JVM运行时的数据区,堆是JVM内存区域里面最大的一块区域,用于存放实例数据 ...

  4. Java代码忽略https证书:解决No subject alternative names present问题 HttpURLConnection https请求

    Java代码忽略https证书:解决No subject alternative names present问题 import org.slf4j.Logger; import org.slf4j.L ...

  5. 【译】向您介绍改版的 Visual Studio 资源管理器

    随着最近 Visual Studio 的资源管理器的改进,开发人员将得到一种全新的享受!我们非常激动地宣布重新设计的 Visual Studio 资源管理器,相信我们,它将改变游戏规则. 在 Visu ...

  6. docker 单机部署redis集群

    docker 部署redis集群 1.创建redis网卡 docker network create redis --subnet 172.38.0.0/16 查看网卡信息 docker networ ...

  7. 【Vyos-开源篇-1】- VMware 安装 VyOS 虚拟机

    文章说明:使用VMware ESXi和VMware Workstation安装vyos软路由. 一.项目准备 1.1.VMware ESXi 我家里的是一台8核心,20G内存,2T的N5105工控机, ...

  8. Vim的移动大法

    Vim的移动大法 移动光标的按键 "h" 向左移动 "j"向下移动 "k"向上移动 "l"向右移动 在单词之间移动 注: ...

  9. Windows下用VS2022编译安装Boost库

    Windows下用VS2022编译安装Boost库 下载地址: https://www.boost.org/users/download/ 解压得到如下文件: 编译安装: 打开vs2022命令行工具 ...

  10. HDOJ 6703 Array

    HDOJ 6703 Array 题目 题目链接 array *Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/262144 K ...