Linux内存管理 -- /proc/{pid}/smaps讲解

linux的/proc/{pid}/maps介绍及使用(定位内存泄漏) 1、介绍 简单来说就是查看进程的虚拟地址空间是如何使用的。总共包括六列,每列及其含义如下。 address | perms | offset | dev | inode | pathname (1)地址:本段在虚拟内存中的地址范围;对应vm_area_struct中的vm_start和vm_end。 (2)权限:本段的权限; r-读,w-写,x-执行, p-私有;对应vm_flags。 (3)偏移地址:即本段映射地址在文件中的偏移;对于有名映射指本段映射地址在文件中的偏移,对应vm_pgoff;对于匿 阅读详情
AI摘要

本文详细解析了Linux系统中/proc/PID/smaps文件的内容及其字段含义,包括虚拟内存、物理内存分配、共享与私有内存等关键概念,并介绍了如何通过smaps文件深入理解Linux内存管理机制。

本文包括如下三部分:

  1. 基本介绍与输出介绍
  2. 第一行基础信息讲解
  3. 详细信息讲解
    3.1 Size
    3.2 Rss
    3.3 Pss、Shared/Private_Clean/Dirty
    3.4 Referenced
    3.5 Anonymous
    3.6 ShmemPmdMapped
    3.7 Shared/Private_Hugetlb
    3.8 Swap
    3.9 SwapPss
    3.10 KernelPageSize、MMUPageSize
    3.11 Locked
    3.12 THPeligible
    3.13 VmFlags

如果对Linux的内存管理机制没有了解过,建议先了解一下,便于理解:Linux内存管理

基本介绍

/proc/PID/smaps 文件是基于 /proc/PID/maps 的扩展,他展示了一个进程的内存消耗,比同一目录下的maps文件更为详细。

值得说明一下的是,每一个VMA(虚拟内存区域,即一个 vm_area_struct 结构指向的内存区域)都有如下的一系列数据:

 

08048000-080bc000 r-xp 00000000 03:02 13130      /bin/bash

Size:               1084 kB
Rss:                 892 kB
Pss:                 374 kB
Shared_Clean:        892 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:          892 kB
Anonymous:             0 kB
ShmemPmdMapped:        0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Locked:                0 kB
THPeligible:           0
VmFlags: rd ex mr mw me dw

第一行基础信息

在讲解字段含义之前,我们必须知道什么匿名映射:
在Linux 内存管理的进程用户态内存分布中提到过,映射分为文件映射和匿名映射。

文件映射就是磁盘中的数据通过文件系统映射到内存再通过文件映射映射到虚拟空间,这样,用户就可以在用户空间通过 open ,read, write 等函数区操作文件内容。至于实际的代码,open,read,write,close,mmap... 操作的虚拟地址都属于文件映射。

匿名映射就是用户空间需要分配一定的物理内存来存储数据,这部分内存不属于任何文件,内核就使用匿名映射将内存中的某段物理地址与用户空间一一映射,这样用户就可用直接操作虚拟地址来范围这段物理内存。比如使用malloc申请内存。

  • 08048000-080bc000 是该虚拟内存段的开始和结束位置
  • r-xp 内存段的权限,分别是可读、可写、可运行、私有或共享,最后一位p代表私有,s代表共享
  • 00000000 该虚拟内存段起始地址在对应的映射文件中以页为单位的偏移量,对匿名映射,它等于0或者vm_start/PAGE_SIZE
  • 03:02 文件的主设备号和次设备号。对匿名映射来说,因为没有文件在磁盘上,所以没有设备号,始终为00:00。对有名映射来说,是映射的文件所在设备的设备号。
  • 13130 被映射到虚拟内存的文件的索引节点号,通过该节点可以找到对应的文件,对匿名映射来说,因为没有文件在磁盘上,所以没有节点号,始终为00:00。
  • /bin/bash 被映射到虚拟内存的文件名称。后面带(deleted)的是内存数据,可以被销毁。对有名来说,是映射的文件名。对匿名映射来说,是此段虚拟内存在进程中的角色。[stack]表示在进程中作为栈使用,[heap]表示堆。其余情况则无显示。

第一行的信息完全同于在maps文件中输出的信息。对于不熟悉maps文件的读者可以先了解maps的字段的含义与实现机制。

详细信息

Size:虚拟内存空间大小。但是这个内存值不一定是物理内存实际分配的大小,因为在用户态上,虚拟内存总是延迟分配的。这个值计算也非常简单,就是该VMA的开始位置减结束位置。

延迟分配就是当进程申请内存的时候,Linux会给他先分配页,但是并不会区建立页与页框的映射关系,意思就是说并不会分配物理内存,而当真正使用的时候,就会产生一个缺页异常,硬件跳转page fault处理程序执行,在其中分配物理内存,然后修改页表(创建页表项)。异常处理完毕,返回程序用户态,继续执行。

Rss:是实际分配的内存,这部分物理内存已经分配,不需要缺页中断就可以使用的。
这里有一个公式计算Rss:
Rss=Shared_Clean+Shared_Dirty+Private_Clean+Private_Dirty

share/private:该页面是共享还是私有。
dirty/clean:该页面是否被修改过,如果修改过(dirty),在页面被淘汰的时候,就会把该脏页面回写到交换分区(换出,swap out)。有一个标志位用于表示页面是否dirty。

share/private_dirty/clean 计算逻辑:
查看该page的引用数,如果引用>1,则归为shared,如果是1,则归为private,同时也查看该page的flag,是否标记为_PAGE_DIRTY,如果不是,则认为干净的。

Pss(proportional set size):是平摊计算后的实际物理使用内存(有些内存会和其他进程共享,例如mmap进来的)。实际上包含下面private_clean+private_dirty,和按比例均分的shared_clean、shared_dirty。

举个计算Pss的例子:
如果进程A有x个private_clean页面,有y个private_dirty页面,有z个shared_clean仅和进程B共享,有h个shared_dirty页面和进程B、C共享。那么进程A的Pss为:
x + y + z/2 + h/3

Referenced:当前页面被标记为已引用或者包含匿名映射(The amount of memory currently marked as referenced or a mapping associated with a file may contain anonymous pages)。

在Linux内存管理的页面替换算法里讲过,当某个页面被访问后,Referenced标志被设置,如果该标志设置了,就 不能将该页移出。

Anonymous:匿名映射的物理内存,这部分内存不来自于文件的内存大小。

ShmemPmdMapped:PMD页面已经被映射的共享(shmem / tmpfs)内存量。在官方文档中,这样解释:"ShmemPmdMapped" shows the ammount of shared (shmem/tmpfs) memory backed by huge pages.

Shared/Private_Hugetlb:由hugetlbfs页面支持的内存使用量,由于历史原因,该页面未计入“ RSS”或“ PSS”字段中。 并且这些没有包含在Shared/Private_Clean/Dirty 字段中。

Swap:存在于交换分区的数据大小(如果物理内存有限,可能存在一部分在主存一部分在交换分区)

SwapPss:这个我并没有找到对应解释,但从源码可以得知,计算逻辑就跟pss一样,只不过针对的是交换分区的内存。

 

static void smaps_pte_entry(pte_t *pte, unsigned long addr,
        struct mm_walk *walk)
{
    struct mem_size_stats *mss = walk->private;
    struct vm_area_struct *vma = walk->vma;
    struct page *page = NULL;

    if (pte_present(*pte)) {//----------------------------------页面在内存中
        page = vm_normal_page(vma, addr, *pte);
    } else if (is_swap_pte(*pte)) {//---------------------------页面被swap出
        swp_entry_t swpent = pte_to_swp_entry(*pte);

        if (!non_swap_entry(swpent)) {
            int mapcount;

            mss->swap += PAGE_SIZE;
            mapcount = swp_swapcount(swpent);
            if (mapcount >= 2) {
                u64 pss_delta = (u64)PAGE_SIZE << PSS_SHIFT;
               do_div(pss_delta, mapcount);
                mss->swap_pss += pss_delta; // --------- 如果引用超过1,就将均值加入swap_pss中
            } else {
                mss->swap_pss += (u64)PAGE_SIZE << PSS_SHIFT;// ------------ 直接加一个页大小
            }
       } else if (is_migration_entry(swpent))
            page = migration_entry_to_page(swpent);
    }

    if (!page)//----------------------------------------------如果页面不存在,就不用更新mss其他信息了;如果存在,调用smaps_account()更新mss。
        return;
smaps_account(mss, page, PAGE_SIZE, pte_young(*pte), pte_dirty(*pte));
}

KernelPageSize:内核一页的大小
MMUPageSize:MMU页大小,大多数情况下,和KernelPageSize大小一样。

Locked:常驻物理内存的大小,这些页不会被换出。

THPeligible:映射是否符合分配THP的条件。如果为true,则为1,否则为0。 它仅显示当前状态。

THP,透明大页(Transparent Huge Pages),RHEL 6 开始引入,目的是使用更大的内存页面(memory page size) 以适应越来越大的系统内存,让操作系统可以支持现代硬件架构的大页面容量功能。与标准大页的区别在于分配机制,标准大页管理是预分配的方式,而透明大页管理则是动态分配的方式。

VmFlags:表示与特定虚拟内存区域关联的内核标志。标志如下:

 

rd  - readable
wr  - writeable
ex  - executable
sh  - shared
mr  - may read
mw  - may write
me  - may execute
ms  - may share
gd  - stack segment growns down
pf  - pure PFN range
dw  - disabled write to the mapped file
lo  - pages are locked in memory
io  - memory mapped I/O area
sr  - sequential read advise provided
rr  - random read advise provided
dc  - do not copy area on fork
de  - do not expand area on remapping
ac  - area is accountable
nr  - swap space is not reserved for the area
ht  - area uses huge tlb pages
ar  - architecture specific flag
dd  - do not include area into core dump
sd  - soft-dirty flag
mm  - mixed map area
hg  - huge page advise flag
nh  - no-huge page advise flag
mg  - mergable advise flag

参考文章:
Linux官方文档
Linux smaps接口文件结构
linux proc maps文件分析
linux proc maps文件分析
匿名文件映射问题 (概念不清晰)
Linux中各种设备及设备号
Linux smaps接口文件结构
闲聊Linux内存管理(1)
Linux物理内存回收机制
Linux /proc/$pid/smaps的含义
Linux传统Huge Pages与Transparent Huge Pages再次学习总结
Linux内存管理 一个进程究竟占用多少空间?-VSS/RSS/PSS/USS
linux 内存查看方法:meminfo\maps\smaps\status 文件解析



作者:墨染书
链接:https://www.jianshu.com/p/8203457a11cc
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

解析进程 /proc/pid/maps 和 /proc/pid/smaps 就是当进程申请内存的时候,Linux会给他先分配页,但是并不会区建立页与页框的映射关系,意思就是说并不会分配物理内存,而当真正使用的时候,就会产生一个缺页异常,硬件跳转page fault处理程序执行,在其中分配物理内存,然后修改页表(创建页表项)。查看该page的引用数,如果引用>1,则归为shared,如果是1,则归为private,同时也查看该page的flag,是否标记为_PAGE_DIRTY,如果不是,则认为干净的。对匿名映射来说,因为没有文件在磁盘上,所以没有设备号,始终为00:00。 阅读详情

相关推荐

/proc/[pid]/smaps

是一个非常有用的工具,用于分析和调试进程的内存使用情况。通过查看该文件,您可以深入了解每个内存段的状态和使用情况,从而帮助优化程序性能和资源管理。

阿东的学习记录 488

【Kernel】proc/pid/smaps

【Kernel】proc/pid/smaps 转自:https://www.jianshu.com/p/8203457a11cc 一、基本介绍 /proc/PID/smaps 文件是基于 /proc/PID/maps 的扩展,他展示了一个进程的内存消耗,比同一目录下的maps文件更为详细。 值得说明一下的是,每一个VMA(虚拟内存区域,即一个 vm_area_struct 结构指向的内存区域)都有如下的一系列数据: 08048000-080bc000 r-xp 00000000 03:02 13130

qq_40392981的博客 1304

Linux虚拟内存深度解析:从VIRT/RSS到页表与缺页中断

在Linux系统中,虚拟内存是操作系统为每个进程提供的独立地址空间,通过页表将虚拟地址映射到物理内存,并借助缺页中断机制实现按需分配,从而在有限的物理内存下支持多个进程高效并发。理解虚拟内存与物理内存的差异,是排查内存泄漏、OOM、swap抖动等问题的关键。本文从基础概念出发,结合进程地址空间布局、VMA结构、页表翻译与COW技术,讲解系统调用和内核数据的协作原理;同时通过实验室演示malloc后RSS的变化规律,并介绍pmap、/proc/PID/smaps等核心工具的使用思路。掌握这些机制,能帮助开发者

weixin_33462167的博客 274

linux /proc/pid/smaps各字段含义

smaps文件内容格式是: 7f4913d8f000-7f4913ddd000 r-xp 00000000 fd:00 791940 /usr/local/boost149/lib/libboost_python.so.1.49.0 Size: 312 kB Rss: 20 kB Pss: 2 kB Shared_Clean: 20 kB Shar

jinchengzhou的专栏 2640

33、Linux 内存管理内部机制基础

本文深入解析了Linux内存管理的内部机制,重点介绍了内核虚拟地址空间和进程用户虚拟地址空间(VAS)的布局。内容涵盖Linux 32位和64位系统的VAS分割方式、通过proc文件系统查看内存映射的方法、/proc/PID/maps文件的详细解释、vsyscall页面的作用,以及使用procmap等前端工具分析进程内存映射的完整流程。此外,还讲解了特殊映射如null trap页面和vsyscall的现代变体(vvar和vdso)。通过实际示例和流程图,帮助读者全面理解Linux内存管理机制并掌握相关工具的

dropout6artist的博客 58

Unity动态创建Avatar骨骼映射

Unity Avatar骨骼映射动态创建,适配Unity通用动画,无需经过第三方建模软件,可运行时创建

Nbin_Newby的博客 1万+

Linux内存管理--smaps文件详解

比如该区域所映射的物理内存部分同时也被另一个进程映射了,且该部分物理内存的大小为1000KB,那么该进程分摊其中一半的内存,即Pss=500KB。通过top命令我们已经能看出进程的虚拟空间大小(VIRT)、占用的物理内存(RES)以及和其他进程共享的内存(SHR)。• Rss:驻留内存大小,是进程当前实际占用的物理内存大小,包括进程独自占用的物理内存、和其他进程共享的内存。通过查看进程的smaps文件,可以获取进程每个内存映射块的详细信息,分析这些信息,可帮助定位如内存泄漏等内存问题。

hhhlizhao的博客 7143

【STM32篇】DRV8425驱动步进电机

【STM32篇】在上篇文章中使用了HR4988实现了步进电机的驱动,在实际运用过程,4988驱动步进电机会存在电机噪音太大的现象。本次将向各位友友介绍一个驱动简单且非常静音的一款步进电机驱动IC。

we_long的博客 3067

linux中内存管理方法的总结,Linux内存管理 -- /proc/{pid}/smaps讲解

本文包括如下三部分:基本介绍与输出介绍第一行基础信息讲解详细信息讲解3.1 Size3.2 Rss3.3 Pss、Shared/Private_Clean/Dirty3.4 Referenced3.5 Anonymous3.6 ShmemPmdMapped3.7 Shared/Private_Hugetlb3.8 Swap3.9 SwapPss3.10 KernelPageSize、MMUPage...

weixin_42413747的博客 933

Transformer——从原理、模型架构到内部细节介绍

Transformer模型是一种基于注意力机制的深度学习模型,最早由Google在2017年的论文《AttentionIsAllYouNeed》中提出。自其问世以来就迅速席卷了自然语言处理他(NLP)领域,并在各类主流任务上取得了新的突破,包括机器翻译、语言建模、序列标注和文本分类等。在NLP领域取得巨大成功后,迅速扩展到了计算机视觉(CV)领域,并带来了革命性的变化。这种基于自注意力机制的深度学习模型,不仅在NLP任务中力压群雄,也成为CV领域的新宠。

小拉拉的博客 1万+

LangChain Agent Skills 实战指南:12个案例玩转智能体技能封装与编排

大语言模型应用开发中,智能体(Agent)的能力扩展正从零散的函数调用走向标准化封装。Agent Skills 将某项具体能力组织为带说明、代码与依赖的技能目录,让模型能自动发现和调度,其核心价值在于解决工具数量膨胀后的维护混乱与调用失控问题。与 Tool 的单一执行、MCP 的协议连接不同,Skill 更强调能力的语义描述与组合复用,配合 LangGraph 的状态编排和 LangSmith 的可观测性,可构建生产级智能体系统。在实际场景中,Agent Skills 可覆盖 RAG 知识库问答、多轮记忆保

weixin_34335458的博客 407

Linux内存诊断五件套:free、vmstat、pmap、meminfo与smaps实战精解

Linux内存管理本质是虚拟内存、物理页帧与硬件映射的三层协同机制。其核心原理在于LRU页面回收、共享内存按比例分摊(PSS)、可用内存动态估算(MemAvailable)等内核策略。这些技术共同构成系统级内存压测、OOM故障定位与性能调优的基础能力。典型应用场景包括Java/Python服务内存泄漏排查、Kafka/Redis等中间件内存压力分析、容器化环境资源争用诊断,以及嵌入式系统低内存优化。本文聚焦free、vmstat、pmap、/proc/meminfo和smaps五大命令,深入解析availa

weixin_30522983的博客 332

人工智能(AI)简史:推动新时代的科技力量

人工智能(AI,Artificial Intelligence)是计算机科学的一个分支,旨在研究和开发可以模拟、扩展或增强人类智能的系统。它涉及多种技术和方法,包括机器学习、深度学习、自然语言处理(NLP)、计算机视觉、专家系统等。

qq_17153885的博客 1万+

深入Linux内存管理:从虚拟内存到OOM调优的完整指南

内存管理是现代操作系统核心基础,它通过虚拟内存机制为每个进程提供独立的地址空间,实现安全隔离与资源高效利用。其底层原理涉及物理页帧组织、页表映射和延迟分配等技术,核心价值在于平衡性能、安全性与资源利用率。在工程实践中,Linux采用伙伴系统管理物理内存,Slab分配器优化内核对象分配,并通过页缓存和交换机制提升I/O性能与系统韧性。理解这些机制对于诊断内存泄漏、优化Swap策略及防御OOM Killer至关重要,尤其在云原生与大数据场景下,合理配置Transparent Huge Pages和Cgroup内

weixin_30855761的博客 417

单精度浮点数存储、双精度浮点数存储

单精度浮点数存储、双精度浮点数存储

fancynthia的博客 1306

新手避坑指南:用SARScape 5.6.2处理Sentinel-1数据做SBAS-InSAR,这些参数设置错了白忙活

本文详细介绍了使用SARScape 5.6.2处理Sentinel-1数据做SBAS-InSAR时的关键参数设置技巧,帮助新手避免常见错误。重点解析了连接图生成、干涉工作流、DEM处理等环节的12个关键参数,包括Max Normal Baseline、Unwrapping Coherence Threshold等,提供实测安全值范围和优化建议,确保处理效率和结果准确性。

weixin_30694389的博客 557

Linux内存管理 -- smaps讲解

基本介绍 /proc/PID/smaps 文件是基于 /proc/PID/maps 的扩展,他展示了一个进程的内存消耗,比同一目录下的maps文件更为详细。 值得说明一下的是,每一个VMA(虚拟内存区域,即一个 vm_area_struct 结构指向的内存区域)都有如下的一系列数据: 08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash Size: 1084 kB Rss: 892

qq_34934140的博客 1万+

uniapp:人脸识别功能,已测试,直接复制源码,支持H5,APP安卓。不依赖任何js,SDK。

uniapp人脸识别功能,已测试可直接复制源码,支持H5,APP安卓。不依赖任何js,SDK。 APP效果图:

sunluyi的博客 2225

别再只盯着free命令了!Linux内存管理的那些‘隐藏’信息,用dmidecode和/proc一网打尽

本文深入探讨了Linux内存管理的高级技巧,揭示了`free`命令的局限性,并介绍了`dmidecode`和`/proc`文件系统在获取详细内存信息中的应用。通过分析硬件层内存特性和进程级内存使用,帮助系统管理员更全面地诊断和优化Linux服务器内存性能,解决实际工作中的内存管理难题。

weixin_30493401的博客 292

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

linux下怎么定位内存泄漏

正常情况下,软件使用的内存是随着时间在一定范围内波动的。内存泄漏说的是随着时间的推移,进程使用的内存越来越多。一般情况下,内存泄漏是程序不断地申请内存,但是没有释放导致的。

weixin_38184628的博客 4129

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

自定义函数查看OS的file cache

简介在OS中使用cache机制,主要为了提高磁盘的读取效率,避免高频的IO交换。将频繁访问的数据存放在file cache中,下一次在获取的时候就可以直接读取,缓存高命中率对于数据高速检索十分有利。smemsmem 是一个可以显示 Linux 系统中进程内存使用情况的工具,它可以显示包括进程共享的内存部分,如文件缓存。你可...

Java_fenxiang的博客 778

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

进程占用内存分析

linux 下面查看内存有多种渠道,比如通过命令 ps ,top,free,或者通过/proc系统。一般情况下,ps,top,free可以满足要求,如果需要比较详细和精确地知道整机内存或者某个进程内存的使用情况,可以通过/proc 文件系统。 使用命令 free : 显示系统可用内存以及已经使用的内存的信息 ps: 查看进程信息,静态,即当前状态 top: 查看进程信息,动态 1. ps vs top ps命令–提供系统过去信息的一次性快照,也就是说ps命令能够查看刚刚系统的进程信息。 top命令反

wll1228的博客 3816

Linux内存管理入门:虚拟内存、RSS与OOM Killer实战指南

内存管理是Linux系统稳定运行的核心机制,也是排查性能瓶颈时绕不开的底层知识。它通过虚拟地址空间、分页表与MMU协作,为每个进程构建独立的内存视图,并借助缺页中断实现物理内存的按需分配,从而在隔离性与资源利用率之间取得平衡。理解这些原理,才能真正读懂free输出中available与buff/cache的关系,也才能分清进程RSS与虚拟内存的差异,避免依据错误指标误判系统状态。当物理内存耗尽时,内核通过页回收、swap机制与OOM Killer进行自救,掌握这些处理逻辑有助于合理配置内存配额、设置保护参数

weixin_31309419的博客 238

4张图教你高效解决Linux内存泄漏

Linux内存管理介绍,内存泄漏原理分析,meminfo、status、smaps文件介绍。 内存泄漏排查,valgrind工具介绍。

weixin_28673511的博客 1088

Linux内存性能排查实战:从free到cgroup,一次讲清RAM分析

内存是计算机系统中最核心的资源之一,其分配和回收机制直接影响服务稳定性与响应速度。在Linux环境下,仅凭free命令的used/free列判断内存水位,往往会被page cache和available语义误导,必须结合vmstat中的si/so、/proc/meminfo中的Committed_AS以及PSI压力指标,才能准确刻画真实内存压力。系统化的内存性能分析能帮助工程师快速定位swap抖动、OOMKilled、容器反复重启等典型故障,尤其在生产环境与容器化部署中,cgroup限额和宿主机内存超卖更让

weixin_29698641的博客 272

Linux 内存泄漏排查全攻略:从现象到根因,一文讲透生产环境实战经验

本文系统总结了Linux下内存泄漏的排查方法。内存泄漏指程序申请内存后未释放,导致可用内存逐渐减少。可通过监控工具(如Prometheus)或命令行(free、top、vmstat)发现异常。定位问题进程后,深入分析/proc/<pid>目录下的内存信息,使用pmap、strace等工具追踪内存分配情况。对于C/C++程序,推荐使用Valgrind进行内存检测。文章提供了从基础监控到高级调试的完整排查流程,帮助运维人员有效应对内存泄漏问题。

qq_31815769的博客 416
上一篇: 由spin_lock_bh想到的一些事
下一篇: 详解:什么是VXLAN?
废言Pro
博客等级 码龄16年 1093粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值