Hi,
My proxmox have 47G Mem with 30G swap. It is using a local ZFS pool.
After a time, the buff/cache of the node totally use all the free memory (unused by current VM) and makes impossible to start a new VM or run a backup. From what I understood, backup is the same as starting a VM.
The VM start fail with: failed to initialize KVM: Cannot allocate memory
> free -h
total used free shared buff/cache available
Mem: 47G 33G 441M 63M 13G 13G
Swap: 30G 1.6G 29G
To run again a VM, I need to force drop cache with the command:
>sync; echo 3 > /proc/sys/vm/drop_caches
Here is the result:
>free -h
total used free shared buff/cache available
Mem: 47G 33G 13G 63M 205M 13G
Swap: 30G 1.6G 29G
What I do not understand is why I have to manually force to drop the cache ? do the kernel cannot itself clear the cache to let KVM allocate new mem ?
My proxmox have 47G Mem with 30G swap. It is using a local ZFS pool.
After a time, the buff/cache of the node totally use all the free memory (unused by current VM) and makes impossible to start a new VM or run a backup. From what I understood, backup is the same as starting a VM.
The VM start fail with: failed to initialize KVM: Cannot allocate memory
> free -h
total used free shared buff/cache available
Mem: 47G 33G 441M 63M 13G 13G
Swap: 30G 1.6G 29G
To run again a VM, I need to force drop cache with the command:
>sync; echo 3 > /proc/sys/vm/drop_caches
Here is the result:
>free -h
total used free shared buff/cache available
Mem: 47G 33G 13G 63M 205M 13G
Swap: 30G 1.6G 29G
What I do not understand is why I have to manually force to drop the cache ? do the kernel cannot itself clear the cache to let KVM allocate new mem ?