跳转至

Vertica Catalog 问题处理技巧

本文档的第一部分介绍了如何管理 Vertica Catalog 的持久副本并将其存在在磁盘上。此信息对于正在排查目录磁盘空间利用率问题的 Vertica 用户很有用。

本文档的第二部分介绍了如何运行和解释 dump_allocator_usage API 的输出。此信息对于正在排查内存目录增长原因的数据库管理员很有用。

1. Vertica Catalog 的副本

Vertica 存放在磁盘上的 Catalog 数据包括 checkpoints 和 transaction log 两部分内容。

1.1 Commit 记录

在 Vertica 中,Commit 与一组名为global, local, system 的版本标记相关联。持久层分配 global commit ID 以确保全局排序。

这些标记存储在 commit 记录中,该记录用作所有持久目录文件中的终止符。

1.2 事务日志

  • 事务日志位于 .../v_xxx_node0001_catalog/Catalog/TxnLogs/ 子目录下。
  • 每个日志都命名为 txn_<id1>_<id2>.cat,其中 id1 是文件中存储的最早事务的提交 ID,id2 是最后的事务提交 ID。
  • 每个事务都存储为序列化对象的序号,由 CommitRecord 终止。后续事务将附加到文件,并更新文件名。
  • 当事务日志变得非常大时,将启动新日志。事务日志的大小由 CatalogCheckpointChunkSizeKB 配置参数控制。

1.3 检查点

Vertica 中的检查点位于 .../v_xxx_node0001_catalog/Catalog/Checkpoints/ 子目录下。

每个检查点都存储在子目录 c<id> 下,其中 id 是检查点中包含的最新事务的提交 ID。

如果目录很大,则检查点将拆分为多个 chkpt_<chunked>.cat 文件。

检查点完成后,将创建一个名为 complete 的文件。此文件包含检查点中的块数。

当新检查点启动时,Vertica 会停止附加到任何现有事务日志,以验证事务日志是否未跨越检查点边界。

Vertica 在每个节点上保留两个完整的检查点。成功写入新检查点后,Vertica 会删除最旧的检查点以及最旧保留检查点的提交 ID 之前的事务日志。

1.4 什么时候使用 Vertica Catalog 副本?

Catalog 仅在数据库启动时读取。启动时,首先读取最新的检查点。如果检查点已损坏或不完整,则读取上一个检查点。

然后,重播 Commit ID 高于已读取检查点的 Commit ID 的事务日志,以使检查点保持最新。损坏的事务日志将导致重播停止。

1.5 哪些配置参数管理持久性 Catalog ?

以下配置参数控制持久性 Catalog 的管理方式。建议不要自行修改以下参数,除非 Vertica 支持工程师建议您这样做。

  • CatalogCheckpointChunkSizeKB:检查点被拆分为大约此大小的文件。如果事务日志文件超过此参数的大小,则启动新的日志文件。默认值为 100MB。
  • CatalogCheckpointPercent:当活动日志文件大小的总和超过此百分比时,将发出新检查点的信号。默认值为 50%。
  • CatalogCheckpointMinLogSizeKB:对于非常小的目录,此参数会阻止检查点,直到事务日志达到给定的大小。默认值为 10MB。

1.6 如何触发写入新的检查点?

当满足写入新检查点的条件时,Vertica 会自动触发写入新检查点。

如果您遇到尝试释放 catalog 的空间的特殊情况,并且您对于 Vertica 已经非常了解,则可以使用以下命令写入两个新检查点。

使用以下命令获取配置参数的当前值:

=> SELECT get_config_parameter ('CatalogCheckpointPercent');

然后使用如下命令修改CatalogCheckpointPercent参数:

=> SELECT set_config_parameter ('CatalogCheckpointPercent', '10');

检查检查点目录中是否有新的检查点和检查点目录中的已完成文件。等待完成的文件写入并删除旧检查点:

=> SELECT hurry_service ('System', 'CatalogCheckpointer');

重复相同步骤写入第二个检查点:

=> SELECT hurry_service ('System', 'CatalogCheckpointer');

写入第二个检查点后,将配置参数恢复为默认值 50:

=> SELECT set_config_parameter ('CatalogCheckpointPercent' , '50');

最后确认配置参数的值是否设置正确:

=> SELECT get_config_parameter ('CatalogCheckpointPercent');

1.7 可以压缩 Checkpoints 和 Txnlogs 目录中的文件吗?

如果您用于存放 Vertica Catalog 的存储磁盘空间不足,并且节点已关闭且无法重新启动,则 Vertica 管理员可以压缩 Checkpoints 和 Txnlogs 目录中的 .cat 文件。

请注意,只有当节点处于 DOWN 状态时才能压缩这些目录中的文件。

请按照以下步骤操作:

进入 Checkpoint 目录:

cd Checkpoints/_c<id1>_
for file in *.cat; do gzip $file; done

进入另一个 Checkpoint 目录:

cd ../_c<id2>_
for file in *.cat; do gzip $file; done

进入 TxnLogs 目录:

cd ../../TxnLogs
for file in *.cat; do gzip $file; done

1.8 可以删除不完整的检查点以回收空间吗?

如果您处于特殊情况并尝试回收 catalog 磁盘空间,则可以删除不完整的检查点 catalog 以回收磁盘空间。Vertica 永远不会使用不完整或损坏的检查点。

如有需要,请向 Vertica 支持寻求帮助。

2. 解决内存目录增长问题

本节介绍在解决与内存目录大小相关的问题时如何使用和解释 dump_allocator_usage API 的输出。

2.1 Dump_allocator_usage API

要查看 Vertica 节点的内存目录的内存使用情况,您可以连接到 Vertica 节点并运行 dump_allocator_usage API。此 API 按块、对象两种类型转储分配器的实时使用情况。

块的大小范围为 2^3 到 2^27。

对象表示 Vertica 中使用的所有对象类型区分的内存使用情况。dump_allocator_usage API 在确定导致目录增长的因素方面非常有用。

select dump_allocator_usage();
 dump_allocator_usage
-----------------------
 Dumped to vertica.log
(1 row)

完整输出示例:

2024-09-02 14:48:03.382 Init Session:0xffff1cddcaa0-a000000000a1a8 [Session] <INFO> [Query] TX:a000000000a1a8(v_vmart_node0001-3931369:0x20ce7) select dump_allocator_usage();
2024-09-02 14:48:03.383 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9183: Freelist log for global:
2024-09-02 14:48:03.383 Init Session:0xffff1cddcaa0-a000000000a1a8 [Main] <INFO> Memory usage in Tiered Free List (global):
Max free list item size 2^27: 134217728
Size       16:     17 on fl;  48176 in use (    771088b)
Size       32:     50 on fl;  52526 in use (   1682432b)
Size       48:     35 on fl;  18476 in use (    888528b)
Size       64:     73 on fl;  24036 in use (   1542976b)
Size       96:     21 on fl;   2928 in use (    283104b)
Size      128:     10 on fl;  14304 in use (   1832192b)
Size      192:     21 on fl;   2183 in use (    423168b)
Size      256:      5 on fl;  14451 in use (   3700736b)
Size      384:      1 on fl;    112 in use (     43392b)
Size      512:     23 on fl;    104 in use (     65024b)
Size      768:      2 on fl;     73 in use (     57600b)
Size     1024:      2 on fl;   1090 in use (   1118208b)
Size     1536:      0 on fl;    146 in use (    224256b)
Size     2048:      0 on fl;     35 in use (     71680b)
Size     3072:      0 on fl;    287 in use (    881664b)
Size     4096:      0 on fl;    105 in use (    430080b)
Size     6144:      2 on fl;    305 in use (   1886208b)
Size     8192:      0 on fl;     84 in use (    688128b)
Size    12288:      2 on fl;     89 in use (   1118208b)
Size    16384:      1 on fl;     13 in use (    229376b)
Size    24576:      1 on fl;     31 in use (    786432b)
Size    32768:     68 on fl;      9 in use (   2523136b)
Size    49152:      1 on fl;     14 in use (    737280b)
Size    65536:      5 on fl;      4 in use (    589824b)
Size    98304:      1 on fl;      0 in use (     98304b)
Size   131072:      7 on fl;      1 in use (   1048576b)
Size   196608:      0 on fl;      4 in use (    786432b)
Size   262144:      0 on fl;      3 in use (    786432b)
Size   524288:      6 on fl;      0 in use (   3145728b)
Size  1048576:      1 on fl;      1 in use (   2097152b)
Total memory accounted for by global Tiered Pool Allocator: 30537344

2024-09-02 14:48:03.383 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9361: Memory usage by type (within pool global)
2024-09-02 14:48:03.383 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       185064 bytes total (2103 used /    2103 peak @    88) for type std::_Rb_tree_node<std::pair<SAL::LRUKey const, SAL::CacheEntry> >
2024-09-02 14:48:03.383 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         2160 bytes total (0 used /      18 peak @   120) for type std::__detail::_Hash_node<std::pair<OPT::ExprKey const, OPT::ExprCounterT<Basics::global_pool_allocator>::ExprCount>, true>
2024-09-02 14:48:03.383 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          720 bytes total (0 used /      18 peak @    40) for type std::__detail::_Hash_node<std::pair<Expr* const, OPT::ExprProperties>, false>
2024-09-02 14:48:03.383 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        12960 bytes total (160 used /     162 peak @    80) for type std::_Sp_counted_ptr_inplace<Mon::LogFBlock, Basics::newpool_alloc<Mon::LogFBlock, Basics::GlobalNewPoolAccessT<Basics::NewPool
2024-09-02 14:48:03.383 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           16 bytes total (2 used /       2 peak @     8) for type Session::TriggerEventHandler*
2024-09-02 14:48:03.383 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          416 bytes total (4 used /       4 peak @   104) for type std::__detail::_Hash_node<std::pair<unsigned long long const, TM::MergeoutRequestIndicator>, false>
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          128 bytes total (0 used /       4 peak @    32) for type std::__detail::_Hash_node<std::pair<std::pair<unsigned long long, long long> const, long long>, false>
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          384 bytes total (8 used /       8 peak @    48) for type std::_Rb_tree_node<std::pair<unsigned short const, SAL::Chunk*> >
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          176 bytes total (0 used /       2 peak @    88) for type std::_Rb_tree_node<std::pair<CAT::Tier::CatalogTier const, std::set<unsigned long long, std::less<unsigned long long>, Basics::
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         1074 bytes total (146 used /    1074 peak @     1) for type char
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       680832 bytes total (4 used /      27 peak @ 25216) for type CAT::TieredCatalog
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       131872 bytes total (1266 used /    1268 peak @   104) for type std::_Rb_tree_node<std::pair<CAT::TieredCatalog::SchemaAndName const, std::map<long long, CAT::CatalogObject*, std::less<long l
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         6000 bytes total (125 used /     125 peak @    48) for type std::_Rb_tree_node<std::pair<unsigned long long const, long long> >
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        17024 bytes total (93 used /     112 peak @   152) for type std::__detail::_Hash_node<std::pair<unsigned long long const, CAT::StorageColumn>, false>
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         1120 bytes total (4 used /       5 peak @   224) for type CAT::StorageContainer
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          576 bytes total (4 used /       6 peak @    96) for type CAT::LocalProjection
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         1520 bytes total (4 used /       5 peak @   304) for type CAT::LogicalStatistics
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          132 bytes total (65 used /      66 peak @     2) for type short
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         8400 bytes total (34 used /      35 peak @   240) for type CAT::Constraint
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         4672 bytes total (1 used /      73 peak @    64) for type std::_Sp_counted_ptr_inplace<Mon::LogMBlock, Basics::newpool_alloc<Mon::LogMBlock, Basics::GlobalNewPoolAccessT<Basics::NewPool
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        12656 bytes total (1582 used /    1582 peak @     8) for type Typemod
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        89904 bytes total (3746 used /    3746 peak @    24) for type CAT::CatFixedStr
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         1224 bytes total (3 used /       3 peak @   408) for type CAT::ClientAuthentication
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          152 bytes total (1 used /       1 peak @   152) for type CAT::ElasticCluster
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          624 bytes total (11 used /      13 peak @    48) for type CAT::TuningRuleParam
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         2592 bytes total (18 used /      18 peak @   144) for type CAT::TuningRule
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         2640 bytes total (9 used /      10 peak @   264) for type CAT::ResourcePool
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          336 bytes total (1 used /       7 peak @    48) for type std::_Rb_tree_node<std::pair<long long const, long long> >
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          304 bytes total (1 used /       2 peak @   152) for type CAT::EpochMap
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         2176 bytes total (8 used /       8 peak @   272) for type CAT::Role
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:      1381888 bytes total (10796 used /   10796 peak @   128) for type CAT::ProjColumn
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       606704 bytes total (10796 used /   10834 peak @    56) for type std::_Rb_tree_node<std::pair<int const, std::pair<unsigned long long, short> > >
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       606704 bytes total (10796 used /   10834 peak @    56) for type std::_Rb_tree_node<std::pair<std::pair<unsigned long long, short> const, int> >
2024-09-02 14:48:03.384 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        25904 bytes total (3236 used /    3238 peak @     8) for type unsigned long long
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       190504 bytes total (47470 used /   47626 peak @     4) for type int
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       125568 bytes total (15645 used /   15696 peak @     8) for type CAT::OidDecorator<CAT::ProjColumn, &(CAT::ProjColumn const* CAT::getCatalogObject<CAT::ProjColumn>(unsigned long long))>
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       507744 bytes total (514 used /     516 peak @   984) for type CAT::Projection
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:      2173144 bytes total (15965 used /   15979 peak @   136) for type CAT::Attribute
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       435896 bytes total (529 used /     529 peak @   824) for type CAT::Table
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        71296 bytes total (1114 used /    1114 peak @    64) for type CAT::Grant
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        19840 bytes total (619 used /     620 peak @    32) for type CAT::ViewRelationInfo
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        42200 bytes total (211 used /     211 peak @   200) for type CAT::View
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          144 bytes total (1 used /       2 peak @    72) for type CAT::LocalNode
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       264112 bytes total (1933 used /    1942 peak @   136) for type std::__detail::_Hash_node<std::pair<unsigned int const, CAT::VersionedOidList>, false>
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         5120 bytes total (63 used /      64 peak @    80) for type std::__detail::_Hash_node<std::pair<CAT::CatNameStr const, std::map<long long, CAT::CatalogObject*, std::less<long long>, Basic
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:      1247904 bytes total (38950 used /   38997 peak @    32) for type std::_List_node<std::pair<unsigned long long, long long> >
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       728880 bytes total (15171 used /   15185 peak @    48) for type std::_Rb_tree_node<std::pair<long long const, CAT::CatalogObject*> >
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:       341400 bytes total (41261 used /   42675 peak @     8) for type std::__detail::_Hash_node_base*
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:      3547392 bytes total (13846 used /   13857 peak @   256) for type std::__detail::_Hash_node<std::pair<unsigned long long const, CAT::TieredCatalog::CatObjIndexEntry>, false>
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         1920 bytes total (0 used /      24 peak @    80) for type std::_Rb_tree_node<std::pair<long long const, CAT::TieredCatalog::TCSnapshotInfo> >
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          288 bytes total (6 used /       6 peak @    48) for type std::_Rb_tree_node<std::pair<unsigned long long const, bool> >
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         7360 bytes total (131 used /     184 peak @    40) for type std::_Rb_tree_node<unsigned long long>
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         1920 bytes total (2 used /       3 peak @   640) for type CAT::User
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         3136 bytes total (32 used /      49 peak @    64) for type CAT::Password
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          192 bytes total (16 used /      24 peak @     8) for type CAT::Password*
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        22464 bytes total (104 used /     104 peak @   216) for type CAT::LicenseAuditRecord
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          456 bytes total (1 used /       1 peak @   456) for type CAT::GlobalSettings
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          376 bytes total (1 used /       1 peak @   376) for type CAT::License
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          184 bytes total (1 used /       1 peak @   184) for type CAT::StorageLocation
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          360 bytes total (1 used /       1 peak @   360) for type CAT::Node
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         8080 bytes total (99 used /     101 peak @    80) for type std::_Rb_tree_node<std::pair<CAT::CatFixedStr const, CAT::CatFixedStr> >
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          216 bytes total (1 used /       3 peak @    72) for type std::_Rb_tree_node<std::pair<boost::dynamic_bitset<unsigned long long, std::allocator<unsigned long long> > const, unsigned int
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          144 bytes total (1 used /       3 peak @    48) for type std::_Rb_tree_node<std::pair<unsigned long long const, unsigned int> >
2024-09-02 14:48:03.385 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          912 bytes total (1 used /       2 peak @   456) for type CAT::Database
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:     10354341 bytes total (5574681 used / 10354341 peak @     1) for type unsigned char
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          568 bytes total (26 used /      71 peak @     8) for type long long
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        14848 bytes total (192 used /     928 peak @    16) for type std::pair<unsigned long long, long long>
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         1856 bytes total (48 used /     232 peak @     8) for type std::pair<unsigned long long, long long>*
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9368: Total global memory usage broken down by type: 23909819
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9183: Freelist log for SAL:
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 [Main] <INFO> Memory usage in Tiered Free List (SAL):
Max free list item size 2^27: 134217728
Size      128:      1 on fl;      0 in use (       128b)
Size      192:      0 on fl;      2 in use (       384b)
Size      256:      1 on fl;      0 in use (       256b)
Size      384:      0 on fl;     45 in use (     17280b)
Size      512:      0 on fl;      1 in use (       512b)
Total memory accounted for by SAL Tiered Pool Allocator: 18560

2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9361: Memory usage by type (within pool SAL)
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          704 bytes total (59 used /      88 peak @     8) for type std::__detail::_Hash_node_base*
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        14760 bytes total (45 used /      45 peak @   328) for type std::__detail::_Hash_node<std::pair<Basics::StorageId const, SAL::StorageEntry>, true>
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          272 bytes total (2 used /       2 peak @   136) for type std::_Rb_tree_node<std::pair<unsigned long long const, SAL::StorageLocationEntry> >
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9368: Total SAL memory usage broken down by type: 15736
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9183: Freelist log for PlanStore:
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 [Main] <INFO> Memory usage in Tiered Free List (PlanStore):
Max free list item size 2^27: 134217728
Size       16:      6 on fl;      4 in use (       160b)
Size       32:     19 on fl;     14 in use (      1056b)
Size       48:      1 on fl;      4 in use (       240b)
Size       64:      3 on fl;      4 in use (       448b)
Size      128:      7 on fl;      5 in use (      1536b)
Size      384:      6 on fl;      5 in use (      4224b)
Total memory accounted for by PlanStore Tiered Pool Allocator: 7664

2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9361: Memory usage by type (within pool PlanStore)
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           64 bytes total (0 used /       8 peak @     8) for type OPT::StoredQuery*
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           48 bytes total (0 used /       1 peak @    48) for type std::_Rb_tree_node<std::pair<int const, Const*> >
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           64 bytes total (2 used /       2 peak @    32) for type std::__detail::_Hash_node<std::pair<OPT::StoredQuery* const, OPT::opslist<OPT::ParsedQueryPair*>*>, true>
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           96 bytes total (4 used /       4 peak @    24) for type std::_List_node<OPT::ParsedQueryPair*>
2024-09-02 14:48:03.386 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          192 bytes total (4 used /       4 peak @    48) for type std::_Rb_tree_node<std::pair<unsigned long long const, OPT::ParsedQueryPair*> >
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          128 bytes total (4 used /       4 peak @    32) for type OPT::ParsedQueryPair
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         3600 bytes total (4 used /      10 peak @   360) for type OPT::StoredQuery
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         1248 bytes total (65 used /     156 peak @     8) for type std::__detail::_Hash_node_base*
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          480 bytes total (4 used /      20 peak @    24) for type std::__detail::_Hash_node<std::pair<int const, long long>, false>
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          448 bytes total (4 used /       7 peak @    64) for type std::_Rb_tree_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          160 bytes total (4 used /      20 peak @     8) for type Node*
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          280 bytes total (1 used /       1 peak @   280) for type OPT::PlanStore
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9368: Total PlanStore memory usage broken down by type: 6808
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9183: Freelist log for EEGlobal:
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 [Main] <INFO> Memory usage in Tiered Free List (EEGlobal):
Max free list item size 2^27: 134217728
Size       16:      0 on fl;      6 in use (        96b)
Size       32:      1 on fl;      4 in use (       160b)
Size       96:      0 on fl;      4 in use (       384b)
Size      384:      0 on fl;      8 in use (      3072b)
Size      768:      1 on fl;      0 in use (       768b)
Size     6144:      1 on fl;      0 in use (      6144b)
Total memory accounted for by EEGlobal Tiered Pool Allocator: 10624

2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9361: Memory usage by type (within pool EEGlobal)
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         4344 bytes total (0 used /       1 peak @  4344) for type EE::EE5UDFSFileRemoveTask
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         4368 bytes total (0 used /       1 peak @  4368) for type EE::EE5UDFSFileReadTask
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           16 bytes total (2 used /       2 peak @     8) for type EE::EE5TaskQueueItem*
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           24 bytes total (0 used /       1 peak @    24) for type EE::EE5TaskQueueItem
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         4376 bytes total (0 used /       1 peak @  4376) for type EE::EE5UDFSFileCreateTask
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          744 bytes total (0 used /       1 peak @   744) for type EE::EE5GetResultsTask
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          128 bytes total (8 used /       8 peak @    16) for type std::shared_ptr<Session::ThreadHandle>
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          320 bytes total (4 used /       4 peak @    80) for type EE::EE5TaskQueues
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         2112 bytes total (8 used /       8 peak @   264) for type EE::EE5TaskQueue
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           64 bytes total (8 used /       8 peak @     8) for type EE::EE5TaskQueue*
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           32 bytes total (4 used /       4 peak @     8) for type unsigned long volatile*
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          128 bytes total (16 used /      16 peak @     8) for type unsigned long
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9368: Total EEGlobal memory usage broken down by type: 16656
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9183: Freelist log for TS:
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 [Main] <INFO> Memory usage in Tiered Free List (TS):
Max free list item size 2^27: 134217728
Size       96:      4 on fl;      2 in use (       576b)
Size      128:      0 on fl;      1 in use (       128b)
Total memory accounted for by TS Tiered Pool Allocator: 704

2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9361: Memory usage by type (within pool TS)
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          384 bytes total (0 used /       4 peak @    96) for type std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx1
2024-09-02 14:48:03.387 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          104 bytes total (13 used /      13 peak @     8) for type std::__detail::_Hash_node_base*
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          160 bytes total (2 used /       2 peak @    80) for type std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std:
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9368: Total TS memory usage broken down by type: 648
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9183: Freelist log for DistCalls:
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Main] <INFO> Memory usage in Tiered Free List (DistCalls):
Max free list item size 2^27: 134217728
Size       48:      1 on fl;      0 in use (        48b)
Size       64:      3 on fl;      1 in use (       256b)
Size      512:      2 on fl;      1 in use (      1536b)
Size      768:      2 on fl;      1 in use (      2304b)
Size    12288:      2 on fl;      0 in use (     24576b)
Total memory accounted for by DistCalls Tiered Pool Allocator: 28720

2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9361: Memory usage by type (within pool DistCalls)
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           40 bytes total (0 used /       1 peak @    40) for type std::_Rb_tree_node<unsigned long long>
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:           64 bytes total (0 used /       1 peak @    64) for type Dist::CommitTransactionMessage::PreambleData
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         8272 bytes total (0 used /       1 peak @  8272) for type Dist::DiCaSessionResponse
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:        16704 bytes total (0 used /       2 peak @  8352) for type Dist::DiCaSessionRequest
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         1536 bytes total (64 used /     192 peak @     8) for type Dist::DiCaSessionRequest*
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          192 bytes total (8 used /      24 peak @     8) for type Dist::DiCaSessionRequest**
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         2112 bytes total (1 used /       3 peak @   704) for type std::_Rb_tree_node<std::pair<Session::SessionID const, Dist::DCSession> >
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9368: Total DistCalls memory usage broken down by type: 28920
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9183: Freelist log for TM:
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Main] <INFO> Memory usage in Tiered Free List (TM):
Max free list item size 2^27: 134217728
Size       96:      1 on fl;      0 in use (        96b)
Size      128:      3 on fl;      0 in use (       384b)
Size      192:      1 on fl;      0 in use (       192b)
Size      384:      1 on fl;      0 in use (       384b)
Size      768:      1 on fl;      0 in use (       768b)
Size     1536:      0 on fl;      1 in use (      1536b)
Total memory accounted for by TM Tiered Pool Allocator: 3360

2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9361: Memory usage by type (within pool TM)
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:         2304 bytes total (16 used /      24 peak @    96) for type TM::MergeoutRequest
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:          336 bytes total (0 used /       3 peak @   112) for type std::_List_node<TM::MergeoutRequest>
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9368: Total TM memory usage broken down by type: 2640
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9183: Freelist log for Basics:
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Main] <INFO> Memory usage in Tiered Free List (Basics):
Max free list item size 2^27: 134217728
Size 50331648:      1 on fl;      0 in use (  50331648b)
Total memory accounted for by Basics Tiered Pool Allocator: 50331648

2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9361: Memory usage by type (within pool Basics)
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9250:     35127568 bytes total (0 used /       1 peak @ 35127568) for type std::_Sp_counted_ptr_inplace<Basics::TraceProfileData, Basics::newpool_alloc<Basics::TraceProfileData, Basics::GlobalNewPoolAcc
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 <LOG> @v_vmart_node0001: 00000/9368: Total Basics memory usage broken down by type: 35127568
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO> Global pool memory usage: NewPool(0x81f3840) 'GlobalPool': totalSize 31457280 (919808 unused/915184 last chunk unused) totalChunks 4; capacity 31457280, unbalanced 0, balanced 179588, user alloc 18489205, overhead 0, padding 3073931, reusable 8974208
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO> SAL global pool memory usage: NewPool(0x82c0138) 'SALGlobalPool': totalSize 2097152 (2078560 unused/2078560 last chunk unused) totalChunks 1; capacity 2097152, unbalanced 0, balanced 48, user alloc 15504, overhead 0, padding 2672, reusable 384
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO> PlanStore pool memory usage: NewPool(0x82799c0) 'PlanStorePool': totalSize 2097152 (2089456 unused/2089456 last chunk unused) totalChunks 1; capacity 2097152, unbalanced 0, balanced 36, user alloc 3104, overhead 0, padding 416, reusable 4144
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO> EEGlobal pool memory usage: NewPool(0x8226608) 'EEGlobalPool': totalSize 2097152 (2086000 unused/2086000 last chunk unused) totalChunks 1; capacity 2097152, unbalanced 7, balanced 22, user alloc 2800, overhead 336, padding 1040, reusable 6944
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO> DistCalls global pool memory usage: NewPool(0x8239cd8) 'DistCallsPool': totalSize 2097152 (2068400 unused/2068400 last chunk unused) totalChunks 1; capacity 2097152, unbalanced 0, balanced 3, user alloc 1280, overhead 0, padding 64, reusable 27376
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO> Basics pool memory usage: NewPool(0x8400028) 'BasicsPool': totalSize 52428800 (2097088 unused/2097088 last chunk unused) totalChunks 2; capacity 52428800, unbalanced 0, balanced 0, user alloc 0, overhead 0, padding 0, reusable 50331648
2024-09-02 14:48:03.388 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO> PlanStorageUsage: NewPool(0x82799c0) 'PlanStorePool': totalSize 2097152 (2089456 unused/2089456 last chunk unused) totalChunks 1; capacity 2097152, unbalanced 0, balanced 36, user alloc 3104, overhead 0, padding 416, reusable 4144. PGContext combined memory usage: totalSize 16384 (12904 unused) numPools 2
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO> Available pooled mmap allocations:
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size            1 (1 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size            2 (2 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size            4 (4 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size            8 (8 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size           16 (16 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size           32 (32 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size           64 (64 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size          128 (128 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size          256 (256 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size          512 (512 ) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size         1024 (1 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size         2048 (2 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size         4096 (4 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size         8192 (8 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size        16384 (16 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size        32768 (32 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size        65536 (64 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size       131072 (128 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         4:       2 available and       2 in use of size       262144 (256 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         5:       4 available and       1 in use of size       524288 (512 KiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         2:       1 available and       1 in use of size      1048576 (1 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>        21:      12 available and       9 in use of size      2097152 (2 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         5:       3 available and       2 in use of size      4194304 (4 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         4:       2 available and       2 in use of size      8388608 (8 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         2:       0 available and       2 in use of size     16777216 (16 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         1:       1 available and       0 in use of size     33554432 (32 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>        11:       2 available and       9 in use of size     67108864 (64 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         1:       1 available and       0 in use of size    134217728 (128 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size    268435456 (256 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size    536870912 (512 MiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size   1073741824 (1 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size   2147483648 (2 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size   4294967296 (4 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size   8589934592 (8 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size  17179869184 (16 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size  34359738368 (32 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size  68719476736 (64 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 137438953472 (128 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 274877906944 (256 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 549755813888 (512 GiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 1099511627776 (1 TiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 2199023255552 (2 TiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 4398046511104 (4 TiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 8796093022208 (8 TiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 17592186044416 (16 TiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 35184372088832 (32 TiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         0:       0 available and       0 in use of size 70368744177664 (64 TiB) (0 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO>         1:       0 available and       1 in use of size        16384 (16 KiB) (3112 bytes in the available)
2024-09-02 14:48:03.389 Init Session:0xffff1cddcaa0-a000000000a1a8 [Init] <INFO> Tracked: 56 (check: 57), available: 28 (3112 bytes resident), in use: 29

2.2 基于块的分配器(空闲列表)

此分配器用于 Vertica 目录中的 global 和 SAL 池。

对于 global 池,分配器用于存储最小值和最大值以及其他与统计相关的信息。

对于 SAL 池,分配器用于存储 WOS 数据结构。dump_allocator_usage 的输出打印正在使用的基于大小的块数、空闲列表和内存字节数。日志如下所示,其中 3351 个大小为 2^6 的块正在使用中,433 个在空闲列表中:

Size 2^6: 433 on free list; 3351 still in use (242176 bytes)

2.3 基于对象类型的分配器(类型化池分配器)

此分配器用于存储 catalog 对象和 Vertica 为访问目录而创建的内部索引。

dump_allocator_usage 的输出打印正在使用的每种类型的对象数、空闲列表中的对象数、存储每个对象所需的内存以及分配的总内存(以字节为单位)。

目录对象类型以 N3Cat<id>ObjectTypeE 开头。

不以 N3Cat 开头的对象是内部类型,例如索引。

字节数是通过将对象数乘以存储每个对象所需的内存来计算的。日志如下所示:

80960 bytes total (2 used / 438 free @ 184) for type N3CAT7MiniRosE
20832 bytes total (0 used / 434 free @ 48) for type St13_rb_tree_nodeI

2.4 如何释放目录内存?

Vertica 中的 Catalog 对象通常都是小文件且保存时间长;如果没有一个分配器来管理这些对象,则存在很大的内存碎片风险。

目录分配器在分配内存后永远不会归还内存,而是维护一个空闲列表。

只有在重新启动节点或数据库时才能回收空闲列表中的内存。

2.5 影响内存目录的配置参数

以下配置参数控制 Vertica 为分层 Catalog 池分配的最大块大小:

  • MaxTieredPoolScale:如果内存分配规模大于此参数值,Vertica 将使用 malloc 而不是 talloc。

2.6 Vertica 资源池是否跟踪内存目录使用的内存?

Vertica 8.0.1 引入了一个名为 metadata 的只读资源池,可自动跟踪内存 catalog 使用的内存。

系统表resource_pool_status可用于跟踪每个节点的内存目录大小。

扩展阅读