You are not logged in.

#1 2012-09-12 06:57:52

diederick76
Member
From: Amsterdam
Registered: 2010-02-14
Posts: 64
Website

[SOLVED] systemd, systemd-journal constantly at high CPU %age

Hi all,

I've switched a computer to systemd, and everything works nicely. The system is responsive and booting is even faster than before. Yay!

However, both my CPU cores are constantly between 80% and 90%. When I do top in a terminal, I see systemd constantly in the 90%-100% range and systemd-journal in the 60%-100% range, also continuously. My CPU temperature is a lot higher than normal as well (currently at 61.0C)

Is this normal?

Last edited by diederick76 (2012-09-13 06:03:11)

Offline

#2 2012-09-12 07:34:41

brain0
Developer
From: Aachen - Germany
Registered: 2005-01-03
Posts: 1,382

Re: [SOLVED] systemd, systemd-journal constantly at high CPU %age

Your definition of "everything works nicely" is weird. No, this is not normal.

Offline

#3 2012-09-12 07:42:20

diederick76
Member
From: Amsterdam
Registered: 2010-02-14
Posts: 64
Website

Re: [SOLVED] systemd, systemd-journal constantly at high CPU %age

brain0, thanks for your response!

I know that "everything works nicely" is vague at best, but I was just trying to convey that I don't see any problems except for the high CPU and the resulting high temperature. I would give you more information, but I don't know which.

So, if we conclude that this is not normal, could you tell me how to investigate what goes wrong?

Offline

#4 2012-09-12 07:55:46

Spider.007
Member
Registered: 2004-06-20
Posts: 1,143
Website

Re: [SOLVED] systemd, systemd-journal constantly at high CPU %age

Have you tried `strace`ing both processes? It has helped me in a lot of these cases smile

Offline

#5 2012-09-12 08:18:35

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 6,834

Re: [SOLVED] systemd, systemd-journal constantly at high CPU %age

Before even doing that, did you check what's being printed to the journal?


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

#6 2012-09-12 08:33:16

diederick76
Member
From: Amsterdam
Registered: 2010-02-14
Posts: 64
Website

Re: [SOLVED] systemd, systemd-journal constantly at high CPU %age

Thanks ngoonee for your reply! Stupid of me not to check that.

$ sudo journalctl

output:

Logs begin at Wed, 12 Sep 2012 10:06:40 +0200, end at Wed, 12 Sep 2012 10:07:35 +0200.
Sep 12 10:06:40 zaphod systemd[1]: cups.service start request repeated too quickly, refusing to start.
Sep 12 10:06:40 zaphod systemd[1]: cups.service start request repeated too quickly, refusing to start.
Sep 12 10:06:40 zaphod systemd[1]: cups.service start request repeated too quickly, refusing to start.
...

and about 20 more of those. I;ve disabled cups.service. After rebooting systemd en systemd-journal are back to normal. :-)

I saw that there is indeed a problem with my cups config. I suppose systemd kept restarting cupsd immediately after starting it failed. And kept doing so. I wonder why it would do that?

Offline

#7 2012-09-13 03:51:57

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 6,834

Re: [SOLVED] systemd, systemd-journal constantly at high CPU %age

Mark as solved please. As to why it would keep restarting, no idea, you could try going systemd-only (maybe its to do with the initscripts compatibility code, though that's unlikely) or checking the logs at the point when cups is first started. Perhaps the socket keeps getting requests (not sure if you use cups.socket).


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

#8 2012-09-22 18:43:56

Convergence
Member
Registered: 2005-07-02
Posts: 370

Re: [SOLVED] systemd, systemd-journal constantly at high CPU %age

I'm having a similar problem.  I temporarily fixed it by replacing the cupsd.conf with the cupsd.con.default.  Everything ran great, got the printer configured again, journald stopped thrashing my precious SSD by producing millions of these warnings (I didn't wc them, but I was probably getting thousands every second) and all was well.  Until I "shared" the printer again.  Immediately cupsd got locked into restarting thousands of times every second, once again thrashing my cpu and SSD.

Edit:

I guess I should probably share my cupsd.conf.  I didn't manually edit it, I used the web interface:

cat /etc/cups/cupsd.conf
LogLevel warn
SystemGroup sys root
# Allow remote access
Port 631
Listen /var/run/cups/cups.sock
# Share local printers on the local network.
Browsing On
BrowseLocalProtocols dnssd
DefaultAuthType Basic
WebInterface Yes
<Location />
  # Allow shared printing...
  Order allow,deny
  Allow all
</Location>
<Location /admin>
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
</Location>
<Policy default>
  JobPrivateAccess default
  JobPrivateValues default
  SubscriptionPrivateAccess default
  SubscriptionPrivateValues default
  <Limit Create-Job Print-Job Print-URI Validate-Job>
    Order deny,allow
  </Limit>
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>                                               
    AuthType Default                                                                                                                                                          
    Require user @SYSTEM                                                                                                                                                      
    Order deny,allow                                                                                                                                                          
  </Limit>                                                                                                                                                                    
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>                                                 
    AuthType Default                                                                                                                                                          
    Require user @SYSTEM                                                                                                                                                      
    Order deny,allow                                                                                                                                                          
  </Limit>                                                                                                                                                                    
  <Limit Cancel-Job CUPS-Authenticate-Job>                                                                                                                                    
    Require user @OWNER @SYSTEM                                                                                                                                               
    Order deny,allow                                                                                                                                                          
  </Limit>                                                                                                                                                                    
  <Limit All>                                                                                                                                                                 
    Order deny,allow                                                                                                                                                          
  </Limit>                                                                                                                                                                    
</Policy>                                                                                                                                                                     
<Policy authenticated>                                                                                                                                                        
  JobPrivateAccess default                                                                                                                                                    
  JobPrivateValues default                                                                                                                                                    
  SubscriptionPrivateAccess default                                                                                                                                           
  SubscriptionPrivateValues default                                                                                                                                           
  <Limit Create-Job Print-Job Print-URI Validate-Job>                                                                                                                         
    AuthType Default                                                                                                                                                          
    Order deny,allow                                                                                                                                                          
  </Limit>                                                                                                                                                                    
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
    AuthType Default
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>
  <Limit Cancel-Job CUPS-Authenticate-Job>
    AuthType Default
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>
  <Limit All>
    Order deny,allow
  </Limit>
</Policy>

Edit02:
I should mention that I tried the fix described here:  https://bbs.archlinux.org/viewtopic.php?id=146154


Deiderick:  Have you "shared" your printer?  I suspect that this may be what is causing the problem.

To Mods:  At this point, because the OP's problem has been resolved, and this thread is marked "solved" should I make a new thread?  It is possible that my problem is not identical to the OP's.

As a side note, I ran "journalctl | wc -l"  it took about a minute of maxing out one core to finish.  The final number:  1232889.   I have a feeling that this reflects only a fraction of the warnings that cups produced, seeing as I only allocated limited hd space for journal messages.

Edit03:  After re-reading the etiquette thread, I've decided to start a new thread.  This one is marked "solved" and although very similar, it may not be exactly the same problem that I am having.

Last edited by Convergence (2012-09-23 00:28:14)


It's a very deadly weapon to know what you're doing
---  William Murderface

Offline

Board footer

Powered by FluxBB