首页 > 系统相关 >asan/gpreftools内存调试简明用法

asan/gpreftools内存调试简明用法

时间:2024-04-18 12:33:42浏览次数:13  
标签:gpreftools app Environment builtin 内存 fno asan 环境变量

 

启用高版本gcc

source /opt/rh/devtoolset-11/enable

 

libasan编译选项

make EXTRA_CFLAGS="-O0 -g -fsanitize=address -fsanitize-recover=address -fno-omit-frame-pointer -static-libasan -DBUILD_DEBUG -UDPDK_MALLOC -DRTE_MALLOC_ASAN"

 

gpreftools编译选项

make EXTRA_CFLAGS="-O0 -g -fno-omit-frame-pointer -DBUILD_DEBUG -UDPDK_MALLOC -rdynamic -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free"

 

libasam运行时

设置环境变量,下文是systemd里的环境变量配置格式

Environment="LD_PRELOAD=/usr/lib64/libtcmalloc.so.4.1.2"
Environment="HEAPPROFILE=/var/Logs/app_heapprof.log"
Environment="HEAPCHECK=normal"
Environment="HEAP_PROFILE_ALLOCATION_INTERVAL=1024"
Environment="HEAP_PROFILE_INUSE_INTERVAL=1024"
Environment="HEAP_PROFILE_TIME_INTERVAL=10"
Environment="HEAPPROFILESIGNAL=31"

/usr/bin/my_app

 

greftools运行时

设置环境变量,下文是systemd里的环境变量配置格式

Environment="ASAN_OPTIONS=allow_addr2line=true:halt_on_error=true:help=0:log_path=/var/Logs/app_asan.log"

/usr/bin/my_app

 

标签:gpreftools,app,Environment,builtin,内存,fno,asan,环境变量
From: https://www.cnblogs.com/hugetong/p/18143279

相关文章

  • 引用循环与内存泄漏
    Rust的内存安全性保证使其难以意外地制造永远也不会被清理的内存(被称为 内存泄漏(memoryleak)),但并不是不可能。Rust并不保证完全防止内存泄漏,这意味着内存泄漏在Rust中被认为是内存安全的。这一点可以通过 Rc<T> 和 RefCell<T> 看出:创建引用循环的可能性是存在的。这会造......
  • 关于内存泄漏和代码优化
    最近在用selenium对网页上的数据进行爬取时发现,通过pyinstaller打包成的.exe文件运行时速度越来越慢,通过查找任务管理器里的句柄数,发现可能存在内存泄漏的原因,记录一下关于内存泄漏的处理方法和代码优化1.内存泄漏如果您怀疑代码可能存在内存泄漏,可以尝试跟踪内存分配:这里我用......
  • C++动态内存分配/malloc/new
    0前言这部分确实是面试老八股了,不过我还是记录一下1内存分区在C语言中,将内存分为程序代码区+数据区,其中数据区又分为静态存储区和动态存储区在C++中,分为五种:动态存储区:栈区:存放局部变量,由编译器自动分配释放,程序员不能操作堆:由程序员使用malloc/new申请,用free/delete......
  • hive on spark内存模型
    内容介绍hiveonspark的调优,那必然涉及到这一系列框架的内存模型。本章就是来讲一下这些框架的内存模型。hiveonspark的任务,从开始到结束。总共涉及了3个框架。分别是:yarn、hive、spark其中,hive只是一个客户端的角色。就不涉及任务运行时的内存。所以这里主要讲的yarn和spa......
  • influxdb内存占用剖析
    目标本文将讲述influxdb内存中都存了哪些数据?什么情况下会导致内存占用暴增?以及内存相关的配置。我的influxdb配置我的influxdb配置如下:/etc/influxdb/config.tomlbolt-path="/var/lib/influxdb/influxd.bolt"engine-path="/var/lib/influxdb/engine"storage-cache-m......
  • C++_内存模型和函数以及类
    C++内存模型函数函数与编译器类成员变量class内部通过 static修饰变量时,表示该变量为静态成员变量,必须在类外定义 staticconst修饰变量时,表示该变量为静态成员常量,可以在类内初始化,或者在类外初始化 staticconstexpr修饰变量时,表示该......
  • C++对象封装后的内存布局
    在C语言中,数据和数据的处理操作(函数)是分开声明的,在语言层面并没有支持数据和函数的内在关联性,我们称之为过程式编程范式或者程序性编程范式。C++兼容了C语言,当然也支持这种编程范式。但C++更主要的特点在支持基于对象(object-based,OB)和面向对象(object-oriented,OO),OB和OO的基础是......
  • mongo内存管理之cache占用过高,影响正常业务
    云数据库DDS实例shard连接数异常激增影响业务的事件,问题分析如下保障现象:在当天22日21:50-22:21时间段内,连接数异常激增,同时伴随有大量慢日志,实例整体响应速度下降。3月23日19:35贵司报障该实例再次出现shard连接数激增的现象。排查处理:经过排查发现3月22日21:50-......
  • Go实践:用Sync.Map实现简易内存缓存系统
    介绍定义了一个Cache结构体,其中使用sync.Map作为底层数据结构来存储缓存项。Set方法用于设置缓存项,指定键、值以及过期时间。Get方法用于获取缓存项,如果缓存项存在且未过期,则返回值和true,否则返回nil和false。方法的接受者为指针类型,是为了对Cache对象进行操作,并在方法内部访问和......
  • [转帖]内存分析之GCViewer详细解读
    文章目录GCViewer详细解读一,Chart详解二,Eventdetail三,Summary四,Pause五,相关概念5.1GC5.1.1FullGC5.1.2MinorGC5.2垃圾收集器5.2.1串行收集器(Serial)5.2.2**ParNew收集器**5.2.3**ParallelScavenge**收集器**5.2.4CMS收集器(ConcurrentMarkSweep)****5.2.5G1......