¿Existe una herramienta de perfilado de rendimiento para Mac para rastrear todas las fallas de página?

Estoy buscando instalar perfuna herramienta de creación de perfiles de kernel para Linux.

Básicamente, estoy tratando de rastrear todas las fallas de la página , así que ejecuto el equivalente a:

sudo perf record -e page-faults -ag

¿Es posible instalar/usar la herramienta anterior en Mac? De lo contrario, ¿cuál es la herramienta equivalente para lograr resultados similares (rastrear todas las fallas de página con seguimientos de pila).

Si desea dar más detalles sobre lo que desea hacer en última instancia, podemos evitar un intercambio de tipo de problema XY . Continuaré y preguntaré sobre su solución en caso de que eso sea todo lo que quería saber.

Respuestas (1)

No, no hay kernel de Linux para perfilar en OS X, por lo que esa herramienta es un pez fuera del agua. Sin embargo, OS X probablemente viene con todo lo que necesitas.

En macOS/OS X, hay un mach_kernel en uso. Está documentado exhaustivamente en: https://developer.apple.com/library/prerelease/content/documentation/Darwin/Conceptual/KernelProgramming/About/About.html

Además, es posible que esté bien perfilando la capa de Unix basada en BSD con las herramientas de línea de comando proporcionadas. Realmente depende de qué operaciones o aspecto del rendimiento del sistema desee medir o depurar.

Para el tema específico de las fallas de página, puede obtener estadísticas acumulativas topy vm_statluego profundizar en procesos específicos utilizando Instruments dtraceo Instruments, que es una herramienta gratuita que forma parte de Xcode en la tienda de aplicaciones y tiene una interfaz gráfica para perfilar las llamadas del sistema por proceso. o como un sistema.

Soy consciente de vm_stat, pero solo me da la cantidad de fallas de página por segundo, por lo que no rastrea nada. Lo mismo con top. Si dtracepuede hacer eso, algún ejemplo sería útil.
@kenorb Dejemos esto como una respuesta general a una pregunta general. Si desea hacer una dtracepregunta específica sobre OS X con la sonda, es posible que pueda responderla. Probablemente usaría instrumentos para rastrear su programa, ya que es fácil de calcular si necesitadtrace
Veamos si alguien más tiene consejos entonces. Gracias @kenorb