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

OSCHINA-MIRROR/mirrors-tcmalloc

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README
Существуют и другие переменные среды, помимо 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 )

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

Введение

TCMalloc (google-perftools) используется для оптимизации многопоточных приложений, написанных на C++. Он быстрее, чем malloc в glibc 2.3. Этот модуль можно использовать, чтобы сделать использование памяти MySQL более стабильным при высокой параллельной нагрузке. Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
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