Come interpreto l'output dello strumento "campione" di Mac

4

Ho un processo in esecuzione su OS X che presenta alcuni problemi e lo strumento 'sample' su Mac sembra il modo migliore per eseguire il debug del problema. Sfortunatamente, l'unica documentazione che riesco a trovare è la pagina man che non dice nulla su come interpretare i risultati.

Ci sono dei buoni posti che documentano l'output e come interpretarlo? In caso contrario, qualcuno può darmi un tutorial molto di base?

    
posta mcsheffrey 12.07.2013 - 20:44
fonte

1 risposta

3

Ho appena controllato la pagina Man su campione e mi sembra un campionatore di stack di chiamate semi-decente. Afferma che il suo output è l'albero delle chiamate, quindi non dovrebbe essere troppo difficile da comprendere.

Dico semi-decente perché collezionare campioni di call-stack è una buona cosa. Le critiche sono:

  1. Non dice se raccoglie campioni quando il processo è in una chiamata di sistema, come ad esempio aspettare l'I / O. È importante farlo, a meno che tu non voglia essere cieco per l'I / O inutile.

  2. Cade per la finzione che ciò che conta è la precisione dei tempi e non si vuole perdere nessuna funzione, quindi campioni deve essere molto frequente . È una finzione perché l'obiettivo è quello di trovare grandi cose, non di misurare piccole cose. Qualsiasi funzione che non appaia certamente non costa abbastanza a cui preoccuparsi.
    La conseguenza di questa finzione è che ci sono troppi esempi da guardare, quindi deve cercare di trovare un modo per riassumerli, quindi sceglie un call-tree. Il fatto è che, se ti è permesso effettivamente esaminare un piccolo numero di campioni (come 10 o 20), vedrai esattamente i motivi della lentezza. Il riassunto è il problema. Spalma e nasconde le informazioni.

Quindi, il long-and-short è, sembra essere un buon strumento per raccogliere campioni di call-stack. Se riesci a capire come effettivamente vederne una selezione, ti dirà qual è il problema.

    
risposta data 01.08.2013 - 15:06
fonte

Leggi altre domande sui tag