2009-03-16 9 views
5

Estoy en OSX y mi sistema deja de responder unos segundos aproximadamente cada 10 minutos. (Me da la pelota de playa giratoria de la muerte). Me preguntaba si había alguna manera de aislar el problema (tengo un montón de memoria RAM, y no hay saltos de página/agitación). ¿Alguna herramienta de Unix/OSX que pueda ayudarme a controlar y aislar la causa de este comportamiento?Cómo aislar las causas del bloqueo del sistema Unix/OSX

+0

sospechaba algo así: P – mt3

Respuesta

2

Me gustaría ejecutar una mezcla de 'top', así como tail -f/var/log/messages (o donde sea que esté el archivo de registro principal).

Las posibilidades son justo antes/después del hang, se mostrará un mensaje de error. A partir de ahí, puedes comenzar a eliminar tus problemas.

1

Como primera línea de ataque, sugiero que se mantenga top ejecutándose en una ventana de Terminal donde se puede ver, y viendo si hay trabajos fuera de control allí.

+0

sí, la parte superior está abierta (como ocurre con el monitor de actividad), pero no se muestra ninguna carga pesada de la CPU. – mt3

1

Si las otras respuestas no lo llevan a ninguna parte, me gustaría ejecutar ver tiempo de actividad y mantener notas sobre los tiempos y tiempos cuando se bloquea. Bloquear aproximadamente cada 10 minutos es muy diferente de bloquear exactamente cada 10 minutos; el último sugiere mirar en crontab -l para trabajos que comienzan con */10.

+0

Sí, no es exactamente 10 minutos, solo aproximadamente 10 minutos. Sin embargo, para la sugerencia. – mt3

2

Activity Monitor es la versión de la GUI de la parte superior, y con Leopard puede usar la función 'Sample Process' para ver cuáles son las tareas más problemáticas de su tiempo. También en Utilities encontrarás Console aka tail -f/var/log/messages.

+0

Creo que quisiste decir Activity Monitor? – mt3

4

Monitor de actividad (cmd+space, tipo, activity monitor), debería darle una visión general intuitiva de lo que está sucediendo en su sistema. Si, como dices, no hay procesos que obstruyan la CPU, mira la actividad de disco/IO. Tal vez su disco vaya hacia el sur.

1

La falta de respuesta periódica es a menudo el caso cuando el intercambio está sucediendo. ¿Tienes suficiente memoria en tu sistema? Examine el disco io para ver si hay picos.

EDIT:

he visto un comportamiento similar en mi Mac últimamente que fue causado por el sistema de archivos está roto, así OS X intentó acceder a los bloques no existentes en el disco e incluso tratando de repararla con disco Manger dijo yo para formatear y reinstalar. ¡Hacer eso y restablecer con Time Machine ayudó!

Si hace esto, vuelva a verificar que Journalling esté habilitado en el HFS en el disco duro. Esto ayuda bastante a evitar que vuelva a suceder.

1

Utilice los instrumentos de Apple. Honestamente, se ayuda inmensamente a encontrar cuelgues como estos.

+1

cualquier otro consejo sobre el uso de instrumentos para este fin? Me imagino que este es el enfoque más poderoso. – mt3

3

He estado teniendo problemas continuamente a lo largo de los años con el sistema se cuelga. Parece que en general son el resultado de errores del sistema de archivos, sin embargo, Apple no hace lo suficiente para resolver este problema. La confiabilidad del sistema debe ser un enfoque al 100% y estoy ciertamente cansado de estos problemas. Empecé a mover una gran cantidad de archivos y todas las copias de seguridad a un volumen de ZFS en un servidor de FreeBSD y esto me está ayudando un poco, ya que ha comenzado a facilitar mi mente y me permite recuperarme más rápidamente de los problemas. Además, coloqué el volumen de mi sistema en un disco SSD grande (240GB porque tengo muchos archivos de soporte y estoy tratando de evitar que las cosas se dividan demasiado con los enlaces simbólicos) y las carpetas de Mis usuarios en otro disco. Esto también ha ayudado a aumentar la confiabilidad.

Habiendo dicho esto, debe intentar explorar spindump y stackshot para ver si puede capturar procesos congelados antes de que el sistema se congele por completo. Es muy probable que tenga una o dos aplicaciones que intenten acceder a los bloques defectuosos y que simplemente bloquee el sistema o que tenga un proceso que bloquea a todos los demás por alguna razón con una llamada al sistema que está deteniendo io.

Apple ha utilizado stackshot unas cuantas veces con mí durante los últimos dos años para cazar algunos bichos desagradables hacia abajo y el siguiente enlace puede arrojar alguna luz sobre cómo quizás mejor caza de este duende abajo: http://www.stormacq.com/?p=346

Proveedores: top -l2 -S > top_output.txt y exame los resultados para procesos de cuelgue/zombie.

Cuanto más profundice en esto, le puede resultar útil suscribirse a la lista de desarrolladores del kernel ([email protected]) ya que hay algunas cookies muy, muy nítidas aquí que pueden arrojar luz sobre algunos de los problemas más oscuros y ayudan a comprender con precisión qué pánico está diciendo.

Además, es posible que desee desinstalar cualquier máquina virtual que haya instalado. Hay un desarrollador particular que, he escuchado de fuentes muy confiables, tiene problemas de hipervisor muy defectuosos y sería prudente analizarlo si tiene alguno instalado. Puede ser hora de limpiar tus kexts por completo también.

Pero, en general, realmente necesitamos desesperadamente un mejor sistema de archivos y mecanismos proactivos para controlar los bloques defectuosos. Alabé el día y grité de alegría cuando pensé que estábamos recibiendo oficialmente ZFS. Dudo mucho que Lion esté mucho mejor en el frente de HFS + y, por cierto, estoy considerando ZFS para el volumen de mis usuarios + otro almacenamiento en la estación de trabajo debido a su capacidad de eliminar bloques defectuosos y eliminar problemas como estos.

Son la base de nuestra existencia en el hardware de Apple y, habiendo trabajado en este campo durante 20 años y miles de clientes, la falla del disco duro se debe considerar inexcusable en este momento. Incluso si las mfgs reales no pueden y no lo arreglarán, la responsabilidad recae sobre los desarrolladores de sistemas operativos para manejar mejor las excepciones y evitar tales fallas a fin de evitar la pérdida de datos silenciosos y las pesadillas como estas.

Cuestiones relacionadas