1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-tcmalloc

Клонировать/Скачать
README 6.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 16:58 db62740
Существуют и другие переменные среды, помимо CPUPROFILE, которые вы можете установить, чтобы настроить поведение профилировщика процессора; см. «Переменные среды» ниже.
Профилировщик процессора доступен во всех протестированных нами системах на базе Unix; более подробную информацию см. в разделе УСТАНОВКА. В настоящее время он недоступен в Windows.
ПРИМЕЧАНИЕ: Профилирование процессора не работает после fork (если только вы сразу же после этого не выполните вызов, подобный exec()). Кроме того, если вы выполняете fork, и дочерний процесс вызывает exit(), это может привести к повреждению данных профиля. Вы можете использовать _exit() для решения этой проблемы. Мы надеемся исправить обе проблемы в следующем выпуске perftools (надеюсь, perftools 1.2).
ВСЁ В ОДНОМ
-----------------
Если вы хотите, чтобы профилировщик процессора, профилировщик кучи и проверка утечки кучи были доступны для вашего приложения, вы можете сделать следующее:
gcc -o myapp ... -lprofiler -ltcmalloc
Однако, если у вас есть причина использовать статические версии библиотеки, такое связывание двух библиотек не будет работать:
gcc -o myapp ... /usr/lib/libprofiler.a /usr/lib/libtcmalloc.a # ошибки!
Вместо этого используйте специальную библиотеку libtcmalloc_and_profiler, которую мы создали специально для этой цели:
gcc -o myapp ... /usr/lib/libtcmalloc_and_profiler.a
ВАРИАНТЫ КОНФИГУРАЦИИ
---------------------
Для опытных пользователей существует несколько флагов, которые можно передать в './configure', чтобы настроить производительность tcmalloc. (Это в дополнение к переменным среды, которые вы можете задать во время выполнения, чтобы повлиять на tcmalloc, как описано ниже.) Подробности см. в файле INSTALL.
ПЕРЕМЕННЫЕ СРЕДЫ
---------------------
Профилировщики процессора, кучи и проверки кучи будут бездействовать, не используя память или процессор, пока вы их не включите. (Таким образом, нет ничего плохого в том, чтобы связать -lprofiler с каждым приложением, а также -ltcmalloc при условии, что вы согласны использовать небиблиотечную библиотеку malloc.)
Самый простой способ включить их — установить соответствующие переменные среды. У нас есть несколько переменных, которые позволяют вам включать/отключать функции, а также настраивать параметры.
Вот некоторые из наиболее важных переменных:
HEAPPROFILE=<pre> — включает профилирование кучи и выгружает данные с этим префиксом
HEAPCHECK=<type> — включает проверку кучи со строгостью 'type'
CPUPROFILE=<file> — включает профилирование процессора и выгружает данные в этот файл.
PROFILESELECTED=1 — если установлено, профилировщик процессора будет профилировать только те участки кода, которые окружены ProfilerEnable()/ProfilerDisable().
CPUPROFILE_FREQUENCY=x— сколько прерываний в секунду делает профилировщик процессора.
PERFTOOLS_VERBOSE=<level> — чем выше уровень, тем больше сообщений выдаёт malloc
MALLOCSTATS=<level> — выводит статистику использования памяти при завершении программы
Полный список переменных см. на страницах документации:
docs/cpuprofile.html
docs/heapprofile.html
docs/heap_checker.html
Также см. TCMALLOC_STACKTRACE_METHOD_VERBOSE и TCMALLOC_STACKTRACE_METHOD, кратко описанные в нашем файле INSTALL и на нашей вики-странице по адресу:
https://github.com/gperftools/gperftools/wiki/gperftools'-stacktrace-capturing-methods-and-their-issues
СБОРКА НА НЕ-LINUX СИСТЕМАХ
------------------------------
Perftools был разработан и протестирован на x86, aarch64 и riscv Linux системах, и он работает в полной мере только на этих системах.
Тем не менее, нам удалось портировать большую часть библиотеки tcmalloc на FreeBSD, Solaris x86 (хотя недавно не тестировался), и Mac OS X (aarch64; x86 и ppc недавно не тестировались); и мы портировали базовую функциональность в tcmalloc_minimal на Windows. Подробности см. в INSTALL. Подробности о порте Windows см. в README_windows.txt.
---
Первоначально написано: 17 мая 2011 г.
Последнее обновление: 10 августа 2023 г.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-tcmalloc.git
git@api.gitlife.ru:oschina-mirror/mirrors-tcmalloc.git
oschina-mirror
mirrors-tcmalloc
mirrors-tcmalloc
master