Commit 647a2614 authored by Matt Stancliff's avatar Matt Stancliff Committed by antirez
Browse files

Force INFO used_memory_peak to match peak memory

used_memory_peak only updates in serverCron every server.hz,
but Redis can use more memory and a user can request memory
INFO before used_memory_peak gets updated in the next
cron run.

This patch updates used_memory_peak to the current
memory usage if the current memory usage is higher
than the recorded used_memory_peak value.

(And it only calls zmalloc_used_memory() once instead of
twice as it was doing before.)
parent 9c66cd91
...@@ -2296,8 +2296,13 @@ sds genRedisInfoString(char *section) { ...@@ -2296,8 +2296,13 @@ sds genRedisInfoString(char *section) {
if (allsections || defsections || !strcasecmp(section,"memory")) { if (allsections || defsections || !strcasecmp(section,"memory")) {
char hmem[64]; char hmem[64];
char peak_hmem[64]; char peak_hmem[64];
size_t zmalloc_used = zmalloc_used_memory();
bytesToHuman(hmem,zmalloc_used_memory()); if (zmalloc_used > server.stat_peak_memory) {
server.stat_peak_memory = zmalloc_used;
}
bytesToHuman(hmem,zmalloc_used);
bytesToHuman(peak_hmem,server.stat_peak_memory); bytesToHuman(peak_hmem,server.stat_peak_memory);
if (sections++) info = sdscat(info,"\r\n"); if (sections++) info = sdscat(info,"\r\n");
info = sdscatprintf(info, info = sdscatprintf(info,
...@@ -2310,7 +2315,7 @@ sds genRedisInfoString(char *section) { ...@@ -2310,7 +2315,7 @@ sds genRedisInfoString(char *section) {
"used_memory_lua:%lld\r\n" "used_memory_lua:%lld\r\n"
"mem_fragmentation_ratio:%.2f\r\n" "mem_fragmentation_ratio:%.2f\r\n"
"mem_allocator:%s\r\n", "mem_allocator:%s\r\n",
zmalloc_used_memory(), zmalloc_used,
hmem, hmem,
zmalloc_get_rss(), zmalloc_get_rss(),
server.stat_peak_memory, server.stat_peak_memory,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment