Hello,
I installed quit a few Zimbra in Proxmox/OpenVZ CT. From this experience,
I found a configuration that have been working well for me (for about one year so far)
In short, I use a Centos 5 32bits template with 6 Gb (RAM + swap) allocated to the container,
and I manually increase the openvz beancounter "privvmpages".
I use the following rule of thumb (based on my experience only):
barrier = ((RAM + swap in Gb)+1) * 1000000
limit = ((RAM + swap in Gb)+1) * 1500000
For exemple, for 6Gb, I set barrier=7000000 and limit = 7500000
As I said, this settings seem to work but it definitively
triggers questions I would like to share here:
1) Why so much memory allocated by Java ?
The problem solved by increasing privvmpages seem to be that JAVA allocates a hudge
amount of memory which will never be used for most of it.
(reference :http://forum.proxmox.com/threads/1495-Proxmox-OpenVZ-memory-Java-VMs-and-Zimbra)
I keep an eye on the maxheld value of privvmpages, today I read 3320517
with is 13 Gb !!! (=3320517*4096)
In other words, ** 13 Gb ** where allocated by processes in the container (Java probably)
which own only 6 Gb. How is this possible ?
# cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
103: kmemsize 52047165 54500815 9223372036854775807 9223372036854775807 0
lockedpages 0 0 786432 786432 0
privvmpages 1104091 3320517 5000000 5500000 0
physpages 340283 363624 0 9223372036854775807 0
vmguarpages 0 0 1572864 9223372036854775807 0
oomguarpages 340284 363625 1572864 9223372036854775807 0
2) Is there some drawbacks using such high values for privvmpages ?
3) I tried to guess how was calculated values listed on the bottom of page "Virtual Machine Configuration" in
the Proxmox Web Interface.
For exemple, for the VM above, I get these values:
Resource current maximum
Memory/Swap (MB): 4312 19531
(screen copy attached)
Again I am curious about this maximum of 19 Gb on 6Gb VM ?
If a Proxmox team member could let me know how these values
(current and maximum) are calculated it would be very appreciated ?
4) I noticed that if, in the Proxmox Web Interface, VM options are saved, "privvmpages"
is reset to match RAM and Swap. Of course, it then triggers problems with Zimbra on the
next VM restart.
Just a suggestion: if something could be done to avoid such reset in some futur release
it would great ? (I understand it is not that simple because I guess on some cases
the user would expects the reset to occur, I don't know ... just a suggestion).
Phil Ten
I installed quit a few Zimbra in Proxmox/OpenVZ CT. From this experience,
I found a configuration that have been working well for me (for about one year so far)
In short, I use a Centos 5 32bits template with 6 Gb (RAM + swap) allocated to the container,
and I manually increase the openvz beancounter "privvmpages".
I use the following rule of thumb (based on my experience only):
barrier = ((RAM + swap in Gb)+1) * 1000000
limit = ((RAM + swap in Gb)+1) * 1500000
For exemple, for 6Gb, I set barrier=7000000 and limit = 7500000
As I said, this settings seem to work but it definitively
triggers questions I would like to share here:
1) Why so much memory allocated by Java ?
The problem solved by increasing privvmpages seem to be that JAVA allocates a hudge
amount of memory which will never be used for most of it.
(reference :http://forum.proxmox.com/threads/1495-Proxmox-OpenVZ-memory-Java-VMs-and-Zimbra)
I keep an eye on the maxheld value of privvmpages, today I read 3320517
with is 13 Gb !!! (=3320517*4096)
In other words, ** 13 Gb ** where allocated by processes in the container (Java probably)
which own only 6 Gb. How is this possible ?
# cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
103: kmemsize 52047165 54500815 9223372036854775807 9223372036854775807 0
lockedpages 0 0 786432 786432 0
privvmpages 1104091 3320517 5000000 5500000 0
physpages 340283 363624 0 9223372036854775807 0
vmguarpages 0 0 1572864 9223372036854775807 0
oomguarpages 340284 363625 1572864 9223372036854775807 0
2) Is there some drawbacks using such high values for privvmpages ?
3) I tried to guess how was calculated values listed on the bottom of page "Virtual Machine Configuration" in
the Proxmox Web Interface.
For exemple, for the VM above, I get these values:
Resource current maximum
Memory/Swap (MB): 4312 19531
(screen copy attached)
Again I am curious about this maximum of 19 Gb on 6Gb VM ?
If a Proxmox team member could let me know how these values
(current and maximum) are calculated it would be very appreciated ?
4) I noticed that if, in the Proxmox Web Interface, VM options are saved, "privvmpages"
is reset to match RAM and Swap. Of course, it then triggers problems with Zimbra on the
next VM restart.
Just a suggestion: if something could be done to avoid such reset in some futur release
it would great ? (I understand it is not that simple because I guess on some cases
the user would expects the reset to occur, I don't know ... just a suggestion).
Phil Ten
Attachments
Last edited: