4 votos

Spotlight, indexación infinita, unidades secundarias y NAS

Tengo varias bahías de edición de Mac OS X 10.5.8, cada una con al menos una unidad interna adicional, la mayoría de tamaño 500GB-1TB. Todos los Macs también están compartiendo un clúster NAS Isilon de 100TB (montaje nfs) para medios compartidos, etc. Parece que cada estación de trabajo está ejecutando Spotlight ad-infinitum, sin importar las excepciones (o ninguna) que añada a la lista. En un equipo en particular detuve el servicio en Acivity Monitor, sólo para que volviera a aparecer unos segundos después. Añadí TODAS las unidades a la lista de excepciones (incluyendo el volumen de inicio), Spotlight se detiene, pero no tiene índice de nada. Quito el volumen de inicio, Spotlight se inicia y continúa indefinidamente (el mensaje dice que quedan -2183764923 horas) (15 minutos cuando se reinicia, luego sólo crece). Así que el problema es con ese volumen, pero ¿qué? El Monitor de Actividad indica 0.0 CPU para mdworker, 0.0 para Spotlight. Cuando mato y reinicio, Spotlight pasa a 0.8 CPU con 18 hilos y mdworker se queda en 0.0 con 4 hilos

Rendimientos de los archivos y puertos abiertos:

/
/System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight
/System/Library/PrivateFrameworks/Calculate.framework/Versions/A/Calculate
/System/Library/PrivateFrameworks/URLMount.framework/Versions/A/URLMount
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXCoreImage.A.dylib
/System/Library/Fonts/Helvetica.dfont
/System/Library/Fonts/LucidaGrande.dfont
/System/Library/CoreServices/Spotlight.app/Contents/Resources/MDShowAll.tif
/private/var/folders/kI/kICeUX+DFmSI3L1sRRM6NE++0vw/-Caches-/com.apple.ATS/annex_aux
/private/var/folders/kI/kICeUX+DFmSI3L1sRRM6NE++0vw/-Caches-/com.apple.IntlDataCache.le.sbdl
/System/Library/Caches/com.apple.IntlDataCache.le.kbdx
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/HIToolbox.rsrc
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/English.lproj/Localized.rsrc
/Library/Dictionaries/Apple Dictionary.dictionary/Contents/Resources/English.lproj/KeyText.index
/Library/Dictionaries/Apple Dictionary.dictionary/Contents/Resources/English.lproj/KeyText.data
/System/Library/CoreServices/Spotlight.app/Contents/Resources/Index_Dot_Black.tif
/usr/share/icu/icudt36l.dat
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/Extras2.rsrc
/System/Library/Keyboard Layouts/AppleKeyboardLayouts.bundle/Contents/Resources/AppleKeyboardLayouts-L.dat
/Library/Dictionaries/Oxford American Writer's Thesaurus.dictionary/Contents/KeyText.index
/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/Resources/SArtFile.bin
/System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/Resources/ArtFile.bin
/Library/Dictionaries/New Oxford American Dictionary.dictionary/Contents/KeyText.index
/Library/Dictionaries/New Oxford American Dictionary.dictionary/Contents/KeyText.data
/Library/Dictionaries/New Oxford American Dictionary.dictionary/Contents/Body.data
/Library/Caches/com.apple.LaunchServices-0233007.csstore
/Library/Dictionaries/Oxford American Writer's Thesaurus.dictionary/Contents/KeyText.data
/usr/lib/dyld
/private/var/db/dyld/dyld_shared_cache_i386
/dev/null

/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/Extras2.rsrc
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/HIToolbox.rsrc
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/English.lproj/Localized.rsrc

Los rendimientos del muestreo:

Sampling process 74486 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling Spotlight (pid 74486) every 1 millisecond
Call graph:
    1590 Thread_2507
      1590 0x26ea
        1590 NSApplicationMain
          1590 -[NSApplication run]
            1590 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
              1590 _DPSNextEvent
                1590 BlockUntilNextEventMatchingListInMode
                  1590 ReceiveNextEventCommon
                    1590 RunCurrentEventLoopInMode
                      1590 CFRunLoopRunInMode
                        1590 CFRunLoopRunSpecific
                          1570 mach_msg
                            1570 mach_msg_trap
                              1570 mach_msg_trap
                          16 __CFRunLoopDoObservers
                            16 _handleWindowNeedsDisplay
                              16 -[NSWindow displayIfNeeded]
                                16 -[NSView displayIfNeeded]
                                  14 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
                                    10 -[NSNextStepFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                      9 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                        9 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                          7 -[NSView _drawRect:clip:]
                                            7 NSRectFill
                                              6 CGContextFillRect
                                                6 CGContextFillRects
                                                  6 ripc_DrawRects
                                                    6 ripc_Render
                                                      6 ripl_BltShape
                                                        6 ripd_Lock
                                                          6 CGSDeviceLock
                                                            6 _CGSLockWindow
                                                              6 _CGSSynchronizeWindowBackingStore
                                                                6 mach_msg
                                                                  6 mach_msg_trap
                                                                    6 mach_msg_trap
                                              1 CGContextGetCompositeOperation
                                                1 CGContextGetCompositeOperation
                                          2 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:]
                                            2 -[NSView _drawRect:clip:]
                                              1 CGContextRestoreGState
                                                1 CGGStackRestore
                                                  1 CGGStateRelease
                                                    1 _CFRelease
                                                      1 _CFRelease
                                              1 NSRectClipList
                                                1 CGContextClipToRects
                                                  1 CGContextClipToRect
                                                    1 CGGStateClipToRect
                                                      1 maybeCopyClipState
                                                        1 CGClipStackCreateMutableCopy
                                                          1 CGClipStackCreateMutableCopy
                                      1 objc_msgSend
                                        1 objc_msgSend
                                    2 -[NSWindow flushWindow]
                                      2 CGContextFlush
                                        2 ripc_Operation
                                          2 CGSDeviceSynchronize
                                            2 _CGSFlushRegionInline
                                              2 mach_msg
                                                1 mach_msg
                                                1 mach_msg_trap
                                                  1 mach_msg_trap
                                    1 -[NSRectSet initWithRegion:]
                                      1 -[NSRegion getRects:count:]
                                        1 CGSRegionEnumerator
                                          1 CGSRegionEnumeratorWithDirection
                                            1 CGSRegionEnumeratorCreate
                                              1 CGTypeCreateInstanceWithAllocator
                                                1 _CFRuntimeCreateInstance
                                                  1 _CFRuntimeCreateInstance
                                    1 -[NSView lockFocus]
                                      1 -[NSView lockFocusIfCanDraw]
                                        1 PSgsave
                                          1 CGContextSaveGState
                                            1 CGGStackSave
                                              1 CGGStateCreateCopy
                                                1 calloc
                                                  1 malloc_zone_calloc
                                                    1 szone_calloc
                                                      1 __bzero
                                                        1 __bzero
                                  1 objc_msgSend
                                    1 objc_msgSend
                                  1 objc_msgSend_stret
                                    1 objc_msgSend_stret
                          3 __CFRunLoopModeFindSourceForMachPort
                            3 CFSetApplyFunction
                              2 __CFRunLoopFindSource
                                2 __CFRunLoopFindSource
                              1 CFSetApplyFunction
                          1 __NSFireTimer
                            1 objc_msgSend_fpret
                              1 objc_msgSend_fpret
    1590 Thread_2603
      1590 thread_start
        1590 _pthread_start
          1590 fe_fragment_thread
            1590 pthread_cond_wait$UNIX2003
              1590 __semwait_signal
                1590 __semwait_signal
    1590 Thread_2703
      1590 thread_start
        1590 _pthread_start
          1590 fe_fragment_thread
            1590 pthread_cond_wait$UNIX2003
              1590 __semwait_signal
                1590 __semwait_signal
    1590 Thread_2803
      1590 thread_start
        1590 _pthread_start
          1590 fe_fragment_thread
            1590 pthread_cond_wait$UNIX2003
              1590 __semwait_signal
                1590 __semwait_signal
    1590 Thread_2903
      1590 thread_start
        1590 _pthread_start
          1590 fe_fragment_thread
            1590 pthread_cond_wait$UNIX2003
              1590 __semwait_signal
                1590 __semwait_signal
    1590 Thread_2a03
      1590 thread_start
        1590 _pthread_start
          1590 fe_fragment_thread
            1590 pthread_cond_wait$UNIX2003
              1590 __semwait_signal
                1590 __semwait_signal
    1590 Thread_2b03
      1590 thread_start
        1590 _pthread_start
          1590 fe_fragment_thread
            1590 pthread_cond_wait$UNIX2003
              1590 __semwait_signal
                1590 __semwait_signal
    1590 Thread_2c03
      1590 thread_start
        1590 _pthread_start
          1590 fe_fragment_thread
            1590 pthread_cond_wait$UNIX2003
              1590 __semwait_signal
                1590 __semwait_signal
    1590 Thread_2d03
      1590 start_wqthread
        1590 __workq_ops
          1590 __workq_ops
    1590 Thread_2e03
      1590 start_wqthread
        1590 __workq_ops
          1590 __workq_ops
    1590 Thread_2f03
      1590 start_wqthread
        1590 __workq_ops
          1590 __workq_ops
    1590 Thread_3003
      1590 0x0
        1590 0x0
    1590 Thread_3103
      1590 0x0
        1590 0x0
    1590 Thread_3203
      1590 0x0
        1590 0x0
    1590 Thread_3303
      1590 0x0
        1590 0x0
    1590 Thread_3403
      1590 0x0
        1590 0x0
    1590 Thread_3503
      1590 thread_start
        1590 _pthread_start
          1590 __NSThread__main__
            1590 -[NSThread main]
              1590 0x336c7
                1590 CFRunLoopRunInMode
                  1590 CFRunLoopRunSpecific
                    1590 mach_msg
                      1590 mach_msg_trap
                        1590 mach_msg_trap
    1590 Thread_3603
      1590 thread_start
        1590 _pthread_start
          1590 __NSThread__main__
            1590 -[NSThread main]
              1590 -[NSUIHeartBeat _heartBeatThread:]
                1590 -[NSConditionLock lockWhenCondition:]
                  1590 -[NSConditionLock lockWhenCondition:beforeDate:]
                    1590 -[NSCondition waitUntilDate:]
                      1590 pthread_cond_timedwait_relative_np
                        1590 _pthread_cond_wait
                          1590 semaphore_timedwait_signal_trap
                            1590 semaphore_timedwait_signal_trap

Número total en la pila (múltiplo recursivo contado, cuando >=5):

9       _pthread_start
9       thread_start
7       __semwait_signal
7       fe_fragment_thread
7       pthread_cond_wait$UNIX2003
5       0x0

Ordenar por la parte superior de la pila, misma colapsada (cuando >= 5):

__semwait_signal        11130
0x0                     7950
__workq_ops             4770
mach_msg_trap           3167
semaphore_timedwait_signal_trap        1590

Ejemplo de análisis del proceso 74486 escrito en el archivo /dev/stdout

\===========================================================================

Quiero indexar todas las unidades en busca de contenido. También me gustaría un método para indexar el NAS, ya que esto sería particularmente útil. ¿Alguien tiene alguna sugerencia sobre cómo implementar Spotlight para que realmente haga su trabajo localmente, e incluso posiblemente en unidades FW extraíbles, o incluso en un NAS?

2voto

Rob Hyndman Puntos 599

Existe una herramienta de línea de comandos que puedes utilizar: mdutil . Abra la aplicación Terminal.app e intente lo siguiente:

Para comprobar el estado de indexación (on|off) de un volumen:

thomas$ mdutil -s /Volumes/nfs-spotlight/
/Volumes/nfs-spotlight:
    Indexing enabled.

...y para desactivar la indexación:

thomas$ sudo mdutil -i off /Volumes/nfs-spotlight/
Password:
/Volumes/nfs-spotlight:
    Indexing disabled.

...o incluso mejor desactivar las actividades de los focos:

thomas$ sudo mdutil -d /Volumes/nfs-spotlight/
/Volumes/nfs-spotlight:
    Indexing and searching disabled.

Llamando a mdutil sin ningún parámetro muestra todos los parámetros permitidos

Funciona con mi montaje NAS nfs pero entonces es mucho más pequeño que 100TB. Sin embargo, vale la pena intentarlo.

0voto

Jonas Byström Puntos 5106

En Yosemite: Pones todos los discos en la pestaña de Privacidad de las Preferencias de Spotlight, eso elimina el índice. Luego sacas el disco de inicio solamente. Spotlight ahora indexa el disco de inicio y el backupd de TimeMachine que probablemente en tu caso está en el NAS. No se puede excluir la copia de seguridad de TM. LexS

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X