aitor
09/10/2026, 1:54 PMLei
09/10/2026, 2:08 PMcurl -s <HOST-IP>:4000/metrics | grep greptime_mito_cache_bytes to check the cached data set size.
If you notice steadily increasing memory usage or an OOM incident, please follow this doc to collect a memory profile (*.hprof). This will help us identify the memory issue, though such issues are rare.aitor
09/10/2026, 2:09 PMaitor
09/10/2026, 2:09 PMaitor
09/10/2026, 2:10 PMaitor
09/10/2026, 2:10 PMaitor
09/10/2026, 2:10 PMLei
09/10/2026, 2:11 PMcurl -s 0:4000/metrics | grep greptime_mito_cache_bytes
to get the resident cache sizeaitor
09/10/2026, 2:15 PMaitor
09/10/2026, 2:16 PMLei
09/10/2026, 2:17 PMcurl -s localhost:4000/metrics | grep greptime_mito_write_buffer_bytesaitor
09/10/2026, 2:18 PMaitor
09/10/2026, 2:20 PMLei
09/10/2026, 2:21 PMaitor
09/10/2026, 2:28 PMaitor
09/10/2026, 2:28 PMaitor
09/10/2026, 2:28 PMLei
09/10/2026, 2:32 PMaitor
09/10/2026, 2:33 PMaitor
09/10/2026, 2:33 PMLei
09/10/2026, 2:35 PMcurl -s localhost:4000/configaitor
09/10/2026, 2:35 PMaitor
09/10/2026, 2:35 PMaitor
09/10/2026, 2:36 PMLei
09/10/2026, 2:42 PMglobal_write_buffer_size = "512MB"
⢠page_cache_size = "512MB"
And let greptime figure out itself.
the problem here I think is that greptime sees the total ram of the task which is 8Gb instead of the real 7Gb that it has assigned to that particular container, or 3/4 in the case of 4GbStart with explicit memory limit by
docker run -m 4g greptime/greptimedb standalone start and check the memory usage.
For docker compose it would be:
services:
greptimedb:
image: greptime/greptimedb
mem_limit: 4g
command: standalone startaitor
09/10/2026, 2:42 PMaitor
09/10/2026, 2:42 PMLei
09/10/2026, 2:47 PM[[region_engine]]
[region_engine.mito]
global_write_buffer_size = "256MB"
global_write_buffer_reject_size = "512MB"
page_cache_size = "256MB"
sst_meta_cache_size = "128MB"
selector_result_cache_size = "128MB"
range_result_cache_size = "128MB"
vector_cache_size = "64MB"
prefilter_result_cache_size = "64MB"
manifest_cache_size = "128MB"
[region_engine.mito.index]
result_cache_size = "64MB"
content_cache_size = "64MB"
metadata_cache_size = "32MB"Philip Schwartz
09/10/2026, 2:58 PMaitor
09/10/2026, 2:58 PMPhilip Schwartz
09/10/2026, 3:05 PMgreptime_physical_table so it would auto add partitions to any generated tables from dynamic metrics ingestion.
I have my datanodes set to 8c/32g and run 12 pods to 6 pods of frontend in my current PoC test.
Yesterday this is what I was able to do with my volume of data after finding that it was hot tables and partitioning.
First image is current state, in 24 hours we ingested at an average of 61.4k rows/s for a total of 417Gb of data across 8.35B rows.
Second image shows my datanode resources over the 24 hours.
You can see when we had much more data coming in due to the ram and cpu usage. But with the partitions, it handled it like a champ with a ton of room to grow. (avg under 7Gb of ram used across each data node)aitor
09/10/2026, 4:30 PMaitor
09/10/2026, 4:30 PMPhilip Schwartz
09/10/2026, 4:51 PMPhilip Schwartz
09/10/2026, 4:51 PMPhilip Schwartz
09/10/2026, 4:53 PMPhilip Schwartz
09/10/2026, 4:53 PM