Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Memory Allocator Statistics

sqlite3_int64 sqlite3_memory_used(void);
sqlite3_int64 sqlite3_memory_highwater(int resetFlag);

SQLite provides these two interfaces for reporting on the status of the sqlite3_malloc(), sqlite3_free(), and sqlite3_realloc() routines, which form the built-in memory allocation subsystem.

R-13307-42286:[The sqlite3_memory_used() routine returns the number of bytes of memory currently outstanding (malloced but not freed). ] R-19454-21689:[The sqlite3_memory_highwater() routine returns the maximum value of sqlite3_memory_used() since the high-water mark was last reset. ] R-01099-23153:[The values returned by sqlite3_memory_used() and sqlite3_memory_highwater() include any overhead added by SQLite in its implementation of sqlite3_malloc(), but not overhead added by the any underlying system library routines that sqlite3_malloc() may call. ]

R-55673-47845:[The memory high-water mark is reset to the current value of sqlite3_memory_used() if and only if the parameter to sqlite3_memory_highwater() is true. ] R-35268-31914:[The value returned by sqlite3_memory_highwater(1) is the high-water mark prior to the reset. ]

See also lists of Objects, Constants, and Functions.