Yuxxxxxxxxxx's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

Linux 下 perf 的使用

[TOC] 一、概述 1、perf 作用 perf 是一个性能分析工具(基于 Linux 内核提供的性能事件 perf_event 口),用于对 Linux 系统进行性能调优和性能分析。它可以通过收集硬件性能计数器、跟踪系统事件和采样程序调用栈等方式来提供详细的性能统计信息。 perf 依赖事件进行统计,这里的事件是通过采样机制,并不是 clock 级别的统计;根据使用 perf 工具的不同
2024-08-05
Linux > 性能优化/调试
#Linux #Linux 命令 #性能优化/调试

Linux 下 ag 命令的使用

[toc] 一、概述 1、功能 在 Linux 系统中,ag 命令是用于文本搜索的高效工具。它具有快速、灵活的搜索功能,并支持正则表达式匹配。 2、下载 在下面是各个系统安装 ag 的命令: 1sudo apt-get install silversearcher-ag MacOS: 1brew install the_silver_searcher Debian/Ubuntu:
2024-08-05
Linux > Linux 命令
#Linux #Linux 命令

Linux 下 objdump 命令的使用

[TOC] 一、概述 objdump 工具是用来显示二进制文件的信息,就是以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。该命令常用于 Linux下反汇编目标文件或者可执行文件。 什么是反汇编 反汇编(disassembly)是指将已编译的机器码转换回可读的汇编代码的过程。在计算机系统中,程序的源代码经过编译器转换成机器码(二进制代码)后才能被计算机执行。反汇编就是将这些机器码
2024-08-04
Linux > Linux 命令
#Linux #Linux 命令 #调试

Linux 进程调度(一)之初识进程

[TOC] 一、初识进程 1、基本概念 进程是任何多道程序设计的操作系统中的基本概念。通常把进程定义为程序执行的一个实例,因此,如果 16 个用户同时运行 vi,那么就有 16 个独立的进程(尽管它们共享同一个可执行代码)。在 Linux 源代码中,常把进程称为任务(task)或线程(thread)。 进程类似于人类:它们被产生,有或多或少有效的生命,可以产生一个或多个子进程最终都要死亡。一
2024-07-31
Linux > 进程调度
#Linux #进程调度

Linux 内存管理(八)之 slab 分配器

1、普通和专用高速缓存 2、slab 和 buddy system 的关系 3、slab 分配器基本概念 3.1 slab 3.2 object 3.3 cache 4、slab 的基本思想 5、对齐内存中的对象 6、slab 着色 1、slab 的结构图 2、slab 结构解释 2.1 cache_chain 2.2 kmem_cache 2.3 slabs_full、slabs_pa
2024-07-29
Linux > 内存管理
#内存管理 #Linux #slab

Linux 内存管理(七)之伙伴系统算法

1、基本思想 2、工作原理 3、伙伴系统信息查看 1、数据结构 2、分配块 2.1 requeue 2.2 __rmqueue_smallest 2.3 总结 3、释放块 前言 伙伴系统算法是一种用来管理分配和释放内存的算法,它在 Linux 内核中被广泛使用。其设计目标是高效地管理内存碎片,并且具有快速的分配和释放速度。 接下来将详细探讨一下 Linux 中的伙伴系统算法。 一
2024-07-24
Linux > 内存管理
#内存管理 #Linux #伙伴系统算法

Linux 内存管理(六)之内存管理区

[TOC] 前言 为了支持 NUMA 模型,也即 CPU 对不同内存单元的访问时间可能不同,此时系统的物理内存被划分为几个节点,一个节点对应一个内存簇 bank,即每个内存簇被认为是一个节点。接着各个节点又被划分为内存管理区域,接下来将对内存管理区域进行讨论。 非一致内存访问(Non-Uniform MemoryAccess,NUMA)模型,是一种内存架构模型,用于多处理器系统中的内存访问。
2024-07-23
Linux > 内存管理
#内存管理 #Linux

Linux 内存管理(五)之转换后援缓存器(TLB)

1、TLB 表项 2、TLB 组成 3、TLB 原理 前言 在传统的地址转换方式中,每次访问内存时,CPU 都需要通过页表来查找虚拟地址到物理地址的映射关系。这个过程需要多次内存访问,从而导致较大的延迟。为了减少这种延迟,引入了一种叫做 TLB 的缓存机制,将最近使用过的映射关系存储在高速缓存中。 一、高速缓存 TLB 实际上就是一种高速缓存,所以讲解 TLB 之前我们先来看一下什么是
2024-07-22
Linux > 内存管理
#内存管理 #Linux #TLB

Linux 内存管理(四)之物理地址扩展(PAE)

[TOC] 前言 在 32 位操作系统中,使用 32 位的寻址空间,最多只能表示 2322^{32}232 个不同的地址,即 4GB 的地址空间。这意味着无论实际物理内存有多大,操作系统最多只能寻址 4GB 的物理内存。 然而,在实际应用中,特别是在服务器和高性能计算领域,需要处理大型数据集和运行大规模应用程序的情况下,4GB 的内存往往不够用。因此,引入 PAE 机制可以扩展物理地址空间,使
2024-07-21
Linux > 内存管理
#内存管理 #Linux #PAE

Linux 内存管理(三)之分页机制

[TOC] 前言 在早期的操作系统中,分段机制被广泛采用,但随着技术的发展,分页机制逐渐成为主流选择。接下来,我们将深入探讨分页机制的原理、工作方式以及与其他内存管理机制的比较。 分段机制部分的内容可以看:Linux 内存管理(一)之分段机制。 本文涉及到的 cr0、cr2、cr3、cr4 这四个控制寄存器可以参考:x86/x86_64 下的 CPU 控制寄存器 本文还提及了 PAE
2024-07-21
Linux > 内存管理
#内存管理 #Linux #分页机制
1…11121314

搜索

Hexo Fluid