草庐IT

memory-leak-detector

全部标签

linux - 内存使用 : Program allocates too much memory

我已经用C++为Ubuntu服务器(64位)编写了一个程序,它应该24/7运行。服务器有2GBRAM,但显然我的程序分配了太多内存。这是大约2小时后top的输出top-13:35:57up1:39,1user,loadaverage:0.15,0.13,0.08Tasks:68total,2running,66sleeping,0stopped,0zombie%Cpu(s):1.9us,5.7sy,0.0ni,92.3id,0.1wa,0.0hi,0.0si,0.0stKiBMem:2050048total,540852used,1509196free,34872buffersKiBS

c++ - 使用 valgrind 查找 mysql c++ 客户端中的内存泄漏

我正在使用valgrind来尝试追踪内存泄漏是从mysql分发的mysqlc++客户端。在示例(resultset.cpp)和我自己的程序中,都有一个未释放的56字节block。在我自己的程序中,我已将泄漏追踪到对mysql客户端的调用。下面是我运行测试的结果:valgrind--leak-check=full--show-reachable=yes./my-executable==29858==Memcheck,amemoryerrordetector==29858==Copyright(C)2002-2009,andGNUGPL'd,byJulianSewardetal.==298

c++ - 使用 valgrind 查找 mysql c++ 客户端中的内存泄漏

我正在使用valgrind来尝试追踪内存泄漏是从mysql分发的mysqlc++客户端。在示例(resultset.cpp)和我自己的程序中,都有一个未释放的56字节block。在我自己的程序中,我已将泄漏追踪到对mysql客户端的调用。下面是我运行测试的结果:valgrind--leak-check=full--show-reachable=yes./my-executable==29858==Memcheck,amemoryerrordetector==29858==Copyright(C)2002-2009,andGNUGPL'd,byJulianSewardetal.==298

c - 检测退出时释放的 C 内存 'leaks'

假设我有一个C程序(在Linux下运行),它处理许多数据结构,有些很复杂,其中一些可以增长和收缩,但通常不应随时间增长。观察到该程序的RSS随着时间的推移逐渐增加(超过内存碎片可以解释的程度)。我想找到泄漏的东西。在valgrind下运行是这里明显的建议,但是valgrind(使用--leak-check=full和--show-reachables=yes)显示没有泄漏。我相信这是因为数据结构本身在退出时被正确地释放了,但其中一个在程序的生命周期中正在增长。例如,可能有一个随时间线性增长的链表,有人忘记删除列表中的资源,但退出清理在退出时正确地释放了列表中的所有项目。当然,如果它们被

c - 检测退出时释放的 C 内存 'leaks'

假设我有一个C程序(在Linux下运行),它处理许多数据结构,有些很复杂,其中一些可以增长和收缩,但通常不应随时间增长。观察到该程序的RSS随着时间的推移逐渐增加(超过内存碎片可以解释的程度)。我想找到泄漏的东西。在valgrind下运行是这里明显的建议,但是valgrind(使用--leak-check=full和--show-reachables=yes)显示没有泄漏。我相信这是因为数据结构本身在退出时被正确地释放了,但其中一个在程序的生命周期中正在增长。例如,可能有一个随时间线性增长的链表,有人忘记删除列表中的资源,但退出清理在退出时正确地释放了列表中的所有项目。当然,如果它们被

linux - 如何将 "memory priority"分配给 linux 进程?

我在小型OpenWRT路由器上运行tor,由于可用ram数量有限(32mb),无法避免交换。大多数时候路由器不会做任何其他事情,但是有时会访问也在路由器上运行的postgresql数据库。由于tor不断运行,postgresql被完全换出,前几次访问有非常高的延迟,这很糟糕,因为它是一个交互使用的系统。我已经为postgres分配了一个很好的值-15,为tor分配了+15,但这似乎对内存管理没有太大影响。全局设置swappiness=1也不会改变事情,因为交换是不可避免的,而且因为postgresql大部分时间都没有运行,所以它无论如何都会被换出。有什么方法可以让Linux进程具有内存

linux - 如何将 "memory priority"分配给 linux 进程?

我在小型OpenWRT路由器上运行tor,由于可用ram数量有限(32mb),无法避免交换。大多数时候路由器不会做任何其他事情,但是有时会访问也在路由器上运行的postgresql数据库。由于tor不断运行,postgresql被完全换出,前几次访问有非常高的延迟,这很糟糕,因为它是一个交互使用的系统。我已经为postgres分配了一个很好的值-15,为tor分配了+15,但这似乎对内存管理没有太大影响。全局设置swappiness=1也不会改变事情,因为交换是不可避免的,而且因为postgresql大部分时间都没有运行,所以它无论如何都会被换出。有什么方法可以让Linux进程具有内存

linux - Spark配置,SPARK_DRIVER_MEMORY、SPARK_EXECUTOR_MEMORY、SPARK_WORKER_MEMORY有什么区别?

我完成了工作,阅读了https://spark.apache.org/docs/latest/configuration.html上的文档inspark-folder/conf/spark-env.sh:SPARK_DRIVER_MEMORY,Master内存(例如1000M、2G)(默认:512Mb)SPARK_EXECUTOR_MEMORY,每个Worker的内存(例如1000M、2G)(默认值:1G)SPARK_WORKER_MEMORY,设置worker必须给执行者的总内存量(例如1000m、2g)以上3个参数是什么关系?据我了解,DRIVER_MEMORY是主节点/进程可以请

linux - Spark配置,SPARK_DRIVER_MEMORY、SPARK_EXECUTOR_MEMORY、SPARK_WORKER_MEMORY有什么区别?

我完成了工作,阅读了https://spark.apache.org/docs/latest/configuration.html上的文档inspark-folder/conf/spark-env.sh:SPARK_DRIVER_MEMORY,Master内存(例如1000M、2G)(默认:512Mb)SPARK_EXECUTOR_MEMORY,每个Worker的内存(例如1000M、2G)(默认值:1G)SPARK_WORKER_MEMORY,设置worker必须给执行者的总内存量(例如1000m、2g)以上3个参数是什么关系?据我了解,DRIVER_MEMORY是主节点/进程可以请

c++ - gcc/linux : CppuTest shows memory leak using static vectors, 误报?

在xxxx.h文件中:structdn_instance_pair{std::stringtheDn;inttheInstance;};typedefstructdn_instance_pairt_dn_inst_pair;structtable_rowid_type{chartheTable[101];sqlite3_int64theRowid;intoperation;};//staticclassmembersstaticvectordninstList;staticvectortablerowidList;在xxxx.cpp中//declarationofvectors.//I