У меня есть сервер RAM объемом 8 ГБ (выделенный), и в настоящее время на нем работают виртуальные машины KVM (успешно), однако я подумываю о переходе на OpenVZ, поскольку KVM кажется немного излишним с большим количеством накладных расходов для того, для чего я его использую.
В прошлом я использовал контейнеры OpenVZ, размещенные мной и другими поставщиками, и Java, похоже, не работает с ними. Один пример: если я даю контейнеру 2 ГБ ОЗУ (без всплеска) (с vswap или без него) не имеет значения) экземпляр java можно настроить только на использование не более 1500 МБ этой оперативной памяти (-Xmx, -Xms).
В идеале я хочу иметь возможность создавать «мини-контейнеры» примерно с 256 МБ, 512 МБ, 768 ОЗУ и запускать в них несколько экземпляров java.
Мой вопрос: я пытаюсь найти идеальный способ настроить конфигурацию контейнера OpenVZ для лучшей работы с памятью Java.
Пожалуйста, не предлагайте ничего, связанного с настройками Java, я ищу конкретные ответы OpenVZ .. Хотя я приветствую любые предложения, если вы считаете, что они могут мне помочь.
Высоко оценен, Даниэль
Зачем исключать настройки java, если проблема может заключаться в неправильном понимании параметра -Xmx?
Я бы посчитал правильным размером 2 ГБ или ОЗУ для кучи 1,5 ГБ. Куча - это только часть памяти, которую использует JVM. Собственный код, включая сам код JVM, память, используемую собственными библиотеками, кеш кода, память на основе стека (каждый поток имеет свой собственный стек) и постоянная генерация, все хранятся вне кучи.
Вы должны использовать ядро RHEL6 (он же 2.6.32-, он же 042stab) и настроить свои контейнеры с помощью VSwap. Видеть http://openvz.org/VSwap Больше подробностей. Это делается по умолчанию при новых установках.
Если вам нужны мини-контейнеры, назначьте необходимую вам оперативную память, а затем увеличьте объем подкачки в два-четыре раза, чтобы можно было «растянуть» память CT. Например, для 256M это будет
vzctl set $ CTID --ram 256M --swap 1G --save
Убедитесь, что для других beancounters (особенно Privvmpages) установлено значение unlimited. Опять же, см. http://openvz.org/VSwap Больше подробностей.