Running 'MEMORY USAGE' on a list returns a value that is about 1000x higher that the reall memory usage
Comment From: trevor211
Compute list value is wrong because it use the approximate sample value times the total count of all entries in all ziplists which is wrong. To correct it, just use number of quicklistNodes instead.
In function objectComputeSize whick located in file object.c, change:
asize += (double)elesize/samples*listTypeLength(o);
To:
asize += (double)elesize/samples*ql->len;
Comment From: huangzhw
Fixed in https://github.com/redis/redis/pull/4579