Статистика выделения памяти
sqlite3_int64 sqlite3_memory_used(void); sqlite3_int64 sqlite3_memory_highwater(int resetFlag);
SQLite предоставляет эти два интерфейса для отслеживания состояния функций sqlite3_malloc(), sqlite3_free() и sqlite3_realloc(), которые образуют встроенную систему выделения памяти.
Функция sqlite3_memory_used() возвращает количество байтов памяти, которые в данный момент используются (выделены, но не освобождены). Функция sqlite3_memory_highwater() возвращает максимальное значение sqlite3_memory_used() с момента последнего сброса отметки высокого уровня. Значения, возвращаемые функциями sqlite3_memory_used() и sqlite3_memory_highwater(), включают любой дополнительный объём, добавленный SQLite в своей реализации sqlite3_malloc(), но не включают дополнительный объём, добавленный сторонними библиотеками, которые могут вызываться sqlite3_malloc().
Отметка высокого уровня памяти сбрасывается до текущего значения sqlite3_memory_used() только в том случае, если параметр функции sqlite3_memory_highwater() имеет значение true. Значение, возвращаемое sqlite3_memory_highwater(1), представляет собой отметку высокого уровня до сброса.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/memory_highwater.html