[pulseaudio-discuss] pulseaudio - high memory usage
Arun Raghavan
arun.raghavan at collabora.co.uk
Wed Jan 29 18:46:11 PST 2014
On Wed, 2014-01-29 at 21:23 +0200, Tanu Kaskinen wrote:
> On Wed, 2014-01-29 at 09:28 +0530, Arun Raghavan wrote:
> > On Wed, 2014-01-29 at 00:34 +0100, Thomas Meyer wrote:
> > > Hi,
> > >
> > > should pulseaudio actually use that much memory?
> > >
> > > $ cat status
> > > Name: pulseaudio
> > > State: S (sleeping)
> > > Tgid: 1972
> > > Ngid: 0
> > > Pid: 1972
> > > PPid: 1
> > > TracerPid: 0
> > > Uid: 1000 1000 1000 1000
> > > Gid: 500 500 500 500
> > > FDSize: 64
> > > Groups: 4 6 10 11 36 63 464 468 469 500
> > > VmPeak: 2326912 kB
> > > VmSize: 2326912 kB
> > > VmLck: 0 kB
> > > VmPin: 0 kB
> > > VmHWM: 1843468 kB
> > > VmRSS: 1843468 kB
> > > VmData: 1987020 kB
> > > VmStk: 136 kB
> > > VmExe: 80 kB
> > > VmLib: 15592 kB
> > > VmPTE: 4164 kB
> > > VmSwap: 524 kB
> > > Threads: 3
> > > SigQ: 0/62970
> > > SigPnd: 0000000000000000
> > > ShdPnd: 0000000000000000
> > > SigBlk: 0000000000000000
> > > SigIgn: 0000000000381000
> > > SigCgt: 0000000180004a43
> > > CapInh: 0000000000000000
> > > CapPrm: 0000000000000000
> > > CapEff: 0000000000000000
> > > CapBnd: 0000001fffffffff
> > > Seccomp: 0
> > > Cpus_allowed: 1
> > > Cpus_allowed_list: 0
> > > Mems_allowed: 1
> > > Mems_allowed_list: 0
> > > voluntary_ctxt_switches: 12348713
> > > nonvoluntary_ctxt_switches: 4858656
> >
> > Have you tried interpreting what those numbers actually mean? This might
> > help: http://elinux.org/Runtime_Memory_Measurement
> >
> > Note that our SHM usage can cause virtual memory size look large, and
> > this is a red herring.
>
> I don't know if I read the output correctly, it looks like PulseAudio
> consumes nearly 2 gigs of memory? Can SHM alone cause that?
Jeez, that is totally my bad for missing that.
> Thomas, you could try running pulseaudio in valgrind. The command to do
> that:
>
> valgrind --leak-check=full pulseaudio --realtime=no
>
> To get a leak report, quit pulseaudio with "pactl exit".
>
> --realtime=no is there because otherwise, at least on my machine,
> pulseaudio gets easily killed due to excessive cpu use in realtime mode.
> (That sounds like a bug, btw - shouldn't rtkit just demote the
> scheduling mode back to normal, not outright kill pulseaudio?)
>
> Getting useful reports probably requires installing debug symbols for
> pulseaudio first.
>
> I tried valgrind today myself (which I do way too seldomly), and I found
> one memory leak in module-card-restore, which gets triggered when
> changing card profiles. I pushed a fix for that to master. There's still
> one memory leak in alsa-lib, which I expect to be triggered once per
> loaded instance of module-alsa-card, so it's not very serious. I didn't
> bother tracking down the bug in alsa-lib.
If you have the it handy, can you dump the trace somewhere on bugzilla
so we don't lose track?
-- Arun
More information about the pulseaudio-discuss
mailing list