Jag ser att efter att jag har installerat en programvara som levereras med dokumentation i OS X: s hjälpdokumentformat, är helpd
process använder 100% CPU i upp till fem minuter eller så. Jag ser också detta när du först installerar OS X.
Jag antar att detta händer på grund av indexering av den nya dokumentationen som lagts till av den nya applikationen.
Finns det ett sätt att göra denna indexering lite mindre resurskrävande?
Sakta ner det, kanske? När det händer kryper mitt system bara tills det är klart.
Har någon annan upplevt samma problem?
Kommentarer
- Detta verkar inte normalt, men vad är ett exempel på applikation som visade indexering långsamhet. Vilken version av Mac OS X kör du? Vilken typ av Mac använder du?
Svar
Från tråd https://discussions.apple.com/thread/3209466
«2 jan 2012 11:45 som svar på zeBob
Helpd uppdaterar alla applikationshjälpfilerna på din Mac.
Jag hatar emellertid att jag har hjälpt till att starta upprepade gånger och till synes slumpmässigt, ta upp 1 gig RAM och använda så mycket CPU-tid att fansen går högt fullt på min MacBook Proffs. Jag föredrar att min MacBook Pro är tyst.
Efter utredning fann jag att helpd styrs av en System LaunchAgent-plist som körs vid start:
/ System / LaunchAgents / com. apple.helpd.plist
När du undersöker innehållet i denna plist med hjälp av XCode, är det du hittar:
-
helpd körs när den laddas av system vid start eller inloggning
-
helpd körs varje söndag kl 02:30
-
lanseringsagenten tittar på följande mappar och kör hjälp när mapparna ändras:
/ Applications /
/Applications/Utilities/
Det största problemet är klockmapparna. De ändras när du öppnar dem (dvs. deras modifierade datum ändras när de öppnas). De ändras när du installerar en ny applikation. Många applikationer ändrar innehållet i applikationsmappen när de körs. etc. etc.
(Lingon är en förenklad lanseringsagent och lanseringsdemonredigerare. Lingon 3 kan förresten inte hantera något annat än din egen användares lanseringsagenter och starta demoner. Det begränsas av Apples nya App Store-regler. Lingon 2 kan öppna systemstartprogram och starta demoner. Men det saknas många av de plistfält som avslöjas med hjälp av XCode. Det visar till exempel mappen / Applications / watch. Men det finns TVÅ klockmappar – den andra är / Applikationer / Verktyg / Således kan Lingon orsaka problem genom att ändra systemstartagenterna och demonlistorna genom att sakna flera fält. Jag rekommenderar inte Lingon annat än att skapa egna användarstartagenter och demoner – med Lingon 2 som en mycket mer kapabel version)
Den enklaste lösningen är att använda Xcode eller en annan plist-redigerare för att ändra com.apple.helpd.plist för att ändra övervakningsmapparna.
Jag ändrade / Applications / to / Applications / Utilities / och lämnade den andra övervakningsmappen / Applications / Utilities /
Eftersom jag sällan öppnar / Applications / Utilities / detta får hjälp att starta mycket mindre ofta.
Du kan också helt enkelt eliminera övervakningsmapparna. Detta gör att helpd körs på söndagar klockan 02:30 eller vid start eller inloggning.
När användare blir av med många äldre applikationer ser de att help startar mindre ofta eftersom de här äldre applikationerna kan vara de som ändrar / Program / mapp.
Om du bara har nyare applikationer eller få applikationer stöter du inte på hjälpproblemet så ofta eller alls. Det är därför få människor klagar över hjälp. Endast de användare som har många applikationer (särskilt äldre eller de som inte köpts från App Store) stöter på detta problem.
Här är innehållet i com.apple.helpd.plist:
<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>
»