写点什么

内存管理

2 人感兴趣 · 97 次引用

  • 最新
  • 推荐

glibc 内存分配与释放机制详解

本文以一次线上故障为基础介绍了使用glibc进行内存管理可能碰到问题,进而对库中内存分配与释放机制进行分析,最后提供了相应问题的解决方案。

从内存泄露聊聊 python 内存管理

在使用 cpython 时, 发现偶尔会发生内存泄露。这是什么原因呢?

https://static001.geekbang.org/infoq/d4/d4bc87996b104a0b8b7c64605972998b.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

一文聊透 Linux 缺页异常的处理 —— 图解 Page Faults

内存管理大串联,干货知识点密集,在这里大家会看到一个一个的知识点如何串联成一条知识线,一条一条的知识线如何编织成一个知识面

https://static001.geekbang.org/infoq/34/34bfd0ce3a32e278ae7847c2622380ad.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

高效利用内存资源:掌握 Redis 内存管理与淘汰策略

在Redis的世界里,内存管理是一门重要的艺术。本教程将带你深入了解Redis内存淘汰策略,教你如何在数据存储和性能之间找到最佳平衡点。

https://static001.geekbang.org/infoq/3b/3b9b7393d20dd86e8a35e03cd7e54cf4.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

一步一图带你构建 Linux 页表体系 —— 详解虚拟内存如何与物理内存进行映射

笔者之前在自己的专栏《聊聊 Linux 内核》 里通过大量的篇幅写了一个系列关于内存管理相关的文章,在这个系列文章中,笔者分别通过虚拟内存管理和物理内存管理两个角度算是把 Linux 内存管理子系统的全貌给大家呈现了出来。

https://static001.geekbang.org/infoq/d2/d2bcaf9c085bf83fad71113599b57178.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

深度解读 Linux 内核级通用内存池 —— kmalloc 体系

本文是笔者 slab 系列的最后一篇文章,为了方便大家快速检索,先将相关的文章列举出来:

https://static001.geekbang.org/infoq/30/3040ec5c4aa8cf536c3486a21b766108.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

C 语言编程—内存管理

用户头像
芯动大师
2023-06-13

C语言中的动态内存管理。C语言为内存的分配和管理提供了几个函数。这些函数可以在 <stdlib.h> 头文件中找到。

https://static001.geekbang.org/infoq/36/360197367e6837bd9c465ca026a18474.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

FreeRTOS 使用 — 合理使用内存 “ 任务中创建任务 ”

用户头像
矜辰所致
2023-06-09

在我们学习 RTOS 的过程中,很多朋友都不会遇到内存不够的问题,因为大部分的开发板使用的芯片对学习来说,内存 “足够大” 。所以基本上很多人学会了基本功能,到了实际工作中使用,往往会遇到内存不够的问题。

https://static001.geekbang.org/infoq/3a/3ab49ae0dfebcbfe9d0da81859fc550c.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

深度解析 slab 内存池回收内存以及销毁全流程

在上篇文章 《深入理解 slab cache 内存分配全链路实现》 中,笔者详细地为大家介绍了 slab cache 进行内存分配的整个链路实现,本文我们就来到了 slab cache 最后的一部分内容了,当申请的内存使用完毕之后,下面就该释放内存了。

图数据库 NebulaGraph 的内存管理实践之 Memory Tracker

用户头像
NebulaGraph
2023-05-17

数据库的内存管理是数据库内核设计中的重要模块,内存的可度量、可管控是数据库稳定性的重要保障。同样的,内存管理对图数据库 NebulaGraph 也至关重要。

https://static001.geekbang.org/infoq/7a/7a917c7097b70c6e8f40e133f07dd42a.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

C++ 智能指针和内存管理:使用指南和技巧

用户头像
小万哥
2023-05-03

C++是一门强大的编程语言,但是在内存管理方面却存在着一些问题。手动管理内存不仅费时费力,而且容易出错。因此,C++中引入了智能指针这一概念,以更好地管理内存。

c++11 实现内存缓存机制

用户头像
linux大本营
2023-04-27

C++11提供了一些非常有用的内存管理工具,可以帮助开发人员实现内存缓存机制。下面是一些C++11内存管理工具的介绍:

5.10 版本 linux 内核的使用 slub 的 kmem_cache_init 函数解析

用户头像
linux大本营
2023-04-26

在5.10版本的内核中,如果使用SLUB内存分配器,kmem_cache_init函数会调用kmem_cache_init_late函数进行具体实现。

5.10 版本的 linux 内核 setup_kmalloc_cache_index_table 函数解析

用户头像
linux大本营
2023-04-26

setup_kmalloc_cache_index_table函数是Linux内核中用于初始化内存缓存和内存对象的索引表的函数。它主要是用于加速kmalloc和kfree的执行速度。

Java 应用程序在 Kubernetes 上棘手的内存管理

如何结合使用 JVM Heap 堆和 Kubernetes 内存的 requests 和 limits 并远离麻烦。

解析 mmap 系统调用的所有的标志位

用户头像
linux大本营
2023-04-21

当调用mmap系统调用时,可以提供一组标志,来控制内存映射行为。以下是相关标志位的解析:

程序踩内存后,应该怎么排查

用户头像
linux大本营
2023-04-20

程序踩内存后,可以按照以下步骤进行排查:

https://static001.geekbang.org/infoq/5a/5ab87f4a97c4dc252322c9ec57f1a688.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

从内核源码看 slab 内存池的创建初始化流程

笔者从 slab cache 的总体架构演进角度以及 slab cache 的运行原理角度为大家勾勒出了 slab cache 的总体架构视图,基于这个视图详细阐述了 slab cache 的内存分配以及释放原理

https://static001.geekbang.org/infoq/9d/9d263c75215442522345308efa72028b.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

百度工程师带你探秘 C++ 内存管理(ptmalloc 篇)

用户头像
百度Geek说
2022-12-19

本文作为系列文章《探秘C++内存管理》的第二篇,将会探讨经典内存管理器ptmalloc如何管理C++程序的内存。

https://static001.geekbang.org/infoq/6b/6b3b2e486b5034997fb4a01c5b12989a.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

一步一图带你深入理解 Linux 物理内存管理

在上篇文章 《深入理解 Linux 虚拟内存管理》 中,笔者分别从进程用户态和内核态的角度详细深入地为大家介绍了 Linux 内核如何对进程虚拟内存空间进行布局以及管理的相关实现。在我们深入理解了虚拟内存之后,那么何不顺带着也探秘一下物理内存的管理呢?

百度 APP iOS 端内存优化实践 - 内存管控方案

用户头像
百度Geek说
2022-11-22

内存管控方案应运而生,该方案重点解决的问题是在内存水位很高的情况下,保证APP稳定性又兼顾用户体验,延长APP使用时长同时避免OOM。

https://static001.geekbang.org/infoq/95/95947958e9e96b827a082d29cd88fe21.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

golang 的内存管理

用户头像
六月的
2022-10-19

1、内存管理 内存管理是管理计算机内存的过程,在主存和磁盘之间移动进程以提高系统的整体性能。内存管理的基本要求是提供方法来根据程序的请求动态的将部分内存分配给程序,并在不需要时释放它以供重用。 程序通过将他们的内存划分。

https://static001.geekbang.org/infoq/f5/f5bc43c7a259386c147f7d3202916be8.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

肝下 50 万字的《Linux 内核精通》笔记,你的底层原理水平将从入门到入魔【建议收藏】

大部分程序员可能永远没有机会开发Linux内核或者驱动Linux,那么我们为什么还需要学习Linux内核呢?Linux的源代码和架构都是开放的,我们可以学到很多操作系统的概念和实现原理。Linux的设计哲学体系继承了UNIX,现在整个设计体系相当稳定和简化,这是大部分

内存管理:程序是如何被优雅的装载到内存中

用户头像
C++后台开发
2022-09-13

内存作为计算机中一项比较重要的资源,它的主要作用就是解决CPU和磁盘之间速度的鸿沟,但是由于内存条是需要插入到主板上的,因此对于一台计算机来说,由于物理限制,它的内存不可能无限大的。我们知道我们写的代码最终是要从磁盘被加载到内存中的,然后再被

内存管理_内存管理技术文章_InfoQ写作社区