Чи є інструмент для первинного профіля для Mac для відстеження всіх помилок сторінки?


5

Я хочу встановити, perfякий є інструментом профілювання ядра для Linux.

В основному я намагаюся простежити всі помилки сторінки , тому я виконую еквівалент:

sudo perf record -e page-faults -ag

Чи можливо встановити / використовувати вищевказаний інструмент на Mac? Якщо ні, то який еквівалентний інструмент для досягнення подібних результатів (відстеження всіх помилок сторінки за допомогою слідів стека).


Якщо ви хочете детальніше розглянути, що ви хочете зробити в кінцевому підсумку - ми можемо уникнути обміну типовими проблемами XY . Я продовжую запитати про ваше рішення на випадок, якщо це насправді все, що ви хотіли знати.
bmike

Відповіді:


2

Ні - в ОС X X немає ядра Linux, щоб цей інструмент був рибою поза водою. ОС X, ймовірно, постачається з усім необхідним.

У macOS / OS X - використовується Mach_kernel. Це вичерпно задокументовано за адресою: https://developer.apple.com/library/prerelease/content/documentation/Darwin/Conceptual/KernelProgramming/ About/ About.html

Крім того, можливо, ви будете чудово профайлювати рівень Unix на основі BSD за допомогою наданих інструментів командного рядка. Це дійсно залежить від того, які операції або аспект продуктивності системи ви хочете виміряти або налагодити.

До конкретної теми помилок сторінки, ви можете отримати сукупну статистику з, topа vm_statпотім перекопатися в конкретних процесах, використовуючи dtraceабо Інструменти - це безкоштовна інструментальна частина Xcode в магазині додатків і має графічний інтерфейс для профілювання системних викликів за процес або як система.


Я знаю vm_stat, але це дає мені лише кількість помилок сторінки в секунду, тому нічого не простежується. Те саме з top. Якщо dtraceможна це зробити, корисний би якийсь приклад.
kenorb

@kenorb Залишимо це загальною відповіддю на загальне запитання. Якщо ви хочете задати вузьке dtraceзапитання щодо OS X за допомогою зонда, це може відповісти. Я, мабуть, використовував інструменти для відстеження вашої програми, оскільки це легко зрозуміти, якщо вам це навіть потрібноdtrace
bmike

1
Давайте подивимось, чи є у когось тоді поради. Спасибі @kenorb
bmike
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.