С -Xmx
вы настраиваете размер кучи. Для настройки размера стека используйте параметр -Xss
. Сумма этих двух параметров должна быть примерно такой, какой вы хотите:
-Xmx150m -Xss50m
например.
Кроме того, имеется также параметр -XX:MaxPermSize
, который управляет. Этот параметр для -client
имеет значение по умолчанию 32 МБ и для -server
64 МБ. В соответствии с вашей конфигурацией вычислите его также. Пространство PermGen:
Постоянное поколение используется для отображения отражающей самой виртуальной машины, такой как объекты класса и объекты метода.
blockquote>Таким образом, в основном он хранит внутренние данные JVM, такие как определения классов и встроенные строки.
В конце я должен сказать, что есть одна часть, которую вы не можете контролировать, то есть память, используемая собственным процессом Java. Java - это программа, как и любая другая, поэтому она также использует память. Если вы просматриваете использование памяти в диспетчере задач, вы также увидите эту память вместе с потреблением вашей программной памяти.
Я почти уверен, что lookup("pipe")
будет делать то, что вы хотите, при условии, что скрипт доступен на целевом хосте:
- set_fact:
my_vars: '{{ lookup("pipe", "./my_script.py") | from_json }}'
(замена from_json
на from_yaml
] или что угодно, чтобы привести текстовый вывод из скрипта в структуру данных Python, возможно , что ansible принудительно приведет его автоматически, но явное лучше, чем неявное)
Если вы хотите, чтобы скрипт находится на управляющем компьютере и , вам, скорее всего, придется сделать несколько прыжков с delegate_to:
и некоторым hostvars
ниндзялем, чтобы продвинуть set_fact:
с управляющего хоста на все хосты playbook [ 1112]