2016-03-10 4 views
1

Когда я создаю экземпляр облачного сервера, вручную через браузер, я должен выбрать доступную память. Эта информация доступна для операционной системы экземпляра сервера, которая, в моем случае, является Ubuntu. На машине с графическим интерфейсом вы можете увидеть значение, отображаемое в System Settings > Details. На облачном сервере без GUI он должен быть доступен, как-то, теоретически.автоматизация настройки опции Java Xmx

Сервер будет выполнять только одну вещь, то есть запустить определенную программу Java, чтобы она могла использовать всю физическую память.

Как я могу получить это значение в сценарии bash, чтобы автоматически установить параметр Java -Xmx?

Редактировать: При развертывании на новый экземпляр сервера я загружаю сценарий run.sh (вместе со всем остальным, например .JAR-файлы), который будет использоваться на сервере. Этот сценарий run.sh должен использовать значение Xmx, которое является физической памятью машины, и это значение должно быть автоматически определено.

+0

Вы можете установить переменные окружения _JAVA_OPTIONS. поэтому он будет выбран всеми java-процессами. –

+0

Вы запускаете его как веб-сервер, например tomcat, или как отдельное приложение? – AdamSkywalker

+0

Я не знаком с tomcat. Это просто программа Java, которую мне нужно запустить. – H2ONaCl

ответ

0

Благодаря Viswanath Lekshmanan ...

В run.sh сценария добавить следующее.

PHYSICALMEGA=`free -m | grep Mem | awk '{print $2}'` 

Обратите внимание на обратные метки вокруг значения, присвоенного PHYSICALMEGA. В bash содержимое, включенное в обратную сторону, оценивается bash.

Тот же сценарий может вызвать Java аналогично этому ...

java Xmx="$PHYSICALMEGA" ... 
0

Я думаю, что вы ищете команду unix, чтобы получить память, не так ли?

попробовать это на ш сценария:

$ cat /proc/meminfo 

или

$ less /proc/meminfo 

или

$ more /proc/meminfo 

или

$ egrep --color 'Mem|Cache|Swap' /proc/meminfo 

это может вам помочь!

шрифт: http://www.cyberciti.biz/faq/linux-check-memory-usage/

0

Для того, чтобы найти свободную память использовать free команды. Используйте опцию -m, чтобы увидеть результаты в МБ. Затем возьмите из второго столбца 4 значения, которое является фактической свободной памяти на данный момент:

free -m | head -n 2 | tail -n 1 | awk '{print $4}' 
Смежные вопросы