Skip navigation

helpd takes a lot of CPU

3122 Views 3 Replies Latest reply: Jul 16, 2012 6:10 PM by superjones RSS
zeBob Level 1 Level 1 (0 points)
Currently Being Moderated
Jul 25, 2011 3:58 AM

What is this process ?

 

It's spawned quite often, and uses a lot of CPU & memory.

MacBook Pro 4,1, Mac OS X (10.7)
  • J MAZ Level 3 Level 3 (820 points)
    Currently Being Moderated
    Jul 26, 2011 11:06 AM (in response to zeBob)

    I don't know but I'm having the same problem. Little Snitch keeps telling me that it's trying to connect to the network and then the CPU usage spikes for a few minutes. I've killed the process and it just comes back.

  • Marianco1 Level 2 Level 2 (225 points)
    Currently Being Moderated
    Jan 2, 2012 11:45 AM (in response to zeBob)

    Helpd updates all of the Application help files on your Mac.

     

    However, I hate having helpd launching repeatedly and seemingly randomly, taking up 1 gig of RAM, and using so much CPU time that the fans go loudly full blast on my MacBook Pro.  I prefer having my MacBook Pro be quiet.

     

    Upon investigation, I found that helpd is controlled by a System LaunchAgent plist which is run on startup:

    /System/LaunchAgents/com.apple.helpd.plist

     

    When examining the contents of this plist using XCode, what you find is that:

    1. helpd is run when it is loaded by the system at startup or login

    2. helpd is run on every Sunday at 2:30 AM

    3. the launch agent watches the following folders and runs helpd whenever the folders change:

        /Applications/

        /Applications/Utilities/

     

    The biggest problem is the watch foldersThey change whenever you open them (i.e. their modified date changes when opened).  They change when you install a new application. Many applications change their Application folder content when run. etc. etc.

     

    (Lingon is a simplified launch agent and launch daemon editor.  Lingon 3, by the way, cannot manage anything other than your own user's launch agents and launch daemons.  It is limited by Apple's new App Store rules.  Lingon 2 can open up system launch agetns and launch daemons.  But it is missing many of the plist fields revealed by using XCode. For example, it will show the /Applications/ watch folder. But there are TWO watch folders - the second one is /Applications/Utilities/  Thus, Lingon may cause problems by modifying the system launch agents and daemon plists by missing several fields. I don't recommend Lingon other than to create your own user launch agents and daemons - with Lingon 2 being a much more capable version)

     

    The easiest solution is to use Xcode or another plist editor to modify the com.apple.helpd.plist to change the watch folders.

     

    I changed /Applications/ to /Applications/Utilities/  and left the second watch folder /Applications/Utilities/

     

    Since I seldom open /Applications/Utilities/ this causes helpd to launch far less often.

     

    You can also just simpliy eliminate the watch folders.  This keeps helpd running on Sundays at 2:30 AM or on startup or login.

     

    When users get rid of many older applications, they see helpd launch less often since these older applications may be the ones modifying the /Applications/ folder.

     

    If you have only newer applications or few applications, you don't run into the helpd problem as often or at all. This is why few people complain about helpd. Only the users who have numerous applications (particularly older ones or ones not bought from the App Store) run into this problem.

     

    Here are the contents of the com.apple.helpd.plist:

     

    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

    <plist version="1.0">

    <dict>

              <key>EnableTransactions</key>

              <true/>

              <key>EnvironmentVariables</key>

              <dict>

                        <key>NSRunningFromLaunchd</key>

                        <string>1</string>

              </dict>

              <key>Label</key>

              <string>com.apple.helpd</string>

              <key>LimitLoadToSessionType</key>

              <array>

                        <string>Aqua</string>

                        <string>LoginWindow</string>

              </array>

              <key>MachServices</key>

              <dict>

                        <key>com.apple.helpd</key>

                        <true/>

              </dict>

              <key>OnDemand</key>

              <true/>

              <key>Program</key>

              <string>/System/Library/PrivateFrameworks/HelpData.framework/Versions/A/Resourc es/helpd</string>

              <key>RunAtLoad</key>

              <true/>

              <key>StartCalendarInterval</key>

              <dict>

                        <key>Hour</key>

                        <integer>2</integer>

                        <key>Minute</key>

                        <integer>30</integer>

                        <key>Weekday</key>

                        <integer>7</integer>

              </dict>

              <key>WatchPaths</key>

              <array>

                        <string>/Applications/</string>

                        <string>/Applications/Utilities/</string>

              </array>

    </dict>

    </plist>

  • superjones Level 1 Level 1 (0 points)
    Currently Being Moderated
    Jul 16, 2012 6:10 PM (in response to Marianco1)

    Awesome write up, Marianco1! I think you have just explained to me how I can keep helpd from driving me nuts with its CPU usage.

     

    One small correction... The file one needs to edit is:

     

         /System/Library/LaunchAgents/com.apple.helpd.plist

     

    The "Library" directory under /System was left out in your path. I'm sure most users comfortable enough to work with a property list file would know this, but I wanted to add it for anyone may not know how to find the file.

     

    Thanks again for putting this together and explaining things so well!

     

    -Bryan

Actions

More Like This

  • Retrieving data ...

Bookmarked By (2)

Legend

  • This solved my question - 10 points
  • This helped me - 5 points
This site contains user submitted content, comments and opinions and is for informational purposes only. Apple disclaims any and all liability for the acts, omissions and conduct of any third parties in connection with or related to your use of the site. All postings and use of the content on this site are subject to the Apple Support Communities Terms of Use.