Skip to content

Commit

Permalink
update info field to maxmemory_reserved
Browse files Browse the repository at this point in the history
Signed-off-by: hwware <[email protected]>
  • Loading branch information
hwware committed Feb 6, 2025
1 parent c47ad51 commit 188f215
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 19 deletions.
8 changes: 4 additions & 4 deletions src/server.c
Original file line number Diff line number Diff line change
Expand Up @@ -5728,7 +5728,7 @@ sds genValkeyInfoString(dict *section_dict, int all_sections, int everything) {
char used_memory_scripts_hmem[64];
char used_memory_rss_hmem[64];
char maxmemory_hmem[64];
char key_eviction_memory_hmem[64];
char maxmemory_reserved_hmem[64];
size_t zmalloc_used = zmalloc_used_memory();
size_t total_system_mem = server.system_memory_size;
const char *evict_policy = evictPolicyToString();
Expand All @@ -5750,7 +5750,7 @@ sds genValkeyInfoString(dict *section_dict, int all_sections, int everything) {
bytesToHuman(used_memory_scripts_hmem, sizeof(used_memory_scripts_hmem), mh->lua_caches + mh->functions_caches);
bytesToHuman(used_memory_rss_hmem, sizeof(used_memory_rss_hmem), server.cron_malloc_stats.process_rss);
bytesToHuman(maxmemory_hmem, sizeof(maxmemory_hmem), server.maxmemory);
bytesToHuman(key_eviction_memory_hmem, sizeof(key_eviction_memory_hmem), server.key_eviction_memory);
bytesToHuman(maxmemory_reserved_hmem, sizeof(maxmemory_reserved_hmem), server.maxmemory_reserved);

if (sections++) info = sdscat(info, "\r\n");
info = sdscatprintf(
Expand Down Expand Up @@ -5789,8 +5789,8 @@ sds genValkeyInfoString(dict *section_dict, int all_sections, int everything) {
"maxmemory:%lld\r\n", server.maxmemory,
"maxmemory_human:%s\r\n", maxmemory_hmem,
"maxmemory_policy:%s\r\n", evict_policy,
"key_eviction_memory:%lld\r\n", server.key_eviction_memory,
"key_eviction_memory_human:%s\r\n", key_eviction_memory_hmem,
"maxmemory_reserved:%lld\r\n", server.maxmemory_reserved,
"maxmemory_reserved_human:%s\r\n", maxmemory_reserved_hmem,
"allocator_frag_ratio:%.2f\r\n", mh->allocator_frag,
"allocator_frag_bytes:%zu\r\n", mh->allocator_frag_bytes,
"allocator_rss_ratio:%.2f\r\n", mh->allocator_rss,
Expand Down
26 changes: 11 additions & 15 deletions tests/unit/maxmemory.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,6 @@ start_server {tags {"maxmemory external:skip"}} {
r setex [randomKey] 10000 x
}
assert {[s used_memory] < ($limit+4096)}
r flushall
}
}

Expand Down Expand Up @@ -217,7 +216,6 @@ start_server {tags {"maxmemory external:skip"}} {
} else {
assert {$err == 1}
}
r flushall
}
}

Expand Down Expand Up @@ -263,30 +261,28 @@ start_server {tags {"maxmemory external:skip"}} {
for {set j 0} {$j < $numkeys} {incr j 2} {
assert {[r exists "key:$j"]}
}
r flushall
}
}

test "enable maxmemory-reserved, available memory could change with maxmemory update" {
test "enable maxmemory-reserved, test maxmemory-reserved with maxmemory update" {
# make sure to start with a blank instance
r flushall
# we set maxmemory as 0, and we expect maxmemory-reserved as 0 too.
r config set maxmemory 0
assert_equal 0 [lindex [r config get maxmemory] 1]
assert_equal 0 [lindex [r config get maxmemory-reserved] 1]
# we increase maxmemory, and we expect more memory available (key_eviction_memory field value increases too).
# we increase maxmemory and maxmemory-reserved both
r config set maxmemory 10000000
assert_equal 0 [lindex [r config get maxmemory-reserved] 1]
set info_memory [r info memory]
assert_equal [getInfoProperty $info_memory key_eviction_memory] 10000000
# we set maxmemory-reserved as non-zero value first
r config set maxmemory-reserved 4000000
set info_memory [r info memory]
assert_equal [getInfoProperty $info_memory key_eviction_memory] 6000000
# we decrease maxmemory, and we expect less memory available (key_eviction_memory field value decreases too).
r config set maxmemory 8000000
set info_memory [r info memory]
assert_equal [getInfoProperty $info_memory key_eviction_memory] 4000000
assert_equal 10000000 [lindex [r config get maxmemory] 1]
assert_equal 4000000 [lindex [r config get maxmemory-reserved] 1]
# we decrease maxmemory and maxmemory-reserved no change
r config set maxmemory 6000000
r config set maxmemory-reserved 4000000
assert_equal 6000000 [lindex [r config get maxmemory] 1]
assert_equal 4000000 [lindex [r config get maxmemory-reserved] 1]
catch {r config set maxmemory 3000000} err
assert_match "*maxmemory reserved value should be smaller than maxmemory*" $err
}

foreach policy {
Expand Down

0 comments on commit 188f215

Please sign in to comment.