读书笔记|《性能之巅》内存部分

性能之巅 洞悉系统、企业与云计算(完整版) 性能之巅 洞悉系统、企业与云计算书籍,主要讲解大型网络、云计算、大数据和虚拟计算机系统的快速部署已经为性能优化带来了新的挑战。本书为此提供了解决方案。国际知名的性能优化专家Brendan Gregg汇集了最先进的技术和工具来分析调优大型网络或云计算的环境。本书的内容包括现代化的性能分析和容量规划;与云计算相关的新性能和可靠性挑战;方法、概念、术语、工具和指标;负载与结构问题的权衡;调整操作系统、CPU、内存、文件系统、磁盘、网络和总线;调整虚拟系统;性能相关的编程语言问题,对C、 C++、 Java和no 阅读详情

《性能之巅》——内存部分读书笔记

序言部分:这本书的整体构架

  • 为建立建立全局的系统观。对系统各个知识理解和实践的能力。
  • 性能问题的发展:分布式系统应用,单机和集群为性能分析带来挑战。
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-38G8XbXb-1636283450882)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211106232117197.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yix5DLSu-1636283450886)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211106232220253.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NHTAAs6j-1636283450888)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211106232231041.png)]

内存分析基础

  • 背景

    基本术语:主存、虚拟内存、常驻内存、匿名内存、地址空间、段、OOM、页、缺页、换页、交换、交换空间

    • 虚拟内存:

      • 可超额订购,多数虚拟内存实现方式是页
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AWYxRaWE-1636283450892)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211106235044745.png)]
    • 换页:出入主存

      • 文件系统换页
        • 由读写位于内存中的映射文件页引发
        • 脏数据——完成更新
        • 干净数据——释放内存以便立即启用
      • 匿名换页(swapping)
        • 涉及私有数据:进程堆、栈
        • 没有文件系统路径
        • 拖尾性能
    • 按需换页:

      • 因为缺页,所以要换

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mVCLxIzj-1636283450894)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107002602774.png)]

      • 两个术语:

        • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fbUKY4Ij-1636283450895)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107002621494.png)]
    • 过度提交:

      • 允许分配超过系统可以存储的内存,超过物理内存和交换的设备的总和。
      • 依赖按需换页,分配的大部分内存不会用
      • malloc()
    • 交换:

      • 主存和物理交换设备或者交换文件移动的整个进程,UNIX独创管理存储技术

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9bDBPYmG-1636283450896)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107003449948.png)]

      • linux中主要值换页到交换文件或者设备(匿名换页)

    • 文件系统缓存占用

      • 如果有可用的主内存,就有效的使用它
      • 启动时候内存增加,用于提高性能。
    • 使用率和饱和度

      • 使用率:已占用的内存/总内存
      • 饱和:超过了存储,用一些手段释放内存
      • 虚拟内存耗尽,内核内存分配就会失败。
    • 分配器

      • 当虚拟内存处理多任务物理内存是,在虚拟机地址空间中实际分配和内存堆放通常由分配器处理。
      • 利用线程级别对象缓存等技术提高性能。
    • 字长

      • 地址空间受限于字长的寻址空间
      • 更大的字长提升内存性能,取决于CPU的架构
  • 架构

    • 硬件

      • 主存

        • 动态随机存取内存(DRAM)易失性
        • 电容模块需要定时更新,保持电荷
        • 读内存的访问取决于内存的类型
        • 延时取决于内存类型
      • 总线

        • 访问方式:共享系统总线、直连、互联
        • 并行多通道增加带宽
        • DDR SDRAM 双倍速率同步动态随机访问存储。
      • CPU缓存

        • L1(指令缓存,数据缓存)——虚拟内存地址空间寻址
        • L2(同时缓存指令和数据),L3(更大一级缓存)——物理内存地址寻址
      • MMU(内存管理单元)

        • 虚拟到物理地址的转换,
        • 按页转换
      • 多种页大小,solaris支持动态创建更大尺寸(MPSS)

        • linux可以预留超大页,好处是不会出现内存碎片妨碍动态分配,坏处是不够灵活
      • TLB(一般指转译后备缓冲区。 转译后备缓冲器)

        • 指令
        • 数据页缓存
        • 映射记录,不同页分单独缓存
    • 软件

      • 内存释放

      • 空闲链表:空闲链表能立刻定位可用内存

      • 页扫描:持续循环遍历所有的内存页,找到最少使用的页,然后移动到物理设备。

      • 交换

      • 进程地址空间:一段范围的徐虚拟页,由硬件和软件同事管理,按需映射到物理页。

      • 内存分配器

在这里插入图片描述

  • 方法

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tHatQmS2-1636283450903)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107185609379.png)]

    • 工具法

      • 在这里插入图片描述
    • USE法

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-idrkLxiV-1636283450905)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107185758392.png)]
    • 使用特征

      在这里插入图片描述

    • 周期分析

      • CPC测定
    • 性能检测

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WAA4rlnW-1636283450907)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107185856415.png)]

    • 发现泄漏

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZMa8iVAH-1636283450908)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107185907885.png)]

    • 静态性能调优

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JVUyNwp4-1636283450909)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107185920270.png)]

    • 资源控制:细粒度控制,使主存和虚拟内存达到固定极限

    • 微基准测试:确定主存的速度和特征

实际应用

  • 分析
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZCsouKzH-1636283450910)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107190030596.png)]

  • 调优
    • 可调参数:
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T3u7C1oB-1636283450911)(C:\Users\user\AppData\Roaming\Typora\typora-user-images\image-20211107190129700.png)]

练习做完更。。

在这里插入图片描述
在这里插入图片描述

性能之巅:洞悉系统、企业与云计算——内存 性能之巅:洞悉系统、企业与云计算——内存术语概念虚拟内存换页文件系统换页匿名换页按需换页过度提交交换文件系统缓存占用使用率饱和度分配器字长架构硬件主存延时主存架构总线多通道CPU缓存MMU多种页大小TLB软件内存释放空闲链表回收页扫描进程地址空间堆增长分配器方法工具法USE 方法使用特征归纳高级使用特征分析 / 检查清单周期分析性能监测泄露监测静态性能调优资源控制微基准测试分析调优可调参数多个页面大小分配器资源控制 系统主存存储应用程序和内核指令,包括它们的工作数据,以及文件系统缓存。许多系统中,存放这些数 阅读详情

相关推荐

性能之巅:洞悉系统、企业与云计算.docx

性能之巅:洞悉系统、企业与云计算.docx

【免费下载】 性能之巅:洞悉系统、企业与云计算PDF(完整版)

性能之巅:洞悉系统、企业与云计算PDF(完整版) 【下载地址】性能之巅洞悉系统企业与云计算PDF完整版分享 本资源文件为《性能之巅:洞悉系统、企业与云计算》的完整版PDF电子书。该书由格雷格(Gregg)著,详细探讨了系统、企业和云计算的性能优化问题。书中涵盖了性能分析的基础知识、工具使用、优化策略以及实际案例分析,是系...

gitblog_06587的博客 2464

用Java实现森林冰火人游戏

g.drawString("游戏结束", CELL_SIZE * COLS / 2 - 100, CELL_SIZE * ROWS / 2);g.drawString("难度级别: " + difficultyLevel, 10, CELL_SIZE * ROWS + 60);g.drawString("生命值: " + playerHealth, 10, CELL_SIZE * ROWS + 20);setTitle("森林冰火人");

2401_82778412的博客 1734

性能之巅第二版 第四章 观测工具

认识静态性能工具和危机排查工具了解工具的类型和工具运行的开销,包括计数器、剖析工具和跟踪工具观测工具的来源。

m0_53155317的博客 1681

一个开源的AI数据分析工具,与数据对话,一键生成SQL、图表、表格、报告和智能商业分析。

Wren AI是一个开源的AI智能代理,让用户能够跟数据对话,实现从文本到SQL的转换,还能生成图表、电子表格、报告以及商业智能分析。它支持多种语言,能深入挖掘数据价值,提供智能数据探索功能,通过语义索引和精心设计的界面,让用户无需写代码即可获取洞察。Wren AI采用独特的架构,包含Wren UI、Wren AI Service和Wren Engine三大核心服务,可部署在本地或云端,助力团队高效、安全地解锁数据潜力。

AI_Charlotte的博客 4495

新能源知识库(98)SOC曲线介绍

​:一条异常的健康SOC曲线,往往能提前反映出电池性能的衰退或系统存在的隐患。BMS和EMS通过实时跟踪SOC值,能在电池电量过高(如>95%)时停止充电,电量过低(如<20%)时停止放电,从而避免因过度充放电引发的。​:OCV-SOC曲线上较为平坦的部分(例如,磷酸铁锂电池通常在20%-80% SOC范围)。​:在光伏、储能、电网协同的系统中,SOC曲线是能量调度的核心依据。​:电池的寿命很大程度上取决于它的工作方式。​:利用电池静置后电压与SOC的对应关系来估算,较准确但需要电池静置,无法实时使用。

竹君子之家 922

《性能之巅》第七章:内存 读书笔记

《性能之巅》第七章系统阐述了内存性能分析方法论,提出采用USE(利用率、饱和度、错误)方法评估内存瓶颈。重点分析了虚拟内存机制、换页/交换行为对性能的影响,介绍了Linux内存管理中的缓存/缓冲区机制。详细列举了vmstat、free、top等系统观测工具,以及perf、eBPF等高级追踪技术。最后提出优化策略:减少内存分配、调整缓存参数、选用高效分配器、合理配置交换空间等,强调需结合具体场景从全局视角分析内存问题。本章为诊断和优化内存性能提供了完整的理论框架与实践指南。

荣 的专栏 691

Vivado 18.3安装全攻略:从下载到配置的完整指南

本文详细介绍了Vivado 18.3的安装全流程,从下载准备到配置优化,特别适合FPGA开发者。文章包含硬件要求、版本选择、组件配置等实用技巧,帮助用户避免常见安装问题,确保稳定运行。重点解析了License配置和系统优化设置,提升开发效率。

weixin_28331555的博客 567

《性能之巅:洞悉系统、企业与云计算》读书笔记-Part 1

绪论:系统性能、人员、事情、视角、性能调优充满挑战、延时、动态跟踪、云计算、案例研究; 方法:术语、模型、概念、视角、方法、建模、容量规划、统计、监视、可视化;

lonelymanontheway的博客 1832

RTDETR最强结构图 | 包含模型整体结构图 | 全模块展开图 | AiFi模块展开图

RT-DETR 最全结构图

Coding... 9598

YOLOv10改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

如何寻找创新点?为什么要使用这个模块?如何才能提升模型的精度?这是贯穿我们研究始终的问题。创新点在这个专栏中我已经整理好了,这已经省去了大部分时间,但是当我们使用这些新的模块去优化已有的模型,如何才能提升模型的精度,才是我们要达到的最终目标。当然我们可以使用传统的A+B+C的方法去堆积模块,然后是进行大量的实验去排列组合以实现最终的精度提升,这无可厚非。

Limiiiing的博客 1万+

《性能之巅:洞悉系统、企业与云计算》读书笔记--系统性能基础概念

目录书籍简介性能分析概述性能分析相关术语性能分析常用概念性能分析方法容量规划可视化总结 书籍简介 《性能之巅》原名《System Performance:Enterprise and the Cloud》,作者Brendan是系统性能领域专家,曾供职与Sun和Oracle,也是动态追踪工具DTrace的主力开发人员。这本书以操作系统为背景讲解操作系统和应用程序的性能,本书的讲解和实例都是以Linu...

qunyaoaiziji的博客 1万+

25杰瑞机械工程师面试经验机械面试问题总结技巧面试全攻略

作为一个对机械工程充满热情的应届生,我有幸参加了杰瑞集团的机械工程师面试。面试过程既充满挑战,也不乏乐趣。以下是我面试的详细经历,包括面试流程、面试题目及参考答案。 #### 面试流程 1. **HR初面**:主要是对个人背景、教育经历和工作经验的初步了解。 2. **技术面**:由技术部门的主管进行,主要考察专业知识和项目经验。 3. **部门经理面**:更深入地了解我的技术能力和团队合作精神。 4. **总监终面**:最后一轮面试,总监会对候选人的整体素质进行评估。

m0_72216164的博客 2794

性能之巅读书笔记--终结篇

性能之巅读书笔记--终结篇 春节假期断断续续把性能之巅读完了。总体来看,这本书的特色是:全。 也就是书中反复强调的大局观、方法论,不是从经验中总结规律,而是先建立一个全面的知识体系,再配合科学的方法论,这样调优才全面。这注定是一条更加艰难的学习道路。 作者: Brendan D. Gregg,恕我孤陋寡闻,原来确实没有听说过此人,他在系统性能调优领域有很高的江湖地位。还有一个个人网站:http://www.brendangregg.com/ 从照片看岁数不是太大。在这个领域已经是资深专家了。 本书第二版

hb_zxl的专栏 561

【AI大模型应用开发】教你用AI轻松将你的知识库变为知识图谱(附完整代码,直接运行)

本文我们来介绍如何使用AI,将自己的知识库自动转换为知识图谱,并进行可视化展示。

同学小张的博客 3927

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

《性能之巅》第五章:应用程序性能 读书笔记

应用程序优化的关键方法:首先需确立明确的性能目标(延时、吞吐量等),避免盲目调优;其次详细介绍了I/O尺寸优化、缓存机制、并发处理等核心技术;同时分析了编程语言特性(编译型与解释型)对性能的影响

荣 的专栏 629

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

《浪潮之巅》读书笔记

IBM: 政府部门和企事业单位 保守 机械时代和电子时代的分水岭 机械制表机、武器 发表论文、申请专利和产品化 专利:防御型和进攻型 生存之道:技术上开拓发展 经营上死守核心(不断淘汰利润低的低端产品 主动出让市场) 机械制造—计算机制造—服务 苹果: 数字化 个人电脑—家庭的娱乐中心 Stay hungry,stay foolish 计算机工业的生态链: IT定理(计...

weixin_43159009的博客 1073

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

性能之巅读书笔记--推荐序

性能之巅阅读 12.27 推荐序都写到不错,摘录如下: 本书是难得的UNIX/Linux 系统管理员和运维工程师的百科全书式参考手册 张银奎给出的软件工程师发展道路: 首先要确认自己是喜欢软件技术的,愿意在技术方向上持续发展。接下来的问题是如何在技术方向上不断前进。“日日新,又日新”。我的建议是,逐级攀登软件技术的三级台阶:编码、调试和调优。 优化的成倍效应:不要小看小优化,可带来大收益 十几年来,硬件设备日益复杂,互联网应用场景及Web 2.0 蓬勃发展的同时,也带来了各种高并发的业务应用,有些.

hb_zxl的专栏 244

《性能之巅》读书笔记:性能观测工具概述

《性能之巅》读书笔记 性能观测工具概述 性能观测工具可以按照系统级别和进程级别来分类,多数的工具要么基于计数器要么基于跟踪,还有一些工具基于剖析。 计数器 内核维护了各种统计数据,称为计数器,用于对事件计数。通常计数器实现为无符号的整型数,发生事件时递增。例如,有网络包接收的计数器,有磁盘I/O发生的计数器,也有系统调用执行的计数器。 计数器的使用可以认为是零开销的,因为它们默认就是开启的,而且始终由内核维护。唯一的使用开销是从用户空间读取它们的时候。下面介绍按照系统级别和进程级别来划分的两类基于计数器的工

WINGREZ‘S BLOG 1721

读书笔记之-《性能之巅 洞悉系统-企业与云计算》

性能优化是我们开发中经常要做的事情。通常我们也就在代码层面做一下优化,抑或在流程层面进行改造,基本很少进行架构层面的优化。架构一般都是推翻重构的。 《性能之巅》这本书是二刷。第一次看这本书,留下的唯一印象就是3.3Hz CPU寄存器延时的阐释,让我意识到硬盘读写和网络传输跟CPU运算的巨大差距。 这个差距催生了许多从软件层面解决问题算法跟数据结构,比如用于数据库索引的B+ tree,比如各种排队模...

bixi6527的博客 469

《性能之巅》第三章 “操作系统” 读书笔记

本章系统阐述了操作系统与内核的核心概念,为性能分析奠定理论基础。重点内容包括:1)内核作为硬件与软件的桥梁,管理CPU调度、内存和I/O;2)用户态/内核态切换机制及系统调用原理;3)进程创建与虚拟内存管理技术;4)调度器优化策略及文件系统架构。这些理论揭示了性能分析的关键视角:系统调用开销、中断处理效率、调度策略选择以及内存/文件系统的抽象层影响,为后续使用性能工具观测底层行为提供了必要知识框架。

荣 的专栏 791

《性能之巅》第八章:文件系统(File Systems)读书笔记

《性能之巅》第八章深入剖析了文件系统的性能优化关键。文章从延时分析切入,分解了文件系统处理、磁盘I/O子系统和物理I/O三个核心耗时环节。重点探讨了缓存机制、I/O负载特征优化及特殊I/O路径等性能提升策略,详细介绍了Linux的VFS架构和多级缓存系统。通过对比FFS、ext4、XFS、ZFS等不同文件系统特性,结合USE方法论,提供了从工作负载特征分析到延时分解的系统性性能评估框架。本章强调建立文件系统性能的全局认知,为存储性能优化奠定理论基础。

荣 的专栏 967

《性能之巅》第六章 CPU 核心概念与性能分析 读书笔记

本文系统阐述了CPU性能分析的关键概念与方法。首先解析了CPU指令执行流程及影响效率的要素(如内存访问延迟、流水线与超标量技术),并介绍了CPI/IPC等核心指标。其次探讨了CPU使用率、调度模型(抢占与优先级反转)及多进程/线程架构的优劣。硬件方面重点分析了字长、多级缓存和MMU对性能的影响。在方法论层面,提出了资源分析与负载分析双视角,推荐USE方法框架,并详细介绍了Linux环境下从基础工具(vmstat、mpstat)到高级工具(perf、BPF)的完整观测体系。最后指出性能优化的核心方向:消除无效

荣 的专栏 879

性能之巅读书笔记--第一章绪论

性能之巅读书笔记--第一章绪论 敬畏心态 有让你手足无措的问题出现其实是一种很正常的状态,对此的恐惧只是人施加给自己的情感层面的东西。与此相反,始终对未知心生敬畏才是对待未知正常的态度,更是本应有的觉悟。 solaris退出历史舞台的原因,太贵 Solaris 机器更多地注重性能。我怀疑这是因为Sun 的系统平均来说要比同等的Linux 系统贵得多。这带来的结果是,花大价钱的人更倾向于挑剔性能,因此Solaris 在这个领域做的工作更多。如果你的Linux 机器性能不够好,你可以再买一台并对工作负载做切

hb_zxl的专栏 272

《性能之巅》第二章:方法 读书笔记

本章超越了零散的工具使用,强调在面对性能不佳且复杂的系统时,必须掌握从何处开始、收集何种数据以及如何分析数据的系统性方法。它不仅为新手提供了清晰的指引,也为专家提供了确保分析完整性的检查清单。

荣 的专栏 1169
上一篇: 测试开发|Tencent云测学习
下一篇: MLC测试工具
windblocks
博客等级 码龄7年 6粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值