This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Large memory usage by gdb


[Add gdb@ back]

On Wed, Jul 26, 2017 at 2:50 PM, Alex Lindsay <alexlindsay239@gmail.com> wrote:
> Thanks for your suggestion Philippe. I hope to try that this weekend.
>
> Yao,

Hi Alex, thanks for your information.  I'll write a small
program which needs many small libraries, and see
if I can find some leaks.

>>
>> What is your executable?
>
> My project is here: github.com/arfc/moltres
>>
>>   Can you give us some characteristics of your
>> executable to help us to reproduce this problem?  Is it multi-threaded
>> program?
>
> It can be parallelized with threads or MPI, but when running with gdb I run
> single thread, single process.
>>
>>    Is it a C or C++ program?
>
> C++
>>
>> Does it load many shared library?
>
> Yes it does load *a lot* of shared libraries, so I do expect a fairly large
> memory footprint, but I don't expect it to grow by large chunks with time.
> In case it's of use here's the output from `ldd moltres-dbg`:
>
>     linux-vdso.so.1 =>  (0x00007ffdaf953000)
>     libmoltres-dbg.so.0 =>
> /home/lindsayad/projects/moltres/lib/libmoltres-dbg.so.0
> (0x00007f4fa02de000)
>     libsquirrel-dbg.so.0 =>
> /home/lindsayad/projects/moltres/squirrel/lib/libsquirrel-dbg.so.0
> (0x00007f4f9ff4a000)
>     libmodule_loader_with_fp_rdg_ns_tm_pf-dbg.so.0 =>
> /home/lindsayad/projects/moose/modules/module_loader/lib/libmodule_loader_with_fp_rdg_ns_tm_pf-dbg.so.0
> (0x00007f4f9fd0b000)
>     libphase_field-dbg.so.0 =>
> /home/lindsayad/projects/moose/modules/phase_field/lib/libphase_field-dbg.so.0
> (0x00007f4f9f124000)
>     libtensor_mechanics-dbg.so.0 =>
> /home/lindsayad/projects/moose/modules/tensor_mechanics/lib/libtensor_mechanics-dbg.so.0
> (0x00007f4f9e733000)
>     libnavier_stokes-dbg.so.0 =>
> /home/lindsayad/projects/moose/modules/navier_stokes/lib/libnavier_stokes-dbg.so.0
> (0x00007f4f9e0d4000)
>     librdg-dbg.so.0 =>
> /home/lindsayad/projects/moose/modules/rdg/lib/librdg-dbg.so.0
> (0x00007f4f9dd9e000)
>     libfluid_properties-dbg.so.0 =>
> /home/lindsayad/projects/moose/modules/fluid_properties/lib/libfluid_properties-dbg.so.0
> (0x00007f4f9da48000)
>     libmoose-dbg.so.0 =>
> /home/lindsayad/projects/moose/framework/libmoose-dbg.so.0
> (0x00007f4f9b79c000)
>     libpcre-dbg.so.0 =>
> /home/lindsayad/projects/moose/framework/contrib/pcre/libpcre-dbg.so.0
> (0x00007f4f9b567000)
>     libgcc_s.so.1 => /opt/moose/gcc-6.2.0/lib64/libgcc_s.so.1
> (0x00007f4f9b351000)
>     libmesh_dbg.so.0 =>
> /home/lindsayad/projects/moose/scripts/../libmesh/installed/lib/libmesh_dbg.so.0
> (0x00007f4f98f16000)
>     libnetcdf.so.11 => /usr/lib/x86_64-linux-gnu/libnetcdf.so.11
> (0x00007f4f95bb0000)
>     libvtkIOCore-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkIOCore-7.1.so.1
> (0x00007f4f958e4000)
>     libvtkCommonCore-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkCommonCore-7.1.so.1
> (0x00007f4f95052000)
>     libvtkCommonDataModel-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkCommonDataModel-7.1.so.1
> (0x00007f4f948a0000)
>     libvtkFiltersCore-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkFiltersCore-7.1.so.1
> (0x00007f4f9404b000)
>     libvtkIOXML-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkIOXML-7.1.so.1 (0x00007f4f93ce4000)
>     libvtkImagingCore-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkImagingCore-7.1.so.1
> (0x00007f4f9389a000)
>     libvtkIOImage-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkIOImage-7.1.so.1
> (0x00007f4f93452000)
>     libvtkImagingMath-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkImagingMath-7.1.so.1
> (0x00007f4f931fd000)
>     libvtkIOParallelXML-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkIOParallelXML-7.1.so.1
> (0x00007f4f92fb6000)
>     libvtkParallelMPI-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkParallelMPI-7.1.so.1
> (0x00007f4f92d98000)
>     libvtkParallelCore-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkParallelCore-7.1.so.1
> (0x00007f4f92aee000)
>     libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f4f928d2000)
>     libtbb.so.2 =>
> /home/lindsayad/embree-2.15.0.x86_64.linux/lib/libtbb.so.2
> (0x00007f4f92679000)
>     libtbbmalloc.so.2 =>
> /home/lindsayad/embree-2.15.0.x86_64.linux/lib/libtbbmalloc.so.2
> (0x00007f4f92425000)
>     libslepc.so.3.7 =>
> /opt/moose/slepc/slepc-3.7.3-mpich-clang/lib/libslepc.so.3.7
> (0x00007f4f91ff4000)
>     libpetsc.so.3.7 =>
> /opt/moose/petsc/mpich_petsc-3.7.5/clang-opt-superlu/lib/libpetsc.so.3.7
> (0x00007f4f90c66000)
>     libsuperlu_dist.so.5 =>
> /opt/moose/petsc/mpich_petsc-3.7.5/clang-opt-superlu/lib/libsuperlu_dist.so.5
> (0x00007f4f909b8000)
>     libparmetis.so =>
> /opt/moose/petsc/mpich_petsc-3.7.5/clang-opt-superlu/lib/libparmetis.so
> (0x00007f4f9076d000)
>     libmetis.so =>
> /opt/moose/petsc/mpich_petsc-3.7.5/clang-opt-superlu/lib/libmetis.so
> (0x00007f4f904ec000)
>     libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6
> (0x00007f4f901b3000)
>     libhwloc.so.5 => /usr/lib/x86_64-linux-gnu/libhwloc.so.5
> (0x00007f4f8ff78000)
>     libmpifort.so.12 =>
> /opt/moose/mpich/mpich-3.2/clang-opt/lib/libmpifort.so.12
> (0x00007f4f8fd3c000)
>     libgfortran.so.3 => /opt/moose/gcc-6.2.0/lib64/libgfortran.so.3
> (0x00007f4f8fa16000)
>     libgomp.so.1 => /opt/moose/gcc-6.2.0/lib64/libgomp.so.1
> (0x00007f4f8f7e9000)
>     libquadmath.so.0 => /opt/moose/gcc-6.2.0/lib64/libquadmath.so.0
> (0x00007f4f8f5a8000)
>     libmpicxx.so.12 =>
> /opt/moose/mpich/mpich-3.2/clang-opt/lib/libmpicxx.so.12
> (0x00007f4f8f37e000)
>     libmpi.so.12 => /opt/moose/mpich/mpich-3.2/clang-opt/lib/libmpi.so.12
> (0x00007f4f8ee09000)
>     librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f4f8ec01000)
>     libomp.so => /opt/moose/llvm-3.9.0/lib/libomp.so (0x00007f4f8e944000)
>     libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> (0x00007f4f8e726000)
>     libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4f8e520000)
>     libstdc++.so.6 => /opt/moose/gcc-6.2.0/lib64/libstdc++.so.6
> (0x00007f4f8e1a0000)
>     libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4f8de97000)
>     libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4f8dad0000)
>     libhdf5_serial_hl.so.100 =>
> /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100 (0x00007f4f8d882000)
>     libhdf5_serial.so.100 => /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.100
> (0x00007f4f8d32b000)
>     libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
> (0x00007f4f8d0b9000)
>     libvtkCommonExecutionModel-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkCommonExecutionModel-7.1.so.1
> (0x00007f4f8cd89000)
>     libvtkCommonMisc-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkCommonMisc-7.1.so.1
> (0x00007f4f8cb41000)
>     libvtkzlib-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkzlib-7.1.so.1 (0x00007f4f8c922000)
>     libvtkCommonTransforms-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkCommonTransforms-7.1.so.1
> (0x00007f4f8c6e4000)
>     libvtkCommonMath-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkCommonMath-7.1.so.1
> (0x00007f4f8c4b7000)
>     libvtksys-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtksys-7.1.so.1 (0x00007f4f8c227000)
>     libvtkCommonSystem-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkCommonSystem-7.1.so.1
> (0x00007f4f8c009000)
>     libvtkIOXMLParser-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkIOXMLParser-7.1.so.1
> (0x00007f4f8bde0000)
>     libvtkDICOMParser-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkDICOMParser-7.1.so.1
> (0x00007f4f8bb8a000)
>     libvtkmetaio-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkmetaio-7.1.so.1
> (0x00007f4f8b86a000)
>     libvtkpng-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkpng-7.1.so.1 (0x00007f4f8b633000)
>     libvtktiff-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtktiff-7.1.so.1 (0x00007f4f8b3a3000)
>     libvtkjpeg-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkjpeg-7.1.so.1 (0x00007f4f8b173000)
>     libvtkIOLegacy-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkIOLegacy-7.1.so.1
> (0x00007f4f8ae6e000)
>     libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1
> (0x00007f4f8ac4c000)
>     libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1
> (0x00007f4f8aa41000)
>     libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7
> (0x00007f4f8a837000)
>     /lib64/ld-linux-x86-64.so.2 (0x000056155f77e000)
>     libsz.so.2 => /usr/lib/x86_64-linux-gnu/libsz.so.2 (0x00007f4f8a632000)
>     libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0
> (0x00007f4f8a410000)
>     librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1
> (0x00007f4f8a1f4000)
>     libpsl.so.5 => /usr/lib/x86_64-linux-gnu/libpsl.so.5
> (0x00007f4f89fe6000)
>     libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6
> (0x00007f4f89db0000)
>     libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30
> (0x00007f4f89a50000)
>     libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
> (0x00007f4f89804000)
>     liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2
> (0x00007f4f895f6000)
>     libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2
> (0x00007f4f893a4000)
>     libvtkexpat-7.1.so.1 =>
> /opt/moose/VTK-7.1.0/clang-opt/lib/libvtkexpat-7.1.so.1 (0x00007f4f8916f000)
>     libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6
> (0x00007f4f88f69000)
>     libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
> (0x00007f4f88d63000)
>     libaec.so.0 => /usr/lib/x86_64-linux-gnu/libaec.so.0
> (0x00007f4f88b5b000)
>     libunistring.so.0 => /usr/lib/x86_64-linux-gnu/libunistring.so.0
> (0x00007f4f88845000)
>     libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4
> (0x00007f4f88612000)
>     libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10
> (0x00007f4f88392000)
>     libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0
> (0x00007f4f8812b000)
>     libidn.so.11 => /lib/x86_64-linux-gnu/libidn.so.11 (0x00007f4f87ef8000)
>     libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6
> (0x00007f4f87ce5000)
>     libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3
> (0x00007f4f87a10000)
>     libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3
> (0x00007f4f877de000)
>     libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2
> (0x00007f4f875da000)
>     libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0
> (0x00007f4f873cd000)
>     libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2
> (0x00007f4f871b2000)
>     libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2
> (0x00007f4f86f97000)
>     libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3
> (0x00007f4f86d55000)
>     libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6
> (0x00007f4f86b4d000)
>     libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1
> (0x00007f4f86947000)
>     libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0
> (0x00007f4f8673e000)
>     libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26
> (0x00007f4f864b1000)
>     libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8
> (0x00007f4f8620e000)
>     libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4
> (0x00007f4f85fd7000)
>     libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18
> (0x00007f4f85dc1000)
>     libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0
> (0x00007f4f85b96000)
>     libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1
> (0x00007f4f85987000)
>     libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5
> (0x00007f4f8573c000)
>     libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0
> (0x00007f4f85435000)
>     libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1
> (0x00007f4f851fd000)

-- 
Yao (齐尧)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]