mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 00:28:26 -05:00
better swapout policy while loading RDB file
This commit is contained in:
parent
356f923913
commit
7e02fe32d3
7
redis.c
7
redis.c
@ -4120,6 +4120,7 @@ static int rdbLoad(char *filename) {
|
||||
}
|
||||
while(1) {
|
||||
robj *key, *val;
|
||||
int force_swapout;
|
||||
|
||||
expiretime = -1;
|
||||
/* Read type. */
|
||||
@ -4184,9 +4185,13 @@ static int rdbLoad(char *filename) {
|
||||
continue;
|
||||
}
|
||||
|
||||
force_swapout = 0;
|
||||
if ((zmalloc_used_memory() - server.vm_max_memory) > 1024*1024*32)
|
||||
force_swapout = 1;
|
||||
|
||||
/* If we have still some hope of having some value fitting memory
|
||||
* then we try random sampling. */
|
||||
if (!swap_all_values && server.vm_enabled && (loadedkeys % 5000) == 0) {
|
||||
if (!swap_all_values && server.vm_enabled && force_swapout) {
|
||||
while (zmalloc_used_memory() > server.vm_max_memory) {
|
||||
if (vmSwapOneObjectBlocking() == REDIS_ERR) break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user