monit-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: total memory of children processes


From: Christian Hopp
Subject: Re: total memory of children processes
Date: Fri, 12 Sep 2003 16:58:01 +0200 (CEST)

On Fri, 12 Sep 2003, Jan-Henrik Haukeland wrote:

> Christian Hopp <address@hidden> writes:
>
> > I have tried the 4.0beta4 on the main server... looks pretty fine...
> > before I have 28 services... now with the new checksum syntax it went up
> > to 61.   It takes monit some seconds to do all the work.  The rc-file is
> > nearly double in size ( w/o empty lines and comments).
>
> wow! and if it takes a few seconds to do the work, maybe it's time
> soon to look into optimizing the code.

But there are many network checks e.g. on a busy samba. Nothing to
worry about! They are now up to 78 services (added some Device
checks).

There are still some makeup things... I use a large font in my
browser.  When it comes to the columns with space, CR are inserted.
That looks creepy.  Though, the table is everything else but too wide.

Using a LCD I can hardly distinguish the white from the gray in the
Process, Device, ... Lists.  We might want to make it a tone darker.

(...)

> > But for Linux I donT really know what I can do.  There is something
> > really wrong... "no, both twisted and wrong". )-:
>
> Arghh :) Did you try the algorithm suggested by Arkadiusz? i.e.:
>
>  sum= parent.rss;
>  for child in parent.children do
>     sum += child.rss - shared mem
>  done

I did...

sum= parent.drs + parent.trs - parent.share;
for child in parent.children do
    sum += child.drs + child.trs - child.share
done

... with foo.drs+foo.trs=foo.rss... but wanted to see whats happening!
This is less then Arkadiusz algorithm and less then before but still
far too much...

Right now I got 260MB out of my 256+500MB mem in my LAP with that
code.  But when I check with free just 150MB is in use!

> If it is hard to get this right before next week, I suggest one of the
> following:
>
> 1) Remove totmem as a statement until it's fixed

The cleanest way but too bad for the fortunate using Solaris. (-:

> 2) Keep it as it is, but write a notice about the bug on Linux
>    in the STATUS file. (...)

And write a warning if the statement is used on Linux!

> 3) Wait with the 4.0 release until it's fixed

Wait until somebody tidies up the Linux Kernel code on this... I think
Rasterman was once mentioning something about this problem, after too
many people were complaining about E's memory consumption!

> I think 2) would be my chooice. How about you?

As I am one of the fortunate Solaris users I would also prefer
2)... but when it comes to clean code I would do the hard way, meaning 1).

> > Something I donT like it that the services are not in the same order
> > as in the config file.  They are actually quite twisted... and for
> > 61 services (for now!) I need some order in it. (-:
>
> If you use depend between services, they will be sorted in a depending
> order, see p.y:check_depend(), I don't think it's anyway around this
> sorting. If you do not use depend, the servicelist should contain the
> service as they was written in monitrc but in reverse order(?).

Nope... it depends on your depends. (-: I have written a code
preserving the order for status, by adding a next_conf and a
statuslist_conf.  This requires just <services>*<pointersize> memory.
And it works.

CHopp

-- 
Christian Hopp                                email: address@hidden
Institut für Elektrische Informationstechnik             fon: +49-5323-72-2113
TU Clausthal, Leibnizstr. 28, 38678 Clausthal-Zellerf.   fax: +49-5323-72-3197
                             pgpkey: https://www.iei.tu-clausthal.de/pgp-keys/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]