¿Cómo puedo diagnosticar o reparar el CalendarAgent que ocupa una CPU completa en Mountain Lion?

13

Desde que actualicé a Mountain Lion desde Lion, veo que el proceso CalendarAgent ocupa una gran cantidad de 1 CPU en mi MacBook Pro de finales de 2008. Para solucionar esto (como sugiere un resultado de Google) intenté eliminar todas las cuentas de calendario en línea y luego volver a agregarlas. Esto pareció funcionar por un tiempo, pero ahora el problema ha regresado (quizás debido a que eliminé algunos calendarios de iCloud o agregué un delegado adicional del calendario de Google). Realmente no quiero tener que eliminar todas mis cuentas de calendario cada vez que agrego o elimino un solo calendario, entonces, ¿alguien puede señalarme la causa raíz del problema?

En caso de que sea útil, el gráfico de llamadas del proceso se pega aquí .

ACTUALIZACIÓN: eliminé a uno de los delegados de una de mis cuentas de calendario de Google, y eso evitó que ocurriera este problema. Sin embargo, esto no es realmente una solución, ya que ahora no puedo acceder a ese calendario.

Nick Hawes
fuente
¿Alguno de estos calendarios tiene acceso a los calendarios de Microsoft Exchange a través del correo web de Exchange? Si es así, inicie sesión en la cuenta de Exchange y descarte los recordatorios. Si no tiene acceso a los calendarios de Exchange, solicite a los propietarios que descarten cualquier recordatorio.
IconDaemon
Es posible que desee leer esta publicación para obtener otra solución: robert.accettura.com/blog/2012/08/19/…
IconDaemon

Respuestas:

3

Todavía estoy buscando una respuesta sólida.

Mientras tanto, tengo el siguiente script ejecutándose en AppleScript Editor. Este script busca CalendarAgentcada 15 segundos y mata el proceso.

Esto hace que la sincronización del calendario sea inutilizable, pero al menos puedo usar mi Mac nuevamente. Dejaré que esto se ejecute hasta que encuentre una solución permanente.

El guión es:

repeat
  set app_name to "Finder"
  do shell script "killall -9 CalendarAgent"
  delay 15
end repeat
JBM
fuente
Realmente nunca llegué al fondo de esto, aunque esta fue una solución a los síntomas, por lo tanto, aceptar.
Nick Hawes
9

Puede que tenga que matar y reconstruir Calendar db:

  1. Deshabilite el servicio Calendario de su cuenta en Preferencias del sistema → Cuentas de Internet

  2. Elimine las preferencias / archivos de base de datos para Calendario:

    rm -r ~/Library/Calendars/ ~/Library/Preferences/com.apple.iCal.plist
    
  3. Vuelva a habilitar el servicio.

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

kappadiva
fuente
2
Bienvenido al sitio. Alentamos a las personas a resumir los enlaces, pero está bien que solo contribuyan con enlaces sabiendo que a veces se convierten en comentarios o se votan en contra mientras intentamos que las personas contribuyan al conjunto de conocimientos que está bajo una licencia CC.
bmike
1
Trabajó para mi. Recuerde: cuando se vuelve a habilitar, se consume CPU por un tiempo.
Joost
4

El uso de delegados de Google definitivamente causó el problema de CPU alta conmigo.

La solución simple es:

  1. Desmarque la delegación con la ventana de información de la cuenta del calendario (como se indica en la ACTUALIZACIÓN anterior)
  2. Cambie el uso compartido de su calendario de Google seleccionando los calendarios deseados en la página de Configuración de Google Sync: https://www.google.com/calendar/syncselect

Hacer este cambio eliminó el problema de CPU alta, sin necesidad de recurrir al enfoque kill-the-CalendarAgent.

Dan C
fuente
¡Gracias por esto! He estado frustrado por esto por años. Usando el enlace syncselect (elemento # 2) anterior, desactivé algunos calendarios que realmente no necesito sincronizar y desde entonces no he visto el gran problema de la CPU. Por supuesto, eso los elimina de todos los dispositivos sincronizados (computadora de escritorio, computadora portátil y teléfono), pero si corrige la alta CPU que estaba experimentando en el escritorio, todo valdrá la pena. ¡Gracias de nuevo!
Steve Lemke