Come posso diagnosticare o correggere CalendarAgent che occupa un'intera CPU su Mountain Lion?


13

Da quando ho effettuato l'aggiornamento a Mountain Lion da Lion vedo il processo CalendarAgent occupare una grande quantità di 1 CPU sul mio MacBook Pro di fine 2008. Per risolvere questo problema (come suggerito da un risultato di Google), ho provato a rimuovere tutti gli account di calendario online e ad aggiungerli nuovamente. Questo sembra funzionare per un po ', ma ora il problema è tornato (forse a causa mia o dell'eliminazione di alcuni calendari iCloud o dell'aggiunta di un ulteriore delegato del calendario di Google). Non voglio davvero rimuovere tutti i miei account di calendario ogni volta che aggiungo o rimuovo un singolo calendario, quindi qualcuno può indicarmi la causa principale del problema?

Nel caso sia utile, il grafico della chiamata dal processo viene incollato qui .

AGGIORNAMENTO: ho rimosso uno dei delegati da uno dei miei account del calendario di Google e ciò ha impedito il verificarsi di questo problema. Questa non è davvero una soluzione, dato che ora non posso accedere a quel calendario.


C'è uno di questi calendari di Microsoft Exchange a cui hai accesso tramite la webmail di Exchange? In tal caso, accedere all'account Exchange e chiudere tutti i promemoria. Se non hai accesso ai calendari di Exchange, chiedi ai proprietari di eliminare tutti i promemoria.
IconDaemon,

Potresti voler leggere questo post per un'altra soluzione: robert.accettura.com/blog/2012/08/19/…
IconDaemon

Risposte:


3

Sto ancora cercando una risposta solida.

Nel frattempo, ho il seguente script in esecuzione in AppleScript Editor. Questo script cerca CalendarAgentogni 15 secondi e termina il processo.

Questo rende la sincronizzazione del calendario inutilizzabile, ma almeno posso usare di nuovo il mio Mac. Lascerò correre fino a quando non troverò una soluzione permanente.

Lo script è:

repeat
  set app_name to "Finder"
  do shell script "killall -9 CalendarAgent"
  delay 15
end repeat

Non ho mai veramente toccato il fondo, sebbene questa fosse una soluzione ai sintomi, quindi accettando.
Nick Hawes,

9

Potrebbe essere necessario uccidere e ricostruire il db del calendario:

  1. Disabilita il servizio Calendario dal tuo account in Preferenze di Sistema → Account Internet

  2. Rimuovere i file delle preferenze / del database per Calendar:

    rm -r ~/Library/Calendars/ ~/Library/Preferences/com.apple.iCal.plist
    
  3. Riattiva il servizio.

Fonte: http://robert.accettura.com/blog/2012/08/19/how-to-stop-calendaragent-from-eating-cpu/


2
Benvenuti nel sito. Incoraggiamo le persone a sintetizzare i collegamenti, ma è OK fornire solo collegamenti sapendo che a volte vengono convertiti in commenti o votati verso il basso mentre proviamo a convincere le persone a contribuire al corpus di conoscenze qui sotto una licenza CC.
bmike

1
Ha funzionato per me. Ricorda: quando la riattiva, consuma CPU per un po '.
Joost

4

L'uso dei delegati di Google ha sicuramente causato il problema dell'alta CPU con me.

La soluzione semplice è:

  1. Deseleziona la delega con la finestra delle informazioni dell'account di Calendar (come indicato dall'aggiornamento in alto)
  2. Modifica la condivisione del calendario di Google selezionando i calendari desiderati nella pagina Impostazioni di sincronizzazione di Google: https://www.google.com/calendar/syncselect

Apportare questa modifica ha eliminato il problema dell'alta CPU, senza dover ricorrere all'approccio kill-the-CalendarAgent.


Grazie per questo! Ne sono stato frustrato per anni. Usando il link syncselect (voce n. 2) sopra, ho disabilitato alcuni calendari che non ho davvero bisogno di sincronizzare e da allora non ho visto l'alto problema della CPU. Naturalmente ciò li rimuove da tutti i dispositivi sincronizzati (desktop, laptop e telefono) ma se risolve l'elevata CPU che stavo vivendo sul desktop, ne varrà la pena. Grazie ancora!
Steve Lemke,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.