mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-23 11:28:22 +08:00
be220dc905
Acknowledgements: ----------------- - [Mahlon E. Smith](http://www.martini.nu/) for [FreeBSD port of libmdbx](https://svnweb.freebsd.org/ports/head/databases/mdbx/). - [장세연](http://www.castis.com) for bug fixing and PR. - [Clément Renault](https://github.com/Kerollmops/heed) for [Heed](https://github.com/Kerollmops/heed) fully typed Rust wrapper. - [Alex Sharov](https://github.com/AskAlexSharov) for bug reporting. - [Noel Kuntze](https://github.com/Thermi) for bug reporting. Removed options and features: ----------------------------- - Drop `MDBX_HUGE_TRANSACTIONS` build-option (now no longer required). New features: ------------- - Package for FreeBSD is available now by Mahlon E. Smith. - New API functions to get/set various options (https://github.com/erthink/libmdbx/issues/128): - the maximum number of named databases for the environment; - the maximum number of threads/reader slots; - threshold (since the last unsteady commit) to force flush the data buffers to disk; - relative period (since the last unsteady commit) to force flush the data buffers to disk; - limit to grow a list of reclaimed/recycled page's numbers for finding a sequence of contiguous pages for large data items; - limit to grow a cache of dirty pages for reuse in the current transaction; - limit of a pre-allocated memory items for dirty pages; - limit of dirty pages for a write transaction; - initial allocation size for dirty pages list of a write transaction; - maximal part of the dirty pages may be spilled when necessary; - minimal part of the dirty pages should be spilled when necessary; - how much of the parent transaction dirty pages will be spilled while start each child transaction; - Unlimited/Dynamic size of retired and dirty page lists (https://github.com/erthink/libmdbx/issues/123). - Added `-p` option (purge subDB before loading) to `mdbx_load` tool. - Reworked spilling of large transaction and committing of nested transactions: - page spilling code reworked to avoid the flaws and bugs inherited from LMDB; - limit for number of dirty pages now is controllable at runtime; - a spilled pages, including overflow/large pages, now can be reused and refunded/compactified in nested transactions; - more effective refunding/compactification especially for the loosed page cache. - Added `MDBX_ENABLE_REFUND` and `MDBX_PNL_ASCENDING` internal/advanced build options. - Added `mdbx_default_pagesize()` function. - Better support architectures with a weak/relaxed memory consistency model (ARM, AARCH64, PPC, MIPS, RISC-V, etc) by means [C11 atomics](https://en.cppreference.com/w/c/atomic). - Speed up page number lists and dirty page lists (https://github.com/erthink/libmdbx/issues/132). - Added `LIBMDBX_NO_EXPORTS_LEGACY_API` build option. Fixes: ------ - Fixed missing cleanup (null assigned) in the C++ commit/abort (https://github.com/erthink/libmdbx/pull/143). - Fixed `mdbx_realloc()` for case of nullptr and `MDBX_AVOID_CRT=ON` for Windows. - Fixed the possibility to use invalid and renewed (closed & re-opened, dropped & re-created) DBI-handles (https://github.com/erthink/libmdbx/issues/146). - Fixed 4-byte aligned access to 64-bit integers, including access to the `bootid` meta-page's field (https://github.com/erthink/libmdbx/issues/153). - Fixed minor/potential memory leak during page flushing and unspilling. - Fixed handling states of cursors's and subDBs's for nested transactions. - Fixed page leak in extra rare case the list of retired pages changed during update GC on transaction commit. - Fixed assertions to avoid false-positive UB detection by CLANG/LLVM (https://github.com/erthink/libmdbx/issues/153). - Fixed `MDBX_TXN_FULL` and regressive `MDBX_KEYEXIST` during large transaction commit with `MDBX_LIFORECLAIM` (https://github.com/erthink/libmdbx/issues/123). - Fixed auto-recovery (`weak->steady` with the same boot-id) when Database size at last weak checkpoint is large than at last steady checkpoint. - Fixed operation on systems with unusual small/large page size, including PowerPC (https://github.com/erthink/libmdbx/issues/157). TODO: ----- - Engage new terminology (https://github.com/erthink/libmdbx/issues/137). - Resolve few TODOs (https://github.com/erthink/libmdbx/issues/124, https://github.com/erthink/libmdbx/issues/127, https://github.com/erthink/libmdbx/issues/115). - Finalize C++ API. - Packages for [ROSA Linux](https://www.rosalinux.ru/), [ALT Linux](https://www.altlinux.org/), Fedora/RHEL, Debian/Ubuntu. Change-Id: I414b8ef2e4b90e04fb344779c0e3f1b4bd1c06be
79 lines
2.1 KiB
Groff
79 lines
2.1 KiB
Groff
.\" Copyright 2015-2021 Leonid Yuriev <leo@yuriev.ru>.
|
|
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
|
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
|
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
|
.TH MDBX_STAT 1 "2021-02-02" "MDBX 0.9.3"
|
|
.SH NAME
|
|
mdbx_stat \- MDBX environment status tool
|
|
.SH SYNOPSIS
|
|
.B mdbx_stat
|
|
[\c
|
|
.BR \-V ]
|
|
[\c
|
|
.BR \-q ]
|
|
[\c
|
|
.BR \-e ]
|
|
[\c
|
|
.BR \-f [ f [ f ]]]
|
|
[\c
|
|
.BR \-r [ r ]]
|
|
[\c
|
|
.BR \-a \ |
|
|
.BI \-s \ subdb\fR]
|
|
.BR \ dbpath
|
|
[\c
|
|
.BR \-n ]
|
|
.SH DESCRIPTION
|
|
The
|
|
.B mdbx_stat
|
|
utility displays the status of an MDBX environment.
|
|
.SH OPTIONS
|
|
.TP
|
|
.BR \-V
|
|
Write the library version number to the standard output, and exit.
|
|
.TP
|
|
.BR \-q
|
|
Be quiet.
|
|
.TP
|
|
.BR \-e
|
|
Display information about the database environment.
|
|
.TP
|
|
.BR \-f
|
|
Display information about the environment freelist.
|
|
If \fB\-ff\fP is given, summarize each freelist entry.
|
|
If \fB\-fff\fP is given, display the full list of page IDs in the freelist.
|
|
.TP
|
|
.BR \-r
|
|
Display information about the environment reader table.
|
|
Shows the process ID, thread ID, and transaction ID for each active
|
|
reader slot. The process ID and transaction ID are in decimal, the
|
|
thread ID is in hexadecimal. The transaction ID is displayed as "-"
|
|
if the reader does not currently have a read transaction open.
|
|
If \fB\-rr\fP is given, check for stale entries in the reader
|
|
table and clear them. The reader table will be printed again
|
|
after the check is performed.
|
|
.TP
|
|
.BR \-a
|
|
Display the status of all of the subdatabases in the environment.
|
|
.TP
|
|
.BR \-s \ subdb
|
|
Display the status of a specific subdatabase.
|
|
.TP
|
|
.BR \-n
|
|
Display the status of an MDBX database which does not use subdirectories.
|
|
This is legacy option. For now MDBX handles this automatically
|
|
for existing databases, but may be required while creating new.
|
|
|
|
.SH DIAGNOSTICS
|
|
Exit status is zero if no errors occur.
|
|
Errors result in a non-zero exit status and
|
|
a diagnostic message being written to standard error.
|
|
.SH "SEE ALSO"
|
|
.BR mdbx_chk (1),
|
|
.BR mdbx_copy (1),
|
|
.BR mdbx_dump (1),
|
|
.BR mdbx_load (1)
|
|
.SH AUTHOR
|
|
Howard Chu of Symas Corporation <http://www.symas.com>,
|
|
Leonid Yuriev <https://github.com/erthink>
|