Bug 498094

Summary: High load associated with pulseaudio
Product: [Fedora] Fedora Reporter: Dimi Paun <dimi>
Component: pulseaudioAssignee: Lennart Poettering <lpoetter>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: lkundrak, lpoetter, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-05-06 18:05:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Output 'ls' inside of pacmd none

Description Dimi Paun 2009-04-28 20:39:00 UTC
Description of problem:
After a few days of running with 3-4 apps that use PA, I experience high load from those apps. While the load is reported by top to come from those apps, I am fairly certain that it has to do with sound.

Version-Release number of selected component (if applicable):
pulseaudio-0.9.15-11.fc11.i586

How reproducible:
Sometimes

Additional info:

Here are a few snapshots from top:

26128 dimi      20   0  255m  68m   9m S 87.0  1.7 882:59.17 skype
16722 dimi      20   0  122m  20m  15m S 13.3  0.5  11:48.35 gnome-system-mo
 5838 dimi       9 -11  259m  23m  21m S  8.0  0.6  37:27.60 pulseaudio
18309 dimi      20   0  179m  13m 7472 S  6.6  0.3 367:44.10 python
 1554 dimi      20   0  615m 559m 9500 S  6.3 13.9 174:44.57 VirtualBox
13371 dimi      20   0  488m  57m  13m S  6.0  1.4  71:45.90 rhythmbox
 8171 root      20   0  338m 166m  23m S  5.3  4.2 197:05.53 Xorg
 3204 dimi      20   0  756m 212m  28m S  3.3  5.3 229:42.97 firefox
12606 dimi      20   0  186m  18m  13m S  3.0  0.5   5:54.59 pavucontrol
25181 dimi      20   0  156m  27m 6148 S  2.3  0.7   1:26.44 gnome-terminal
19756 dimi      20   0 1207m 199m 9.9m S  1.0  5.0   0:27.53 java
  960 root      15  -5     0    0    0 S  0.3  0.0   2:18.70 scsi_eh_8
20106 root      20   0  2544 1164  832 R  0.3  0.0   0:00.07 top


 6128 dimi      20   0  255m  68m   9m S 70.0  1.7 883:29.75 skype
 8171 root      20   0  338m 166m  23m S 34.5  4.2 197:16.60 Xorg
16722 dimi      20   0  122m  20m  15m R 32.8  0.5  11:58.45 gnome-system-mo
 1554 dimi      20   0  615m 559m 9500 S  8.6 13.9 174:58.97 VirtualBox
 3204 dimi      20   0  756m 212m  28m S  8.3  5.3 229:45.14 firefox
18309 dimi      20   0  179m  13m 7472 R  7.6  0.3 367:47.28 python
 5838 dimi       9 -11  259m  23m  21m R  6.3  0.6  37:30.64 pulseaudio
13371 dimi      20   0  488m  58m  13m S  5.0  1.4  71:47.78 rhythmbox
12606 dimi      20   0  186m  18m  13m S  3.0  0.5   5:55.98 pavucontrol
 8774 dimi      20   0  934m 461m  19m S  0.7 11.5  55:56.57 eclipse
 8945 dimi      20   0  133m  11m 7316 S  0.3  0.3   6:10.72 xchat
13055 dimi      20   0  158m  13m 7576 S  0.3  0.3   5:14.95 python
19756 dimi      20   0 1207m 199m 9.9m S  0.3  5.0   0:27.70 java
20106 root      20   0  2544 1164  832 R  0.3  0.0   0:00.17 top
    1 root      20   0  2020  592  536 S  0.0  0.0   0:01.03 init

The culprits here are:
  - skype, firefox (flash), rhythmbox, VirtualBox

After using sound for a bit, these apps end up taking a lot of CPU.
They typically don't exhibit this problem if sound is not involved.

Comment 1 Lennart Poettering 2009-04-30 19:49:59 UTC
uh, skype is closed source. We cannot fix closed source applications.

The other tools probably configure a low latency. Low latency results in high CPU usage. That's a law of nature.

Please reproduce this, then provide me with the output of "ls" in pacmd. This will tell us the exact latencies the applications requested.

Comment 2 Dimi Paun 2009-04-30 20:57:04 UTC
Created attachment 342000 [details]
Output 'ls' inside of pacmd

The 'ls' command never finishes -- it stops outputing stuff at a random moment (different every time I use it).

Also, pacmd should take the command as a parameter, so I can run it non-interactively and be able to easily redirect the output to a file
(it is very big and a pain to copy&paste from the terminal).

Comment 3 Lennart Poettering 2009-05-05 15:50:47 UTC
actually pacmd can do that for you: "pacmd ls" will run ls and then quit.

Comment 4 Dimi Paun 2009-05-05 16:10:22 UTC
Please update the man page, it isn't mentioned anywhere:

SYNOPSIS
       pacmd

DESCRIPTION
       This tool can be used to introspect or reconfigure a running PulseAudio
       sound server during runtime. It connects to the sound server and offers
       a  simple live shell that can be used to enter the commands also under-
       stood in the default.pa configuration scripts.

       This program takes no command line options.

Comment 5 Lennart Poettering 2009-05-05 16:29:01 UTC
Yepp, it's a pretty recent change. Always happy to take patches ;-)

Comment 6 Lennart Poettering 2009-05-06 18:05:52 UTC
Uh, you seem to be running pavucontrol, right? That by itself will drive CPU load high so that it can show you the signal level of all streams. This will cause the latency to be set very small so that the UI is very quickly updated to the actual signal that is recorded/played. Small latencies result in high CPU load. If you exit pavucontrol CPU load should go down again.

Closing then.