On Thu, 20 Sep 2018, Stefan Adams wrote:

> Wow!  That's fascinating!  Thanks for sharing!  I'm surprised by how 
> much the memory footprint grows for a minimal perl program to one 
> running M::L!

Bear in mind this is one M::L program which has loaded (via the Mount 
plugin) a few dozen other M::L programs and then run for a few months 
(mostly idle).

FWIW, this is on a PPC processor (perl 5.22.0, Mojolicious 7.33).

> On Thu, Sep 20, 2018 at 2:57 PM Charlie Brady <
> charlieb-m...@budge.apana.org.au> wrote:
> 
> >
> > Hi Stefan, thanks for trying to help.
> >
> > I know the perl executable will make some contribution to the memory
> > footprint, but not much.
> >
> > I can measure that separately by running a minimum perl program and
> > looking at its resource usage. If I run 'perl -e "<>"', I see this in
> > /proc/$pid/status:
> >
> > ...
> > VmPeak:     5476 kB
> > VmSize:     5476 kB
> > VmLck:         0 kB
> > VmPin:         0 kB
> > VmHWM:      3184 kB
> > VmRSS:      3184 kB
> > VmData:      468 kB
> > VmStk:       132 kB
> > VmExe:         4 kB
> > VmLib:      4232 kB
> > VmPTE:        24 kB
> > VmPMD:         0 kB
> > VmSwap:        0 kB
> > Threads:        1
> > ...
> >
> > The same data from my M::L daemon is:
> >
> > ...
> > VmPeak:   135548 kB
> > VmSize:   133540 kB
> > VmLck:         0 kB
> > VmPin:         0 kB
> > VmHWM:     67016 kB
> > VmRSS:     65988 kB
> > VmData:    86940 kB
> > VmStk:       176 kB
> > VmExe:         4 kB
> > VmLib:     31664 kB
> > VmPTE:       132 kB
> > VmPMD:         0 kB
> > VmSwap:        0 kB
> > Threads:        6
> > ...
> >
> > CPAN has a few modules which might help gather some stats
> > (Memory::Process, Memory::Stats, Memory::Usage). '-Dm' flag to perl might
> > help too, if perl is compiled with DEBUG enabled.
> >
> > I notice that I can disable Mojolicious response cacheing; it'll be
> > interesting to see what difference that makes.
> >
> > On Wed, 19 Sep 2018, Stefan Adams wrote:
> >
> > > I shouldn't involve myself in this topic because I haven't the knowledge,
> > > but it sounds fascinating. Wouldn't the majority of the 50MB memory
> > > footprint be from the Perl interpreter itself? Wouldn't the question be,
> > > how to reduce the size of the Perl interpreter? Different compile
> > options?
> > > e.g. I remember once compiling a "minimal" perl that was 2MB. I imagine
> > > that would probably be insufficient to run Mojolicious, though I really
> > > haven't a clue, but it suggests to me that it's possible to reduce the
> > size
> > > of the perl interpreter and, therefore it seems, the size of the
> > > Mojolicious daemon?
> > >
> > > On Wed, Sep 19, 2018, 8:19 PM Charlie Brady <
> > > charlieb-m...@budge.apana.org.au> wrote:
> > >
> > > >
> > > > Some Mojolicious::Lite code I've written has been adapted by another
> > group
> > > > in my company to run on their embedded controller (limited CPU and
> > limited
> > > > memory). They are now asking for my advice on how to reduce the memory
> > > > footprint of their daemon. It's consuming about 50MB at the moment.
> > > >
> > > > Does anyone have some advice on where to start looking at where memory
> > is
> > > > being used and how to minimise it?
> > > >
> > > > Thanks
> > > >
> > >
> > >
> >
> 
> 

Reply via email to