Hi,
I'm new to proxmox and currently I have 1 windows 10 vm which I'm using for testing.
When I run a hdd benchmark using crystaldiskmark or ATTO in the windows 10 vm and monitor ram usage on the host with htop I can see ram completely filling up during the write tests.
Because there isn't enough ram available, processes are being killed to free memory.
This makes the pc completely hang and I have to use the physical power button to reset it.
When the host is back up, I can see messages about out of memory in the syslog.
I first thought this was because of zfs caching the writes, but if I understood correctly this shouldn't be the problem because only 22GB should be used and 10GB should still be free. (2GB for proxmox itself + 4GB for the vm + 16GB (by default half the total amount of ram) for ZFS)
So I tried to limit ZFS down to 8GB ram to see if it would make a difference, but the problem still happens.
Then I tried to add a swap zvol to see if this would help, but the host crashes before swap is being used.
The only way I have found to prevent this problem is to use "write back" as the hard disk cache option.
If I run the benchmark again with "write back", I can see that an additional ± 1GB of ram is used.
So in total about 7GB ram is occupied. (2GB for proxmox itself + 4GB for the vm + 1GB write cache?)
I have read https://pve.proxmox.com/wiki/Performance_Tweaks but I still don't fully understand the differences between all the options.
Also write back (unsafe) is missing on that page so I don't know what the difference between "write back" and "write back (unsafe)" is.
After some googling I found that using the "write back" option is not recommended in my situation because I don't have multiple powersupply's, a ups, raid card with battery backed cache, etc.
Can someone tell me:
1) Why using "default (no cache)" completely fills up all ram?
2) What I can do so I can use "Default (no cache)" as the disk cache option?
3) If I configured something wrong or forgot to configure something?
I'm new to proxmox and currently I have 1 windows 10 vm which I'm using for testing.
When I run a hdd benchmark using crystaldiskmark or ATTO in the windows 10 vm and monitor ram usage on the host with htop I can see ram completely filling up during the write tests.
Because there isn't enough ram available, processes are being killed to free memory.
This makes the pc completely hang and I have to use the physical power button to reset it.
When the host is back up, I can see messages about out of memory in the syslog.
I first thought this was because of zfs caching the writes, but if I understood correctly this shouldn't be the problem because only 22GB should be used and 10GB should still be free. (2GB for proxmox itself + 4GB for the vm + 16GB (by default half the total amount of ram) for ZFS)
So I tried to limit ZFS down to 8GB ram to see if it would make a difference, but the problem still happens.
Then I tried to add a swap zvol to see if this would help, but the host crashes before swap is being used.
The only way I have found to prevent this problem is to use "write back" as the hard disk cache option.
If I run the benchmark again with "write back", I can see that an additional ± 1GB of ram is used.
So in total about 7GB ram is occupied. (2GB for proxmox itself + 4GB for the vm + 1GB write cache?)
I have read https://pve.proxmox.com/wiki/Performance_Tweaks but I still don't fully understand the differences between all the options.
Also write back (unsafe) is missing on that page so I don't know what the difference between "write back" and "write back (unsafe)" is.
After some googling I found that using the "write back" option is not recommended in my situation because I don't have multiple powersupply's, a ups, raid card with battery backed cache, etc.
Can someone tell me:
1) Why using "default (no cache)" completely fills up all ram?
2) What I can do so I can use "Default (no cache)" as the disk cache option?
3) If I configured something wrong or forgot to configure something?
Gigabyte x570 aorus master
Ryzen 7 3700x
Corsair Vengeance LPX 32GB (2x16GB)
4x WD Blue HDD 4TB
1x Samsung 850 SSD 250GB
1x Crucial MX500 SSD 250GB
Ryzen 7 3700x
Corsair Vengeance LPX 32GB (2x16GB)
4x WD Blue HDD 4TB
1x Samsung 850 SSD 250GB
1x Crucial MX500 SSD 250GB
bootdisk: scsi0
cores: 4
ide2: local:iso/Windows10-1909.iso,media=cdrom
memory: 4096
name: test
net0: virtio=8A:BA:13:A8:89:A9,bridge=vmbr0,firewall=1,link_down=1
numa: 0
ostype: win10
sata0: local:iso/virtio-win-0.1.171.iso,media=cdrom,size=363020K
scsi0: local-zfs:vm-100-disk-0,size=64G
scsihw: virtio-scsi-pci
smbios1: uuid=83de4fd5-dc76-463f-a646-51e3f3956357
sockets: 1
vmgenid: 4129bbac-8512-44a7-80e3-8b4e4dc4150d
cores: 4
ide2: local:iso/Windows10-1909.iso,media=cdrom
memory: 4096
name: test
net0: virtio=8A:BA:13:A8:89:A9,bridge=vmbr0,firewall=1,link_down=1
numa: 0
ostype: win10
sata0: local:iso/virtio-win-0.1.171.iso,media=cdrom,size=363020K
scsi0: local-zfs:vm-100-disk-0,size=64G
scsihw: virtio-scsi-pci
smbios1: uuid=83de4fd5-dc76-463f-a646-51e3f3956357
sockets: 1
vmgenid: 4129bbac-8512-44a7-80e3-8b4e4dc4150d
bootdisk: scsi0
cores: 4
ide2: local:iso/Windows10-1909.iso,media=cdrom
memory: 4096
name: test
net0: virtio=8A:BA:13:A8:89:A9,bridge=vmbr0,firewall=1,link_down=1
numa: 0
ostype: win10
sata0: local:iso/virtio-win-0.1.171.iso,media=cdrom,size=363020K
scsi0: local-zfs:vm-100-disk-0,cache=writeback,size=64G
scsihw: virtio-scsi-pci
smbios1: uuid=83de4fd5-dc76-463f-a646-51e3f3956357
sockets: 1
vmgenid: 4129bbac-8512-44a7-80e3-8b4e4dc4150d
cores: 4
ide2: local:iso/Windows10-1909.iso,media=cdrom
memory: 4096
name: test
net0: virtio=8A:BA:13:A8:89:A9,bridge=vmbr0,firewall=1,link_down=1
numa: 0
ostype: win10
sata0: local:iso/virtio-win-0.1.171.iso,media=cdrom,size=363020K
scsi0: local-zfs:vm-100-disk-0,cache=writeback,size=64G
scsihw: virtio-scsi-pci
smbios1: uuid=83de4fd5-dc76-463f-a646-51e3f3956357
sockets: 1
vmgenid: 4129bbac-8512-44a7-80e3-8b4e4dc4150d