From c1c89a03619020858482a68bbe065696b50d670d Mon Sep 17 00:00:00 2001 From: guido Date: Fri, 1 Jun 2001 08:02:48 +0000 Subject: [PATCH] optional memory usage output git-svn-id: https://svn.dealii.org/trunk@4739 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/base/source/log.cc | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/deal.II/base/source/log.cc b/deal.II/base/source/log.cc index 57304c984b..a794bdc151 100644 --- a/deal.II/base/source/log.cc +++ b/deal.II/base/source/log.cc @@ -136,6 +136,22 @@ LogStream::print_line_head() } } +/* + * The following lines were used for debugging a memory leak. + * They work on Linux, not on Solaris, since the /proc filesystem + * on Solaris is quite cryptic. + * + * Unfortunately, the information in /proc/pid/stat is updated slowly, + * therefore, the information is quite unreliable. + * + * Furthermore, the cunstructor of ifstream caused another memory leak. + * + * Still, this code might be usefull sometimes, so I kept it here. + * When we have more information about the kernel, this should be + * incorporated properly. Suggestions are welcome! + */ + +#ifdef DEALII_MEMORY_DEBUG static const pid_t id = getpid(); std::ostrstream statname; statname << "/proc/" << id << "/stat" << std::ends; @@ -147,6 +163,7 @@ LogStream::print_line_head() dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> dummy >> size; +#endif const std::string& head = get_prefix(); @@ -156,9 +173,9 @@ LogStream::print_line_head() { int p = std_out->width(5); *std_out << utime << ':'; - std_out->width(16); +#ifdef DEALII_MEMORY_DEBUG *std_out << size << ':'; - +#endif std_out->width(p); } *std_out << head << ':'; @@ -170,8 +187,9 @@ LogStream::print_line_head() { int p = file->width(6); *file << utime << ':'; - file->width(16); +#ifdef DEALII_MEMORY_DEBUG *file << size << ':'; +#endif file->width(p); } *file << head << ':'; -- 2.39.5