Не могу запустить Java внутри grsec chroot

Java хорошо работает внутри общего chroot.

однако в усиленном grot grsec он жалуется, что у него недостаточно памяти для сборки виртуальной машины.

Любые идеи о том, как заставить его работать, потому что мне действительно нужен усиленный chroot.

Благодарю.

2 ответа

Решение

Обычно Java хорошо работает с grsec.

Однако в grsec есть опция, которая плохо работает на Java.

Кажется, у вас в ядре включена эта опция.

Проверьте это на:

[*] Grsecurity 
  Customize Configuration  --->
    PaX  --->
      Miscellaneous hardening features  ---> 
        [ ] Sanitize all freed memory

Удостовериться Sanitize all freed memory опция отключена, перекомпилируйте ядро ​​(IMO, им нельзя управлять через sysctl) и повторите попытку.

Вы должны предоставить более подробную информацию: точный текст сообщения об ошибке, какую JVM вы используете и т. Д.

У меня была похожая проблема при запуске Java на 32-битном Gentoo Hardened (также grsec, но без chroot): https://bugs.gentoo.org/show_bug.cgi?id=344135

Вы можете попытаться обойти эту проблему, изменив файл jvm.cfg на использование "client" вместо "server", например:

[jvm.cfg.patch]
--client IF_SERVER_CLASS -server
--server KNOWN
+-client KNOWN

Также вы можете попробовать запустить java с опциями -client и / или -Xmx256m.

Другие вопросы по тегам