![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux性能优化
文章平均质量分 93
程序猿加油站
自我评价
从事软件研发10年有余,喜欢钻研技术,擅长软件架构设计,linux负载,go语言开发,php开发!
展开
-
Linux性能工具:系统CPU
Linux性能工具:系统CPUCPU 性能统计信息运行队列统计上下文切换中断CPU 使用率CPU性能工具vmstat(虚拟内存统计)工具是追踪性能问题时的第一道防线。它们能展示整个系统的性能情况和哪些部分表现不好。现在我们将学习这些工具可以测量的统计信息,以及如何使用各种工具收集这些统计结果。学习完成后,我们将能够:理解系统级性能的基本指标,包括CPU的使用情况。明白哪些工具可以检索这些系统性能指标。CPU 性能统计信息每一种系统级 Linux 性能工具都提供了不同的方式来提取相似的统计结果。原创 2021-10-20 14:06:36 · 8149 阅读 · 0 评论 -
性能追踪建议
性能追踪建议常用建议记大量的笔记(记录所有的事情)自动执行重复任务尽可能选择低开销工具使用多个工具来搞清楚问题相信我们的工具利用其他人的经验(慎重)性能调查概要常用建议记大量的笔记(记录所有的事情)在调查性能问题时,我们可以做的最重要的事情大概就是记录下看到的每一个输出、执行的每一条命令,以及研究的每一个信息。结构清晰的记录能让我们只查看记录就可以检验关于性能问题原因的猜想,而不是重新运行测试。这能节约大量时间。写下来并且创建性能记录。在性能调查之初,通常会为其创建一个目录,在GUN Emacs中打原创 2021-10-12 19:08:26 · 302 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——网络
性能之巅:洞悉系统、企业与云计算——网络术语模型网络接口控制器协议栈概念网络和路由协议封装包长度延时主机名解析延时ping 延时连接延时首字节延时往返时间连接生命周期缓冲连接积压队列接口协商使用率本地连接架构协议TCP三次握手重复确认检测阻塞控制:Reno 和 TahoeNagle 算法延时 ACKSACK 与 FACKUDP硬件接口随着系统变得越来越分布化,尤其是云计算环境中,网络在性能方面扮演着的角色越来越重要。除了改进网络延时和吞吐量以外,另一个常见的任务是消除可能有丢包引起的延时异常。网络分析是原创 2021-10-04 21:03:53 · 22167 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——磁盘
性能之巅:洞悉系统、企业与云计算——磁盘术语模型简单磁盘缓存磁盘控制器概念测量时间计算时间时间尺度缓存随机 vs 连续 I/O磁盘 I/O 可能会造成严重的应用程序延时,因此是系统分析的一个重要目标。在高负载下,磁盘成为瓶颈,CPU持续空闲以等待磁盘 I/O 结束。发现并消除这些瓶颈能让性能和应用程序吞吐量翻好几倍。磁盘指系统的主要存储设备。这包括了旋转磁性盘片和基于闪存的固态盘(SSD)。引入后者主要是为了提高磁盘的 I/O 性能,而事实上的确做到了。然而,对容量和 I/O 速率的需求仍在不断增长,闪原创 2021-09-25 17:23:57 · 461 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——文件系统
性能之巅:洞悉系统、企业与云计算——文件系统术语模型文件系统接口文件系统缓存二级缓存概念文件系统延时缓存随机与顺序 I/O预取预读写回缓存同步写单次同步写同步提交已写内容裸 I/O 和直接 I/O非阻塞 I/O内存映射文件元数据逻辑元数据物理元数据逻辑 I/O VS 物理 I/O无关间接缩小放大操作并非不平等特殊文件系统访问时间戳容量架构文件系统 I/O 栈VFS文件系统缓存缓冲区高速缓存页缓存目录项缓存inode 缓存文件系统特性块和区段日志写时复制檫洗文件系统种类研究应用程序 I/O 性能时会发现,文原创 2021-09-20 14:35:58 · 539 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——内存
性能之巅:洞悉系统、企业与云计算——内存术语概念虚拟内存换页文件系统换页匿名换页按需换页过度提交交换文件系统缓存占用使用率饱和度分配器字长架构硬件主存延时主存架构总线多通道CPU缓存MMU多种页大小TLB软件内存释放空闲链表回收页扫描进程地址空间堆增长分配器方法工具法USE 方法使用特征归纳高级使用特征分析 / 检查清单周期分析性能监测泄露监测静态性能调优资源控制微基准测试分析调优可调参数多个页面大小分配器资源控制系统主存存储应用程序和内核指令,包括它们的工作数据,以及文件系统缓存。许多系统中,存放这些数原创 2021-09-16 16:46:50 · 4159 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——CPU
性能之巅:洞悉系统、企业与云计算——CPU术语模型CPU架构CPU推动了所有软件的运行,因而通常是系统性能分析的首要目标。现代系统一般有多个CPU,通过内核调度器共享给所有运行软件。当需求的CPU资源超过了系统力所能及的范围时,进程里的线程(或者任务)将会排队,等待轮候自己运行的机会。等待给应用程序的运行带来严重延时,使得性能下降。我们可以通过仔细检查CPU的用量,寻找性能改进的空间,还可以去除一些不需要的负载。从上层来说,可以按进程、线程或者任务来检查CPU的用量。从下层来看,可以剖析并研究应用程序和原创 2021-09-10 16:48:06 · 851 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——应用程序
性能之巅:洞悉系统、企业与云计算——应用程序应用程序基础目标常见情况的优化观测性大O标记法应用程序性能技术选择I/O尺寸缓存缓冲区轮询并发和并行处理器绑定编程语言编译语言解释语言虚拟机垃圾回收方法和分析线程状态分析CPU剖析系统调用分析性能调整离工作所执行的地方越近越好:最好在应用程序里。应用程序包括数据库、Web服务器、应用服务器、负载均衡器、文件服务器,等等。应用程序能变得极其复杂,尤其是涉及众多组件的分布式应用程序环境中。研究应用程序的内部通常是应用程序开发人员的领域,会涉及第三方工具自测。对于研原创 2021-09-03 11:13:13 · 322 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——观测工具
性能之巅:洞悉系统、企业与云计算——观测工具工具类型计数器跟踪剖析监视观测来源/proc工具类型性能观测工具可以按照系统级别和进程级别来分类,多数的工具要么基于计数器要么基于跟踪。我们把这些属性放在下图中,连同一些工具一起作为示例:有一些工具不止适合一个象限,例如,top(1) 还有一个系统级别的视图,DTrace也有进程级别的能力。还有一些性能工具是基于剖析(profiling) 的。对系统或进程做一系列快照,依次来进行观测。计数器内核维护了各种统计数据,称为计数器,用于对事件计数。通常计数原创 2021-08-31 11:44:17 · 71241 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——操作系统
性能之巅:洞悉系统、企业与云计算——操作系统术语内核内核执行内核态栈用户栈和内核栈中断和中断线程中断优先级进程进程创建进程生命周期进程环境术语操作系统:指的是安装在系统上的软件和文件,使得系统可以启动和运行操作。操作系统包括内核、管理工具、以及系统库内核:内核是管理系统的程序,包括设备(硬件)、内存和CPU调度。它运行在CPU的特权模式,允许直接访问硬件,称为内核态进程:是一个OS的抽象概念,是用来执行程序的环境。程序通常运行在用户模式,通过系统调用或自陷来进入内核模式线程:可被调度的运行在CP原创 2021-08-27 16:44:07 · 434 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——方法
性能之巅:洞悉系统、企业与云计算——方法术语模型受测系统排队系统概念延时时间量级权衡三角面对一个性能不佳且复杂的系统环境时,首先需要知道的挑战就是从什么地方开始分析、收集什么样的数据,以及如何分析这些数据。方法对于复杂系统的性能分析是有帮助的,告诉我们从哪里开始工作,用什么步骤来定位和分析性能问题。对于新手来说,方法告诉我们从什么地方开始,并列举了如何继续下去的步骤。对于部分用户或专家,方法作为检查清单来使用,确保没有遗漏什么细节。对发现进行量化和确认的方法都包括在内,从而分辨出最紧要的性能问题。术语原创 2021-08-25 17:32:01 · 1280 阅读 · 0 评论 -
性能之巅:洞悉系统、企业与云计算——绪论
性能之巅——绪论前言系统性能人员事情视角性能是充满挑战性能是主观的性能是复杂的前言性能是一门令人激动的,富于变化同时又充满挑战的学科。系统性能系统性能是对整个系统的研究,包括了所有的硬件组件和整个软件栈。所有数据路径上和软硬件上所发生的事情都包括在内,因为这些都有可能影响性能。对于分布式系统说,这意味着多台服务器和多个应用。下图呈现的是单台服务器上的通用系统软件栈,包括操作系统(OS)内核、数据库和应用程序层。术语”全栈“(entire stack)有时一般仅仅指的是应用程序环境,包括数据库、应用原创 2021-08-19 14:55:23 · 263 阅读 · 0 评论 -
Linux 性能工具速查表
Linux 性能工具速查性能工具速查CPU 性能工具内存性能工具磁盘 I/O 性能工具网络性能工具基准测试工具总结我们可以从系统和应用程序两个角度,来进行性能优化:从系统的角度来说,主要是对 CPU、内存、网络、磁盘 I/O 以及内核软件资源等进行优化。而从应用程序的角度来说,主要是简化代码、降低 CPU 使用、减少网络请求和磁盘 I/O,并借助缓存、异步处理、多进程和多线程等,提高应用程序的吞吐能力。性能优化最好逐步完善,动态进行。不要追求一步到位,而要首先保证能满足当前的性能要求。性能优化通原创 2021-08-09 11:30:34 · 292 阅读 · 0 评论 -
优化性能问题的一般方法
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :分析性能问题的一般步骤优化性能问题的一般方法系统优化CPU 优化内存优化磁盘和文件系统 I/O 优化网络优化应用程序优化总结前面,我们一起学习了,性能问题分析的一般步骤。现在我们简单回顾一下。我们可以从系统资源瓶颈和应用程序瓶颈,这两个角度来分析性能问题的根源。从系统资源瓶颈的角度来说,USE 法是最为有效的方法,即从使用率、饱和度以及错误数这三个方面,来分析 CPU、内存、磁盘和文件系统 I/O、网络以及内核资源限制等各类软硬件资源。至 .原创 2021-08-06 17:45:59 · 1454 阅读 · 0 评论 -
分析性能问题的一般步骤
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :分析性能问题的一般步骤分析性能问题的一般步骤系统资源瓶颈CPU 性能分析内存性能分析磁盘和文件系统 I/O 性能分析网络性能分析应用程序瓶颈总结如果收到监控系统的告警,发现系统资源或者应用程序出现性能瓶颈,又该如何进一步分析它的根源呢?今天,我们就分别从系统资源瓶颈和应用程序瓶颈这两个角度,一起来看看,性能分析的一般步骤。系统资源瓶颈在系统监控的综合思路篇中,系统资源的瓶颈,可以通过 USE 法,即使用率、饱和度以及错误数这三类指标来衡量。.原创 2021-08-06 17:11:08 · 709 阅读 · 0 评论 -
应用监控的一般思路
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :应用监控的一般思路应用监控的一般思路?指标监控日志监控总结系统监控的核心是资源的使用情况,这既包括 CPU、内存、磁盘、文件系统、网络等硬件资源, 也包括文件描述符数、连接数、连接跟踪数等软件资源。而要描述这些资源瓶颈,最简单有效的方法就是 USE 法。USE 法把系统资源的性能指标,简化为了三个类别:使用率、饱和度以及错误数。 当这三者之中 任一类别的指标过高时,都代表相对应的系统资源可能存在性能瓶颈。基于 USE 法建立性能指标后,我们.原创 2021-08-06 16:51:01 · 421 阅读 · 0 评论 -
动态追踪怎么用?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :动态追踪怎么用?动态追踪怎么用?动态追踪动态追踪的事件源动态追踪机制ftrace动态追踪技术,通过探针机制,来采集内核或者应用程序的运行信息,从而可以不用修改内核和应用程序的代码,就获得丰富的信息,帮你分析、定位想要排查的问题。以往,在排查和调试性能问题时,我们往往需要先为应用程序设置一系列的断点(比如使用 GDB),然后以手动或者脚本(比如 GDB 的 Python 扩展)的方式,在这些断点处分析应用程 序的状态。或者,增加一系列的日志,从.原创 2021-08-06 14:34:39 · 1383 阅读 · 0 评论 -
网络性能优化的几个思路
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :网络性能优化的几个思路?网络性能优化的几个思路确定优化目标网络性能工具网络性能优化应用程序套接字网络问题比 CPU、内存或磁盘 I/O 都要复杂。无论是应用层的各种 I/O 模型,冗长的网络协议栈和众多的内核选项,抑或是各种复杂的网络环境,都提高了网络的复杂性。不过,也不要过分担心,只要掌握了 Linux 网络的基本原理和常见网络协议的工作流 程,再结合各个网络层的性能指标来分析,就会发现,定位网络瓶颈并不难。找到网络性能瓶颈后,下一步要做.原创 2021-08-05 16:44:33 · 1809 阅读 · 1 评论 -
网络请求延迟变大了,我该怎么办?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :网络请求延迟变大了,我该怎么办?网络请求延迟变大了,我该怎么办?网络延迟除了 DDoS 会带来网络延迟增大外,我想,你肯定见到过不少其他原因导致的网络延迟, 比如:网络传输慢,导致延迟;Linux 内核协议栈报文处理慢,导致延迟;应用程序数据处理慢,导致延迟等等网络延迟...原创 2021-08-05 11:56:05 · 1441 阅读 · 0 评论 -
怎么缓解 DDoS 攻击带来的性能下降问题?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :怎么缓解 DDoS 攻击带来的性能下降问题?怎么缓解 DDoS 攻击带来的性能下降问题?DDoS 简介DDoS 简介DDoS 的前身是 DoS(Denail of Service),即拒绝服务攻击,指利用大量的合理请求, 来占用过多的目标资源,从而使目标服务无法响应正常请求。DDoS(Distributed Denial of Service) 则是在 DoS 的基础上,采用了分布式架构,利用多台主机同时攻击目标主机。这样,即使目标服务部署.原创 2021-08-04 19:55:07 · 290 阅读 · 0 评论 -
如何使用 tcpdump 和 Wireshark 分析网络流量?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :怎么使用 tcpdump 和 Wireshark 分析网络流 量?如何使用 tcpdump 和 Wireshark 分析网络流量?原创 2021-08-04 16:13:30 · 1152 阅读 · 0 评论 -
怎么评估系统的网络性能?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :怎么评估系统的网络性能?怎么评估系统的网络性能?性能指标网络基准测试各协议层的性能测试性能指标在评估网络性能前,我们先要,衡量网络性能的指标。在 Linux 网络基础篇, 我们曾经学习过,带宽、吞吐量、延时、PPS 等,都是最常用的网络性能指标。我们来复习一下它们的具体的含义。首先,带宽,表示链路的最大传输速率,单位是 b/s(比特 / 秒)。在你为服务器选购网卡时,带宽就是最核心的参考指标。常用的带宽有 1000M、10G、40G、10.原创 2021-08-04 10:55:05 · 717 阅读 · 0 评论 -
C10K 和 C1000K 回顾
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :C10K 和 C1000K 回顾C10K 和 C1000K 回顾注意,C10K 和 C1000K 的首字母 C 是 Client 的缩写。C10K 就是单机同时处理 1 万个请 求(并发连接 1 万)的问题,而 C1000K 也就是单机支持处理 100 万个请求(并发连接 100 万)的问题。...原创 2021-08-03 16:12:23 · 183 阅读 · 0 评论 -
关于 Linux 网络,必须知道这些
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :关于 Linux 网络,你必须知道这些关于 Linux 网络,必须知道这些网络模型Linux 网络栈同 CPU、内存以及 I/O 一样,网络也是 Linux 系统最核心的功能。网络是一种把不同计算 机或网络设备连接到一起的技术,它本质上是一种进程间通信方式,特别是跨系统的进程 间通信,必须要通过网络才能进行。随着高并发、分布式、云计算、微服务等技术的普 及,网络的性能也变得越来越重要。那么,Linux 网络又是怎么工作的呢?又有哪些指标衡量网.原创 2021-08-02 18:35:41 · 2029 阅读 · 5 评论 -
磁盘 I/O 性能优化的几个思路
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :磁盘 I/O 性能优化的几个思路磁盘 I/O 性能优化的几个思路I/O 基准测试I/O 基准测试按照惯例,优化之前,我们会评估, I/O 性能优化的目标是什么?换句话说,我们观察的这些 I/O 性能指标(比如 IOPS、吞吐量、延迟等),要达到多少才合适呢?事实上,I/O 性能指标的具体标准,每个人估计会有不同的答案,因为我们每个人的应用场景、使用的文件系统和物理磁盘等,都有可能不一样。为了更客观合理地评估优化效果,我们首先应该对磁盘和文.原创 2021-08-02 16:22:10 · 443 阅读 · 0 评论 -
如何迅速分析出系统I/O的瓶颈在哪里?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :如何迅速分析出系统I/O的瓶颈在哪里如何迅速分析出系统I/O的瓶颈在哪里性能指标文件系统 I/O 性能指标性能指标我们先来回顾一下,描述 I/O 的性能指标有哪些?我们可以先回想一下文件系统和 磁盘 I/O 的原理,结合下面这张 Linux 系统的 I/O 栈图,凭着记忆和理解自己写一写。文件系统 I/O 性能指标首先,最容易想到的是存储空间的使用情况,包括容量、使用量以及剩余空间等。我们通 常也称这些为磁盘空间的使用量,因为文件系统的.原创 2021-08-02 14:37:44 · 199 阅读 · 0 评论 -
Linux 磁盘I/O是怎么工作的
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :Linux 磁盘I/O是怎么工作的Linux 磁盘I/O是怎么工作的磁盘通用块层I/O 栈磁盘性能指标磁盘 I/O 观测进程 I/O 观测总结我们回顾一下,文件系统是对存储设备上的文件,进行组织管理的一种机制。而 Linux 在各种文件系统实现上,又抽象了一层虚拟文件系统 VFS,它定义了一组,所有文件系统都支持的,数据结构和标准接口。这样,对应用程序来说,只需要跟 VFS 提供的统一接口交互,而不需要关注文件系统的具体实现;对具体的文件系统.原创 2021-07-29 17:39:17 · 120 阅读 · 0 评论 -
Linux 文件系统是怎么工作的?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :Linux 文件系统是怎么工作的?Linux 文件系统是怎么工作的?索引节点和目录项虚拟文件系统文件系统 I/O性能观测容量缓存总结和 CPU、内存一样,磁盘和文件系统的管理,也是操作系统最核心的功能。磁盘为系统提供了最基本的持久化存储。文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构。那么,磁盘和文件系统是怎么工作的呢?又有哪些指标可以衡量它们的性能呢?索引节点和目录项文件系统,本身是对存储设备上的文件,进行组织管理的.原创 2021-07-29 15:33:53 · 469 阅读 · 4 评论 -
如何“快准狠”找到系统内存的问题?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :如何“快准狠”找到系统内存的问题?内存性能指标为了分析内存的性能瓶颈,首先要知道,怎样衡量内存的性能,也就是性能指标问题。我们先来看一下有哪些内存的性能指标:首先,你最容易想到的是系统内存使用情况,比如已用内存、剩余内存、共享内存、可用内存、缓存和缓冲区的用量等。已用内存和剩余内存很容易理解,就是已经使用和还未使用的内存。共享内存是通过 tmpfs 实现的,所以它的大小也就是 tmpfs 使用的内存大小。tmpfs 其实也是一种特殊的缓.原创 2021-07-27 17:03:12 · 110 阅读 · 0 评论 -
为什么系统的Swap变高了
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :为什么系统的Swap变高了为什么系统的Swap变高了前言Swap 原理NUMA 与 Swapswappiness总结前言如果在程序中直接或间接地分配了动态内存,你一定要记得释放掉它们,否则就会导致内存泄漏,严重时甚至会耗尽系统内存。不过,反过来讲,当发生了内存泄漏时,或者运行了大内存的应用程序,导致系统的内存资源紧张时,系统又会如何应对呢?这其实会导致两种可能结果,内存回收和 OOM 杀死进程。我们先来看后一个可能结果,内存资源紧张导致.原创 2021-07-26 16:20:22 · 201 阅读 · 0 评论 -
如何利用系统缓存优化程序的运行效率?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :如何利用系统缓存优化程序的运行效率?如何利用系统缓存优化程序的运行效率?缓存命中率指定文件的缓存大小总结前面我们学习了内存性能中 Buffer 和 Cache 的概念。简单复习一下,Buffer 和 Cache 的设计目的,是为了提升系统的 I/O 性能。它们利用内存,充当起慢速磁盘与快速 CPU 之间的桥梁,可以加速 I/O 的访问速度。Buffer 和 Cache 分别缓存的是对磁盘和文件系统的读写数据。从写的角度来说,不仅可以优化磁.原创 2021-07-22 16:28:03 · 322 阅读 · 2 评论 -
怎么理解内存中的Buffer和Cache
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :怎么理解内存中的Buffer和Cache?怎么理解内存中的Buffer和Cache?free 数据的来源proc 文件系统案例场景 1:磁盘和文件写案例总结内存和 CPU 的关系非常紧密,而内存管理本身也是很复杂的机制,所以感觉知识很硬核、 很难啃,都是正常的。但还是那句话,初学时不用非得理解所有内容,继续往后学,多理 解相关的概念并配合一定的实践之后,再回头复习往往会容易不少。当然,基本功不容放弃。我们先看一下系统的内存使用情况,比如下面这.原创 2021-07-20 16:54:33 · 513 阅读 · 0 评论 -
Linux内存是怎么工作的?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :Linux内存是怎么工作的?Linux内存是怎么工作的?内存映射虚拟内存空间分布内存分配与回收如何查看内存使用情况同 CPU 管理一样,内存管理也是操作系统最核心的功能之一。内存主要用来存储系统和应用程序的指令、数据、缓存等。那么,Linux 到底是怎么管理内存的呢?现在我们就一起来看看这个问题。内存映射通常所说的内存容量,就是我们的电脑内存比如 8GB,16GB,其实指的是物理内存。物理内存也称为主存,大多数计算机用的主存都是动态随机访.原创 2021-07-12 16:33:04 · 341 阅读 · 1 评论 -
CPU 性能优化的几个思路
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :CPU 性能优化的几个思路?CPU 性能优化的几个思路前言性能优化方法论怎么评估性能优化的效果?多个性能问题同时存在,要怎么选择?有多种优化方法时,要如何选择?CPU 优化应用程序优化系统优化千万避免过早优化总结前言前面我们学习了常见的 CPU 性能指标,梳理了核心的 CPU 性能观测工具,最后还总结了快速分析 CPU 性能问题的思路。虽然 CPU 的性能指标很多,相应的性能分析工具也很多,但理解了各种指标的含义后,就会发现它们其实都有一定的.原创 2021-07-08 16:34:26 · 2555 阅读 · 0 评论 -
如何迅速分析出系统CPU的瓶颈在哪里?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :如何迅速分析出系统CPU的瓶颈在哪里?如何迅速分析出系统CPU的瓶颈在哪里?CPU 性能指标性能工具从两个不同的维度来理解它们,做到活学活用。第一个维度,从 CPU 的性能指标出发。也就是说,当我们要查看某个性能指标时,要清楚知道哪些工具可以做到。第二个维度,从工具出发。也就是当你已经安装了某个工具后,要知道这个工具能提供哪 些指标。如何迅速分析 CPU 的性能瓶颈总结通过学习前几节里,通过几个案例,知道了分析了各种常见的 CPU 性能问题。通.原创 2021-07-05 17:24:50 · 358 阅读 · 1 评论 -
系统的软中断CPU使用率升高,该怎么办?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :系统的软中断CPU使用率升高,我该怎么办?系统的软中断CPU使用率升高,我该怎么办?前言案例操作和分析总结前言中断是一种异步的事件处理机制,用来提高系统的并发处理能力。中断事件发生,会触发执行中断处理程序,而中断处理程序被分为上半部和下半部这两个部分。上半部对应硬中断,用来快速处理中断下半部对应软中断,用来异步处理上半部未完成的工作Linux 中的软中断包括网络收发、定时、调度、RCU 锁等各种类型,我们可以查看 proc 文件系统.原创 2021-07-02 15:47:07 · 1422 阅读 · 0 评论 -
怎么理解Linux软中断?
本文是通过学习倪朋飞老师的《Linux性能优化实战》 :怎么理解Linux软中断?系统中出现大量不可中断进程和僵尸进程怎么办?前言中断的含义标题软中断查看软中断和内核线程总结前言前面我们知道了iowait(也就是等待 I/O 的 CPU 使 用率)升高时的分析方法。这里你要记住,进程的不可中断状态是系统的一种保护机制, 可以保证硬件的交互过程不被意外打断。所以,短时间的不可中断状态是很正常的。但是,当进程长时间都处于不可中断状态时,你就得当心了。这时,你可以使用 dstat、 pidstat 等.原创 2021-07-01 17:49:07 · 89 阅读 · 0 评论 -
linux性能分析工具
sysstatsysstat是一个linux性能工具,用来监控和分析系统的性能,以下案例中会用到这个包的2个命令mpstat和pidstat。mpstat 是一个常用的多核CPU性能分析工具用来实时查看每个CPU的性能指标,一级所有CPI的平均指标。# -P ALL 表示监控所有 CPU,后面数字 5 表示间隔 5 秒后输出一组数据 mpstat -P ALL 5Linux 4.18.0-147.5.1.el8_1.x86_64 (service) 2021年06月17日 _x86_64_原创 2021-06-30 18:56:39 · 3579 阅读 · 0 评论 -
系统中出现大量不可中断进程和僵尸进程怎么办?
本文是通过学习极客时间专栏《Linux性能优化实战》 :系统中出现大量不可中断进程和僵尸进程怎么办?系统中出现大量不可中断进程和僵尸进程怎么办?进程状态总结大多数cpu使用率高的分析和应对方法都可以用top、ps、pidstat这些工具进行排查,但是当碰到无法解释CPU使用率问题时,先要检查一下是不是短时应用在捣鬼。短时应用的运行时间比较短,很难在 top 或者 ps 这类展示系统概要和进程快照的工具中 发现,你需要使用记录事件的工具来配合诊断,比如 execsnoop 或者 perf top。另.原创 2021-06-30 16:42:41 · 236 阅读 · 0 评论 -
某个应用的CPU使用率居然达到100%,该怎么办?
学习倪鹏飞老师linux性能优化实践的笔记,文中大量内容来源于老师的文档材料。某个应用的CPU使用率居然达到100%,该怎么办CPU 使用率CPU 使用率Linux 作为一个多任务操作系统,将每个 CPU 的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉。为了维护 CPU 时间,Linux 通过事先定义的节拍率(内核中表示为 HZ),触发时间中 断,并使用全局变量 Jiffies 记录了开机以来的节拍数。每发生一次时间中断,Jiffies 的值 就加 1。翻译 2021-06-25 18:30:53 · 1618 阅读 · 0 评论