Do you have native persistence enabled? On Mon, Sep 19, 2022 at 11:57 AM 38797715 <[email protected]> wrote:
> 2.10 and 2.13, the same result. > 在 2022/9/19 16:54, Alexander Polovtcev 写道: > > Which version of Ignite do you use? > > On Mon, Sep 19, 2022 at 11:38 AM 38797715 <[email protected]> wrote: > >> for example: >> >> start a node by ignite.sh. >> >> then: >> >> CREATE TABLE City ( >> ID INT, >> Name VARCHAR, >> CountryCode CHAR(3), >> District VARCHAR, >> Population INT, >> PRIMARY KEY (ID, CountryCode) >> ) WITH "template=partitioned, backups=1, affinityKey=CountryCode, >> CACHE_NAME=City, KEY_TYPE=demo.model.CityKey, VALUE_TYPE=demo.model.City"; >> >> >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (1,'Kabul','AFG','Kabol',1780000); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (2,'Qandahar','AFG','Qandahar',237500); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (3,'Herat','AFG','Herat',186800); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (4,'Mazar-e-Sharif','AFG','Balkh',127800); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (5,'Amsterdam','NLD','Noord-Holland',731200); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (6,'Rotterdam','NLD','Zuid-Holland',593321); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (7,'Haag','NLD','Zuid-Holland',440900); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (8,'Utrecht','NLD','Utrecht',234323); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (9,'Eindhoven','NLD','Noord-Brabant',201843); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (10,'Tilburg','NLD','Noord-Brabant',193238); >> INSERT INTO City(ID, Name, CountryCode, District, Population) VALUES >> (11,'Groningen','NLD','Groningen',172701); >> >> SELECT * FROM sys.metrics WHERE name LIKE 'io.dataregion.default%'; >> >> io.dataregion.default.OffHeapSize 104857600 >> io.dataregion.default.PhysicalMemoryPages 2066 >> io.dataregion.default.EmptyDataPages 0 >> io.dataregion.default.UsedCheckpointBufferSize 0 >> io.dataregion.default.TotalThrottlingTime 0 >> io.dataregion.default.PagesReplaced 0 >> io.dataregion.default.EvictionRate 0 >> io.dataregion.default.InitialSize 104857600 >> io.dataregion.default.DirtyPages 0 >> io.dataregion.default.MaxSize 8589934592 >> io.dataregion.default.PagesWritten 0 >> io.dataregion.default.PagesReplaceRate 0 >> io.dataregion.default.PagesRead 0 >> io.dataregion.default.PagesFillFactor 0.9997031688690186 >> io.dataregion.default.TotalAllocatedPages 2066 >> io.dataregion.default.PhysicalMemorySize 8511920 >> io.dataregion.default.PagesReplaceAge 0 >> io.dataregion.default.AllocationRate 2066 >> io.dataregion.default.OffheapUsedSize 8511920 >> io.dataregion.default.LargeEntriesPagesCount 0 >> io.dataregion.default.TotalAllocatedSize 8511920 >> io.dataregion.default.CheckpointBufferSize 0 >> >> TotalUsedSize - (TotalAllocatedSize - PagesFillFactor * >> TotalAllocatedSize) >> >> = 8511920 - (8511920 - 0.9997031688690186 * 8511920) = 8509392 >> >> >> delete from city; >> >> SELECT * FROM sys.metrics WHERE name LIKE 'io.dataregion.default%'; >> >> io.dataregion.default.OffHeapSize 104857600 >> io.dataregion.default.PhysicalMemoryPages 2075 >> io.dataregion.default.EmptyDataPages 0 >> io.dataregion.default.UsedCheckpointBufferSize 0 >> io.dataregion.default.TotalThrottlingTime 0 >> io.dataregion.default.PagesReplaced 0 >> io.dataregion.default.EvictionRate 0 >> io.dataregion.default.InitialSize 104857600 >> io.dataregion.default.DirtyPages 0 >> io.dataregion.default.MaxSize 8589934592 >> io.dataregion.default.PagesWritten 0 >> io.dataregion.default.PagesReplaceRate 0 >> io.dataregion.default.PagesRead 0 >> io.dataregion.default.PagesFillFactor 1.0 >> io.dataregion.default.TotalAllocatedPages 2075 >> io.dataregion.default.PhysicalMemorySize 8549000 >> io.dataregion.default.PagesReplaceAge 0 >> io.dataregion.default.AllocationRate 9 >> io.dataregion.default.OffheapUsedSize 8549000 >> io.dataregion.default.LargeEntriesPagesCount 0 >> io.dataregion.default.TotalAllocatedSize 8549000 >> io.dataregion.default.CheckpointBufferSize 0 >> >> >> TotalUsedSize - (TotalAllocatedSize - PagesFillFactor * >> TotalAllocatedSize) >> >> =8549000 - (8549000 - 1.0 * 8549000) = 8549000 >> >> Instead, the value becomes larger? >> >> >> 在 2022/9/19 15:13, Alexander Polovtcev 写道: >> >> Sorry, I messed up the metric names a little bit, we should use the size >> metrics, not the page metrics. So the correct formula would be: >> `TotalUsedSize - (TotalAllocatedSize - PagesFillFactor * >> TotalAllocatedSize)` >> >> On Sun, Sep 18, 2022 at 4:29 PM 38797715 <[email protected]> wrote: >> >>> I've checked TotalUsedPages in ignite.dataRegionMetrics(), it is found >>> that the logic of this metric is consistent with OffheapUsedSize, that is, >>> the value will not be updated after data deletion. >>> 在 2022/9/18 19:42, Alexander Polovtcev 写道: >>> >>> Hello, you can check out "TotalUsedPages" and "TotalUsedSize" metrics >>> that can be found in the Data Region metrics. However, please keep in mind >>> that this does not take page fragmentation into account. >>> >>> On Sat, Sep 17, 2022 at 2:35 PM 38797715 <[email protected]> wrote: >>> >>>> Hi team, >>>> >>>> We found that if the delete operation is executed, the memory space >>>> corresponding to the data will not be released, and this space will be >>>> reused later. >>>> >>>> Therefore, metrics such as OffheapUsedSize will become inaccurate. >>>> >>>> So, how to calculate the exact amount of memory occupied by data in a >>>> cache or a dataregion? >>>> >>> >>> >>> -- >>> With regards, >>> Aleksandr Polovtcev >>> >>> >> >> -- >> With regards, >> Aleksandr Polovtcev >> >> > > -- > With regards, > Aleksandr Polovtcev > > -- With regards, Aleksandr Polovtcev
