
Java прекрасно работает внутри обычного chroot.
Однако в защищенной среде chroot grsec он жалуется, что у него недостаточно памяти для создания виртуальной машины.
есть идеи, как заставить его работать, потому что мне действительно нужен защищенный chroot.
Спасибо.
решение1
В целом Java хорошо работает с grsec.
Однако в grsec есть опция, которая может полностью разрушить Java.
Похоже, эта опция включена в вашем ядре.
Проверьте это здесь:
[*] Grsecurity
Customize Configuration --->
PaX --->
Miscellaneous hardening features --->
[ ] Sanitize all freed memory
Убедитесь, что Sanitize all freed memory
эта опция отключена, перекомпилируйте ядро (на мой взгляд, им нельзя управлять через sysctl) и повторите попытку.
решение2
Вам следует предоставить более подробную информацию: точный текст сообщения об ошибке, какую JVM вы используете и т. д.
У меня была похожая проблема при запуске Java на 32-битной Gentoo Hardened (тоже grsec, но без chroot):https://bugs.gentoo.org/show_bug.cgi?id=344135
Вы можете попытаться обойти эту проблему, изменив jvm.cfg так, чтобы вместо «сервера» использовалось «клиент», например:
[jvm.cfg.patch]
--client IF_SERVER_CLASS -server
--server KNOWN
+-client KNOWN
Также вы можете попробовать запустить Java с параметрами -client и/или -Xmx256m.