This commit is contained in:
2019-04-22 08:13:35 +03:00
parent d8e0ffcd66
commit 43c149b481
4 changed files with 368 additions and 69 deletions

View File

@ -8,7 +8,7 @@ summary:
## Общее описание
Чтобы профилировать приложения, компилируемые [GCC](http://gcc.gnu.org),
необходимо добавлять флаг `-fno-omit-frame-pointer` и желательно `-g`.
необходимо добавлять флаг `-fno-omit-frame-pointer` и, желательно, `-g`.
## quickstack
@ -25,7 +25,7 @@ quickstack -f -p $(pidof application)
в каталоге `tools/perf`).
```sh
perf record --call-graph dwarf -- yourapp
perf record --call-graph dwarf -- ./application
perf report -g graph --no-children
```
@ -49,6 +49,20 @@ opcontrol --setup --vmlinux=/boot/vmlinux-`uname -r`
## Valgrind
[Хорошая статья](https://eax.me/valgrind/) об использовании Valgrind для поиска
утечек, а также о взаимодействии с GDB.
В версии 3.15 добавление инструмент профилирования кучи DHAT (Dynamic
Heap Analysis Tool), позволяющий отследить все запросы на распределения
памяти в куче и выявить утечки ресурсов, места излишне большой активности
при работе с кучей, неиспользованные выделения памяти, краткосрочные
выделения и неэффективное размещение данных в куче.
```sh
valgrind --tool=dhat ./application
```
## gperftools