Это команда erl, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
erl - Эмулятор Erlang
ОПИСАНИЕ
Команда Erl программа запускает исполняющую систему Erlang. Точные сведения (например,
Erl является сценарием или программой, и то, какие другие программы она вызывает) зависит от системы.
Пользователи Windows, вероятно, захотят использовать Верл вместо этого программа, которая запускается в собственном окне
с полосами прокрутки и поддерживает редактирование из командной строки. В Erl программа для Windows не предоставляет
редактирование строки в его оболочке, а в Windows 95 нет возможности вернуться к тексту, который
прокручивается за пределы экрана. В Erl программа должна использоваться, однако, в конвейерах или если вы
хотите перенаправить стандартный ввод или вывод.
Примечание:
Начиная с ERTS версии 5.9 (OTP-R15B), исполняющая система по умолчанию привязать планировщики
логическим процессорам. Для получения дополнительной информации см. Документацию + SBT системный флаг.
ЭКСПОРТ
Erl
Запускает систему времени выполнения Erlang.
Аргументы можно разделить на эмулятор Флаги, Флаги и простой Аргументы:
* Любой аргумент, начинающийся с символа + интерпретируется как эмулятор флажок.
Как указано в названии, флаги эмулятора управляют поведением эмулятора.
* Любой аргумент, начинающийся с символа - (дефис) интерпретируется как флажок
который должен быть передан в часть Erlang исполняющей системы, подробнее
конкретно к инициализации системный процесс, см. инициализации(3 эрл).
Команда инициализации сам процесс интерпретирует некоторые из этих флагов, инициализации Флаги. Он также
сохраняет все оставшиеся флаги, пользователь Флаги. Последний может быть получен с помощью
требуют инициализация: get_argument / 1.
Можно отметить, что есть небольшое количество флажков "-", которые сейчас на самом деле
являются флагами эмулятора, см. описание ниже.
* Простые аргументы никоим образом не интерпретируются. Они также хранятся в
инициализации процесс и может быть получен вызовом инициализация: get_plain_arguments / 0. Простой
аргументы могут быть перед первым флагом или после -- флаг. Кроме того,
флаг -Дополнительные превращает все последующее в простые аргументы.
Пример:
% erl + W w-имя arnie + R 9 -s my_init -extra + bertie
(arnie @ host) 1> init: get_argument (sname).
{хорошо, [["arnie"]]}
(arnie @ host) 2> init: get_plain_arguments ().
["+ bertie"]
Здесь +W w и +R 9 флаги эмулятора. -s мой_инит это флаг инициализации, интерпретируемый
инициализации. -имя Арни это пользовательский флаг, хранящийся инициализации. Он читается ядром и будет
заставляют исполняющую систему Erlang стать распределенной. Наконец, все после
-Дополнительные (это, + Берти) рассматривается как простые аргументы.
% эрл -мойфлаг 1
1> инициализация:get_argument(мой флаг).
{хорошо, [["1"]]}
2> инициализация: get_plain_arguments ().
[]
Здесь пользовательский флаг -мой флаг 1 передается и сохраняется инициализации процесс. Это
пользовательский флаг, предположительно используемый некоторым пользовательским приложением.
ФЛАГИ
В следующем списке отмечены флаги инициализации (флаг инициализации). Если не указано иное, все
другие флаги - это пользовательские флаги, значения которых можно получить, вызвав
инициализация: get_argument / 1. Обратите внимание, что список пользовательских флагов не является исчерпывающим, могут быть
дополнительные, специфичные для приложения флаги, которые вместо этого задокументированы в соответствующих
документация по применению.
--(флаг инициализации):
Все следующее -- до следующего флага (-флаг or + флаг) считается простой
аргументы и могут быть получены с помощью инициализация: get_plain_arguments / 0.
-Заявка волна:
Устанавливает параметр конфигурации приложения к значению волна для приложения
Процесс подачи заявкиСм. приложение(5) и приложению(3 эрл).
-args_file FileName:
Аргументы командной строки читаются из файла FileName. Аргументы читаются из
файл замените '-args_file FileName'в результирующей командной строке.
Файл FileName должен быть простым текстовым файлом и может содержать комментарии и команды
строковые аргументы. Комментарий начинается с символа # и продолжается до следующего конца
строчный символ. Обратная косая черта (\\) используется как символ кавычки. Вся командная строка
аргументы, принятые Erl разрешены, также -args_file FileName флаг. Будь осторожен
не вызывать циклических зависимостей между файлами, содержащими -args_file флаг,
хотя.
Команда -Дополнительные флаг обрабатывается специально. Его область действия заканчивается в конце файла. Аргументы
после -Дополнительные флаг перемещены из командной строки в -Дополнительные раздел, т.е.
конец командной строки, следующий за -Дополнительные флаг.
-async_shell_start:
Первоначальная оболочка Erlang не считывает вводимые пользователем данные до тех пор, пока процедура загрузки системы не завершится.
завершена (Erlang 5.4 и новее). Этот флаг отключает стартовую синхронизацию.
и позволяет оболочке запускаться параллельно с остальной системой.
-загрузка Файл:
Задает имя загрузочного файла, Файл.boot, который используется для запуска системы. Видеть
инициализации(3 эрл), Если не Файл содержит абсолютный путь, система ищет Файл.boot
в текущем и $ ROOT / bin каталоги.
По умолчанию $ ROOT / bin / start.boot.
-boot_var Var Вы:
Если сценарий загрузки содержит переменную пути Var кроме $ ROOT, эта переменная
расширен до Вы. Используется, когда приложения установлены в каталог, отличный от
$ ROOT / libСм. systools: make_script / 1,2.
-code_path_cache:
Включает кеширование пути кода сервера кода, см. код(3 эрл).
-компилировать Mod1 Mod2 ...:
Компилирует указанные модули, а затем завершает работу (с ненулевым кодом выхода, если
компиляция какого-то файла не удалась). Подразумевает -нет ввода. Не рекомендуется - используйте
эрлк .
-конфигурация Конфиг:
Задает имя файла конфигурации, Конфиг.config, который используется для настройки
Приложения. Видеть приложение(5) и приложению(3 эрл).
-connect_all ложный:
Если этот флаг присутствует, Глобальный не будет поддерживать полностью подключенную сеть
распределенные узлы Erlang, и тогда регистрация глобального имени не может быть использована. Видеть
Глобальный(3 эрл).
-печенье Cookie:
Устаревший флаг без каких-либо последствий и частые орфографические ошибки для -setcookie. Используйте -setcookie
.
-отдельный:
Запускает систему времени выполнения Erlang, отсоединенную от системной консоли. Полезно для бега
демоны и фоновые процессы. Подразумевает -нет ввода.
-emu_args:
Полезно для отладки. Распечатывает фактические аргументы, отправленные эмулятору.
-окр. Технология Значение:
Устанавливает переменную среды ОС хоста Технология к значению Значение для Erlang
исполняющая система. Пример:
% erl -env ДИСПЛЕЙ джин: 0
В этом примере исполняющая система Erlang запускается с ДИСПЛЕЙ охрана окружающей среды
переменная установлена в джин: 0.
-евал Expr(флаг инициализации):
Делает инициализации оценить выражение ExprСм. инициализации(3 эрл).
-Дополнительные(флаг инициализации):
Все следующее -Дополнительные считается простыми аргументами и может быть получен с помощью
инициализация: get_plain_arguments / 0.
-сердце:
Запускает мониторинг сердечного ритма исполняющей системы Erlang. Видеть сердце(3 эрл).
-скрытый:
Запускает систему времени выполнения Erlang как скрытый узел, если он выполняется как распределенный узел.
Скрытые узлы всегда устанавливают скрытые соединения со всеми другими узлами, кроме узлов.
в одной глобальной группе. Скрытые подключения не публикуются ни на одном из
подключенных узлов, т.е. ни один из подключенных узлов не является частью результата
узлы / 0 на другом узле. См. Также скрытые глобальные группы, глобальная_группа(3 эрл).
-хозяева Хозяева:
Задает IP-адреса хостов, на которых работают загрузочные серверы Erlang, см.
erl_boot_server(3 эрл). Этот флаг является обязательным, если -загрузчик инет флаг присутствует.
IP-адреса должны быть указаны в стандартной форме (четыре десятичных числа, разделенных
периоды, например "150.236.20.74". Имена хостов недопустимы, но трансляция
адрес (желательно ограниченный локальной сетью) есть.
-Я бы Id:
Задает идентификатор системы времени выполнения Erlang. Если он запущен как распределенный
узел, Id должно быть идентично названию, указанному вместе с -имя or -имя
флаг.
-init_debug:
Делает инициализации напишите некоторую отладочную информацию во время интерпретации загрузочного скрипта.
-инстр(флаг эмулятора):
Выбирает для запуска инструментированную систему времени выполнения Erlang (виртуальную машину) вместо
обычный. При запуске инструментированной системы времени выполнения некоторые данные об использовании ресурсов
можно получить и проанализировать с помощью модуля инструмент. Функционально ведет себя
в точности как обычная исполняющая система Erlang.
-загрузчик Погрузчик:
Определяет метод, используемый erl_prim_loader для загрузки модулей Erlang в систему.
Увидеть erl_prim_loader(3 эрл), Два Погрузчик поддерживаются методы, электронный файл и инет. электронный файл
означает использование локальной файловой системы, это значение по умолчанию. инет означает использовать загрузочный сервер на
другая машина, и -Я бы, -хозяева и -setcookie флаги также должны быть указаны.
If Погрузчик что-то еще, пользователь предоставил Погрузчик программа порта запущена.
-делать:
Вызывает систему времени выполнения Erlang сделать: все () в текущем рабочем каталоге и
затем прекратить. Видеть сделать(3 эрл). Подразумевает -нет ввода.
-человек Модули:
Отображает страницу руководства для модуля Erlang Модули. Поддерживается только в Unix.
-Режим интерактивный | встроенный:
Указывает, должна ли система загружать код динамически (интерактивный), или если весь код
должен быть загружен во время инициализации системы (встроенный), видеть код(3 эрл). По умолчанию
интерактивный.
-имя Имя:
Превращает систему времени выполнения Erlang в распределенный узел. Этот флаг вызывает всю сеть
серверы, необходимые для того, чтобы узел стал распределенным. Видеть net_kernel(3 эрл), Это также
гарантировал, что эпмд выполняется на текущем хосте до запуска Erlang. Видеть эпмд(1).
Имя узла будет Имя @ Хост, Где Хозяин это полное имя хоста
текущий хост. Для коротких имен используйте -имя вместо этого флаг.
-нет ввода:
Гарантирует, что система времени выполнения Erlang никогда не пытается прочитать ввод. Подразумевает
-оболочка.
-оболочка:
Запускает систему времени выполнения Erlang без оболочки. Этот флаг позволяет иметь
Система времени выполнения Erlang как компонент в серии каналов UNIX.
- ручка:
Отключает возможность закрепления каталогов на сервере кода Erlang, см. код(3 эрл).
-олдшелл:
Вызывает старую оболочку Erlang из Erlang 3.3. Старая оболочка все еще может использоваться.
-па Директор1 Директор2 ...:
Добавляет указанные каталоги в начало пути кода, аналогично
код: add_pathsa / 1. Посмотреть код(3 эрл). Как альтернатива -па, если несколько каталогов
должны быть добавлены к пути кода, и каталоги имеют общий родительский
каталог, этот родительский каталог может быть указан в ERL_LIBS охрана окружающей среды
Переменная. Видеть код(3 эрл).
-пз Директор1 Директор2 ...:
Добавляет указанные каталоги в конец пути кода, аналогично
код: add_pathsz / 1. Посмотреть код(3 эрл).
-дорожка Директор1 Директор2 ...:
Заменяет путь, указанный в сценарии загрузки. Видеть скрипт(5).
-proto_dist Прото:
Укажите протокол для распространения Erlang.
inet_tcp:
TCP через IPv4 (по умолчанию)
inet_tls:
распространение через TLS / SSL
inet6_tcp:
TCP через IPv6
Например, чтобы запустить распределенные узлы IPv6:
% erl -имя [электронная почта защищена] -proto_dist inet6_tcp
-ремш Узел:
Запускает Erlang с удаленной оболочкой, подключенной к Узел.
-рш Программа:
Определяет альтернативу RSH для запуска подчиненного узла на удаленном хосте. Видеть
раб(3 эрл).
-бежать Способ [Функция [Арг1, Арг2, ...]](флаг инициализации):
Делает инициализации вызвать указанную функцию. Func по умолчанию Начало. Если нет аргументов
при условии, что функция имеет арность 0. В противном случае предполагается, что она имеет
арность 1, взяв список [Arg1, Arg2, ...] как аргумент. Все аргументы передаются как
струны. Видеть инициализации(3 эрл).
-s Способ [Функция [Арг1, Арг2, ...]](флаг инициализации):
Делает инициализации вызвать указанную функцию. Func по умолчанию Начало. Если нет аргументов
при условии, что функция имеет арность 0. В противном случае предполагается, что она имеет
арность 1, взяв список [Arg1, Arg2, ...] как аргумент. Все аргументы передаются как
атомы. Видеть инициализации(3 эрл).
-setcookie Cookie:
Устанавливает волшебный файл cookie узла на CookieСм. эрланг: set_cookie / 2.
-shutdown_time Время:
Указывает, как долго (в миллисекундах) инициализации процесс разрешено проводить
выключение системы. Если Время мс истекло, все еще существующие процессы
убит. По умолчанию бесконечность.
-имя Имя:
Превращает систему времени выполнения Erlang в распределенный узел, аналогичный -имя, Но
имя хоста часть имени узла Имя @ Хост будет краткое имя, не полностью
квалифицированный.
Иногда это единственный способ запустить распределенный Erlang, если DNS (доменное имя
System) не работает. Связь между узлами, работающими с
-имя флаг и те, кто работает с -имя флаг, так как имена узлов должны быть уникальными в
распределенные системы Erlang.
-smp [включить | авто | отключить]:
-smp включить и -smp запускает систему времени выполнения Erlang с включенной поддержкой SMP. Этот
может выйти из строя, если недоступна исполняющая система с поддержкой SMP. -smp автоматический начинает
Система времени выполнения Erlang с включенной поддержкой SMP, если она доступна и более одного
логический процессор. -smp запрещать запускает исполняющую систему без SMP
.
ЗАМЕТКА: Система времени выполнения с поддержкой SMP будет доступна не на всех поддерживаемых
платформы. Также +S флаг.
-версия(флаг эмулятора):
Заставляет эмулятор распечатать номер своей версии. Такой же как Erl +V.
ЭМУЛЯТОР ФЛАГИ
Erl вызывает код для эмулятора Erlang (виртуальной машины), который поддерживает
следующие флаги:
+a размер:
Предлагаемый размер стека в киловордах для потоков в пуле асинхронных потоков. Действительный диапазон
составляет 16-8192 киловорда. Рекомендуемый размер стека по умолчанию - 16 киловордов, т. Е. 64
килобайт на 32-битных архитектурах. Этот небольшой размер по умолчанию был выбран с тех пор, как
количество асинхронных потоков может быть довольно большим. Для драйверов достаточно размера по умолчанию
поставляется с Erlang / OTP, но может быть недостаточно большим для других динамически
связаны в драйверах, которые используют driver_async () функциональность. Обратите внимание, что значение
передано - это всего лишь предложение, и на некоторых платформах его можно даже проигнорировать.
+A размер:
Устанавливает количество потоков в пуле асинхронных потоков, допустимый диапазон 0-1024. Если поток
поддержка доступна, по умолчанию - 10.
+B [c | d | i]:
Команда c вариант делает Ctrl-C, прервать текущую оболочку вместо вызова эмулятора
обработчик разрывов. В d вариант (то же самое, что и указание +B без дополнительной опции) отключает
обработчик прерывания. В i опция заставляет эмулятор игнорировать любой сигнал прерывания.
Если же линия индикатора c опция используется с Oldshell в Unix, Ctrl-C, перезапустит процесс оболочки
а не прерывать его.
Обратите внимание, что в Windows этот флаг применим только для Верл, Не Erl (Oldshell). Примечание
также что Ctrl-Break используется вместо Ctrl-C, в Windows.
+c правда | ложный:
Включение или выключение время коррекция:
правда:
Включить коррекцию времени. Это значение по умолчанию, если на устройстве поддерживается коррекция времени.
конкретная платформа.
ложный:
Отключить коррекцию времени.
Для обратной совместимости логическое значение можно опустить. Это интерпретируется как
+c ложный.
+C no_time_warp | single_time_warp | multi_time_warp:
Поставьте время деформироваться Режим:
no_time_warp:
Нет Время Деформироваться режим (по умолчанию)
single_time_warp:
Один Время Деформироваться режим
multi_time_warp:
Много Время Деформироваться режим
+d:
Если эмулятор обнаруживает внутреннюю ошибку (или исчерпывает память), он по умолчанию
генерировать аварийный дамп и дамп ядра. Однако дамп ядра будет не очень
полезно, так как содержимое куч процесса уничтожается генерацией аварийного дампа.
Команда +d опция указывает эмулятору создавать только дамп ядра и не создавать аварийный дамп, если
обнаружена внутренняя ошибка.
призвание эрланг: остановка / 1 со строковым аргументом все равно будет создавать аварийный дамп. В Unix
систем, отправка процессу эмулятора сигнала SIGUSR1 также вызовет аварийный дамп.
+e Номер регистрации:
Установите максимальное количество таблиц ETS.
+ ec:
Заставить сжатый опция на всех столах ETS. Предназначен только для тестирования и оценки.
+ фнл:
Виртуальная машина работает с именами файлов, как если бы они были закодированы с использованием кодировки ISO-latin-1,
запретить символы Unicode с кодовыми точками больше 255.
Увидеть СТДЛИБ Пользователя Гид для получения дополнительной информации об именах файлов Unicode. Обратите внимание, что это
значение также применяется к параметрам командной строки и переменным среды (см. СТДЛИБ
Пользователя Гид).
+ fnu [{w | i | e}]:
Виртуальная машина работает с именами файлов, как если бы они были закодированы с использованием UTF-8 (или какой-либо другой системы.
специфическая кодировка Unicode). Это значение по умолчанию в операционных системах, в которых
Кодировка Unicode, т.е. Windows и MacOS X.
Команда + фну за переключателем может следовать w, iэта информация поможет вам разобраться, почему Gamer’s Galaxy — ваш лучший выбор. e контролировать путь неправильно закодированного файла
имена должны быть сообщены. w означает, что предупреждение отправлено error_logger когда бы ни
неправильно закодированное имя файла "пропускается" в списках каталогов, i означает, что те
неправильно закодированные имена файлов игнорируются и e означает, что функция API будет
возвращать ошибку всякий раз, когда встречается неверно закодированное имя файла (или каталога). w
по умолчанию. Обратите внимание, что файл: read_link / 1 всегда будет возвращать ошибку, если ссылка
указывает на недопустимое имя файла.
Увидеть СТДЛИБ Пользователя Гид для получения дополнительной информации об именах файлов Unicode. Обратите внимание, что это
значение также применяется к параметрам командной строки и переменным среды (см. СТДЛИБ
Пользователя Гид).
+ fna [{w | i | e}]:
Выбор между + фнл и + фну выполняется на основе текущих настроек локали в
ОС, что означает, что если вы настроили свой терминал для кодировки UTF-8, файловая система
предполагается использовать ту же кодировку для имен файлов. Это значение по умолчанию для всех рабочих
системы, кроме MacOS X и Windows.
Команда + фна за переключателем может следовать w, iэта информация поможет вам разобраться, почему Gamer’s Galaxy — ваш лучший выбор. e. Это будет иметь силу, если локаль
настройки вызывают поведение + фну быть выбранным. См. Описание + фну выше.
Если настройки локали вызывают поведение + фнл быть выбранным, тогда w, iэта информация поможет вам разобраться, почему Gamer’s Galaxy — ваш лучший выбор. e предусматривает
не имеют никакого эффекта.
Увидеть СТДЛИБ Пользователя Гид для получения дополнительной информации об именах файлов Unicode. Обратите внимание, что это
значение также применяется к параметрам командной строки и переменным среды (см. СТДЛИБ
Пользователя Гид).
+ hms Размер:
Устанавливает размер кучи процессов по умолчанию равным размеру Размер.
+ hmbs Размер:
Устанавливает размер двоичной виртуальной кучи процессов по умолчанию равным размеру Размер.
+ hpds Размер:
Устанавливает начальный размер словаря процессов для процесса равным размеру Размер.
+K правда | ложный:
Включает или отключает функцию опроса ядра, если эмулятор поддерживает ее. Дефолт
is ложный (инвалид). Если эмулятор не поддерживает опрос ядра, и +K флаг
передается в эмулятор, при запуске выдается предупреждение.
+l:
Включает автоматическое отслеживание загрузки, отображение информации при загрузке кода.
+L:
Не загружайте информацию об именах исходных файлов и номерах строк. Это сэкономит немного
память, но исключения не будут содержать информацию об именах файлов и строчке
номера.
+ MFlag Значение:
Флаги, специфичные для распределителя памяти, см. erts_alloc(3 эрл) для дополнительной информации.
+n Поведение:
Управляйте поведением сигналов к портам.
Начиная с OTP-R16, сигналы на порты доставляются действительно асинхронно. Обратите внимание, что сигналы
всегда документировались как асинхронные. Базовая реализация имеет,
однако ранее эти сигналы доставлялись синхронно. Правильно написанный Эрланг
программы должны справиться с этим без каких-либо проблем. Ошибки в существующем Erlang
программы, которые делают ложные предположения о сигналах к портам, могут, однако, быть сложными для
найти. Этот переключатель был введен для того, чтобы, по крайней мере, облегчить сравнение
поведение в переходный период. Обратите внимание, что этой флажок is устарела с его
введение и планируется удалить в OTP-R17. Поведение должен быть одним из
следующие персонажи:
d:
По умолчанию. Асинхронные сигналы. Процесс, отправляющий сигнал в порт, может
продолжить выполнение до того, как сигнал будет доставлен в порт.
s:
Синхронные сигналы. Процессы, отправляющие сигнал в порт, не будут продолжены.
выполнение до тех пор, пока сигнал не будет доставлен. Должен Важно использоваться для тестирования и
отладка.
a:
Асинхронные сигналы. По умолчанию, но процессы, отправляющие сигнал, будут даже
чаще продолжайте выполнение до того, как сигнал будет доставлен в порт.
Должен Важно использоваться для тестирования и отладки.
+ ПК Диапазон:
Устанавливает диапазон символов, которые система будет считать пригодными для печати в эвристическом режиме.
обнаружение струн. Обычно это влияет на оболочку, отладчик и формат io:
функции (когда ~ tp используется в строке формата).
В настоящее время два значения для Диапазон поддерживаются:
latin1:
По умолчанию. Только символы в диапазоне ISO-latin-1 могут считаться печатаемыми,
это означает, что символ с кодовой точкой> 255 никогда не будет считаться
для печати, и что списки, содержащие такие символы, будут отображаться как списки
целые числа, а не текстовые строки инструментами.
юникода:
Все печатаемые символы Unicode учитываются при определении того, есть ли список
целые числа должны отображаться в строковом синтаксисе. Это может дать неожиданные результаты, если
например, ваш шрифт не охватывает все символы Юникода.
Смотрите также io: диапазон_печати / 0.
+P Номер | наследие:
Устанавливает максимальное количество одновременно существующих процессов для этой системы, если
Номер регистрации передается как значение. Допустимый диапазон для Номер регистрации is [1024-134217727]
ЗАМЕТКА: Фактический выбранный максимум может быть намного больше, чем Номер регистрации прошедший. В настоящее время
исполняющая система часто, но не всегда, выбирает значение, равное степени 2. Это
однако может быть изменен в будущем. Фактическое выбранное значение можно проверить с помощью
требуют эрланг: system_info (ограничение_процесса).
Значением по умолчанию является 262144
If наследие передается как значение, унаследованный алгоритм распределения процесса
будут использоваться идентификаторы. Используя устаревший алгоритм, идентификаторы будут выделены в
строго возрастающая мода, пока не будет достигнут максимально возможный идентификатор. Примечание
что этот алгоритм страдает от проблем с производительностью и может при определенных
обстоятельства будут чрезвычайно дорогими. Устаревший алгоритм устарел, а
наследие опцию планируется удалить в OTP-R18.
+Q Номер | наследие:
Устанавливает максимальное количество одновременно существующих портов для этой системы, если Число
передается как значение. Допустимый диапазон для Номер регистрации is [1024-134217727]
ЗАМЕТКА: Фактический выбранный максимум может быть намного больше, чем фактический Номер регистрации прошло.
В настоящее время исполняющая система часто, но не всегда, выбирает значение, которое является степенью
2. Однако это может быть изменено в будущем. Фактическое выбранное значение может быть
проверил по телефону erlang: system_info (ограничение_порта).
Обычно используется значение по умолчанию. 65536. Однако, если исполняющая система может
определить максимальное количество файловых дескрипторов, которые разрешено открывать, и это значение
больше, чем 65536, выбранное значение будет увеличено до значения, большего или равного
максимальное количество файловых дескрипторов, которые можно открыть.
В Windows значение по умолчанию установлено на 8196 потому что установлены обычные ограничения ОС
выше, чем может выдержать большинство машин.
Ранее переменная среды ERL_MAX_PORTS использовался для установки максимального
количество одновременно существующих портов. Эта переменная среды устарела, и
планируется удалить в OTP-R17, но все еще можно использовать.
If наследие передается как значение, унаследованный алгоритм распределения идентификаторов портов
будет использоваться. Используя устаревший алгоритм, идентификаторы будут распределяться строго в
увеличивая моду, пока не будет достигнут максимально возможный идентификатор. Обратите внимание, что это
алгоритм страдает от проблем с производительностью и при определенных обстоятельствах может быть
чрезвычайно дорого. Устаревший алгоритм устарел, а наследие опция
планируется удалить в OTP-R18.
+R номер выпуска:
Устанавливает режим совместимости.
Механизм распространения по умолчанию не имеет обратной совместимости. Эти флаги устанавливают
эмулятор в режиме совместимости с более ранней версией Erlang / OTP номер выпуска,
номер выпуска должен быть в диапазоне <текущий релиз> -2 .. выпуск>. Это
ограничивает эмулятор, позволяя ему взаимодействовать с узлами Erlang (как
а также узлы C и Java), на которых запущена эта более ранняя версия.
Примечание. Убедитесь, что все узлы (узлы Erlang, C и Java) распределенной системы Erlang
относится к одному и тому же выпуску Erlang / OTP или из двух разных выпусков Erlang / OTP X и Y,
в котором ВСЕ Узлы Y имеют режим совместимости X.
+r:
Принудительно переместить блок памяти при перераспределении.
+ rg ReaderGroupsLimit:
Ограничивает количество групп читателей, используемых блокировками чтения / записи, оптимизированными для чтения
операции в системе времени выполнения Erlang. По умолчанию лимит читательских групп равен 64.
Когда количество планировщиков меньше или равно лимиту групп читателей, каждый
Планировщик имеет свою группу читателей. Когда количество планировщиков больше, чем
количество читательских групп ограничено, планировщики разделяют читательские группы. Общие группы читателей деградируют
блокировка чтения и разблокировка чтения при ухудшении работы большого количества групп читателей
производительность блокировки записи, поэтому предел - это компромисс между производительностью для чтения
операции и производительность для операций записи. Каждая группа читателей в настоящее время потребляет
64 байта в каждой блокировке чтения / записи. Также обратите внимание, что исполняющая система, использующая разделяемый читатель
группы получают выгоду от переплет планировщики в логический процессоры, поскольку читательские группы
лучше распределяются между планировщиками.
+S Планировщики: SchedulerOnline:
Устанавливает количество потоков планировщика для создания и потоков планировщика для настройки онлайн
когда включена поддержка SMP. Максимальное значение для обоих значений - 1024. Если Erlang
система времени выполнения может определять количество настроенных логических процессоров и
наличие логических процессоров, Планировщики по умолчанию будет использовать логические процессоры
настроен, и ПланировщикиОнлайн по умолчанию будут доступны логические процессоры;
в противном случае значение по умолчанию будет 1. Планировщики может быть опущено, если : SchedulerOnline
нет и наоборот. Количество онлайн-планировщиков можно изменить во время выполнения с помощью
эрланг: system_flag (schedulers_online, Планировщики онлайн).
If Планировщики or ПланировщикиОнлайн указывается как отрицательное число, значение равно
вычитается из числа настроенных логических процессоров по умолчанию или логических
процессоры в наличии соответственно.
Указание значения 0 для Планировщики or ПланировщикиОнлайн сбрасывает количество
потоки планировщика или потоки планировщика подключены соответственно к значению по умолчанию.
Этот параметр игнорируется, если в эмуляторе не включена поддержка SMP (см. -smp
флаг).
+ SP SchedulersPercentage: SchedulersOnlinePercentage:
Похожий на что +S но использует проценты для установки количества создаваемых потоков планировщика,
на основе настроенных логических процессоров и потоков планировщика, устанавливаемых в оперативном режиме, на основе
доступные логические процессоры, если включена поддержка SMP. Указанные значения должны
быть больше 0. Например, + SP 50:25 устанавливает количество потоков планировщика на 50%
настроенных логических процессоров и количества потоков планировщика в сети до 25%
доступных логических процессоров. ПланировщикиПроцент может быть опущено, если
: SchedulersOnlinePercentage нет и наоборот. Количество планировщиков онлайн может
быть изменено во время выполнения через эрланг: system_flag (schedulers_online, Планировщики онлайн).
Эта опция взаимодействует с +S настройки. Например, в системе с 8 логическими ядрами
настроено и доступно 8 логических ядер, комбинация опций +S 4:4 + SP
50:25 (в любом порядке) приводит к 2 потокам планировщика (50% из 4) и 1 планировщику
тред онлайн (25% из 4).
Этот параметр игнорируется, если в эмуляторе не включена поддержка SMP (см. -smp
флаг).
+ SDcpu DirtyCPUSchedulers: DirtyCPUSchedulersOnline:
Устанавливает количество грязных потоков планировщика ЦП для создания и грязного планировщика ЦП
потоки, устанавливаемые в интерактивном режиме, когда включена поддержка потоковой передачи. Максимум для обоих
значения 1024, и каждое значение дополнительно ограничено настройками для нормального
планировщики: количество созданных грязных потоков планировщика ЦП не может превышать количество
созданных нормальных потоков планировщика и количества грязных потоков планировщика ЦП
онлайн не может превышать количество обычных потоков планировщика онлайн (см. +S и + SP
flags для более подробной информации). По умолчанию количество созданных грязных потоков планировщика ЦП
равно количеству созданных обычных потоков планировщика и количеству грязных ЦП
Количество потоков планировщика в оперативном режиме равно количеству обычных потоков планировщика, подключенных к сети.
DirtyCPUпланировщики может быть опущено, если : DirtyCPUSchedulersOnline нет и наоборот.
Количество загруженных онлайн-планировщиков ЦП можно изменить во время выполнения с помощью
эрланг: system_flag (dirty_cpu_schedulers_online, DirtyCPUSchedulersOnline).
Этот параметр игнорируется, если в эмуляторе не включена поддержка потоковой передачи.
В настоящее время этой вариант is экспериментальный и поддерживается, только если эмулятор был
настроен и построен с поддержкой грязных планировщиков (он отключен
дефолт).
+ SDPcpu DirtyCPUSchedulersPercentage: DirtyCPUSchedulersOnlinePercentage:
Похожий на что + SDcpu но использует проценты для установки количества грязных планировщиков ЦП
потоки для создания и количество грязных потоков планировщика ЦП, которые нужно установить в сети, когда
включена поддержка потоковой передачи. Указанные значения должны быть больше 0. Для
пример, + SDPcpu 50:25 устанавливает количество грязных потоков планировщика ЦП на 50% от
настроены логические процессоры и количество грязных потоков планировщика ЦП в сети, чтобы
25% доступных логических процессоров. ГрязныйЦППланировщикиПроцент может быть опущено
if : DirtyCPUSchedulersOnlinePercentage нет и наоборот. Количество грязных ЦП
планировщики онлайн могут быть изменены во время выполнения с помощью
эрланг: system_flag (dirty_cpu_schedulers_online, DirtyCPUSchedulersOnline).
Эта опция взаимодействует с + SDcpu настройки. Например, в системе с 8 логическими
сконфигурировано ядер и доступно 8 логических ядер, комбинация опций + SDcpu
4:4 + SDPcpu 50:25 (в любом порядке) приводит к 2 грязным потокам планировщика ЦП (50%
4) и 1 грязный поток планировщика ЦП в сети (25% из 4).
Этот параметр игнорируется, если в эмуляторе не включена поддержка потоковой передачи.
В настоящее время этой вариант is экспериментальный и поддерживается, только если эмулятор был
настроен и построен с поддержкой грязных планировщиков (он отключен
дефолт).
+ SDio Планировщики iOS:
Устанавливает количество грязных потоков планировщика ввода-вывода, создаваемых при наличии поддержки потоковой передачи.
был включен. Допустимый диапазон: 0-1024. По умолчанию планировщик количества грязных операций ввода-вывода
количество созданных потоков равно 10, как и количество потоков по умолчанию в асинхронной нить бассейн
.
Этот параметр игнорируется, если в эмуляторе не включена поддержка потоковой передачи.
В настоящее время этой вариант is экспериментальный и поддерживается, только если эмулятор был
настроен и построен с поддержкой грязных планировщиков (он отключен
дефолт).
+ sFlag Значение:
Планирование определенных флагов.
+ SBT Биндтипе:
Установите тип привязки планировщика.
Планировщики также могут быть связаны с помощью + stbt флаг. Единственная разница между этими
два флага - это то, как обрабатываются следующие ошибки:
* Привязка планировщиков не поддерживается на конкретной платформе.
* Нет доступной топологии ЦП. То есть исполняющая система не могла
автоматически определяет топологию ЦП, и нет пользователь определенный ЦП топология был установлен.
Если какая-либо из этих ошибок возникает, когда + SBT пройдено, исполняющая система будет
напечатайте сообщение об ошибке и откажитесь от запуска. Если какая-либо из этих ошибок возникает, когда + stbt
был пройден, система времени выполнения проигнорирует ошибку и запустит
с использованием несвязанных планировщиков.
Действует в настоящее время Биндтипеs:
u:
несвязанный - Планировщики не будут привязаны к логическим процессорам, т.е.
система решает, где выполнять потоки планировщика и когда их переносить. Этот
по умолчанию.
ns:
Не разбегайтесь - Планировщики с близкими идентификаторами планировщика будут привязаны как можно ближе
возможно аппаратно.
ts:
thread_ spread - Поток относится к аппаратным потокам (например, гиперпотокам Intel).
Планировщики с низкими идентификаторами планировщика будут привязаны к первому оборудованию.
потока каждого ядра, то планировщики с более высокими идентификаторами планировщика будут
привязан ко второму аппаратному потоку каждого ядра и т. д.
ps:
процессор_спространенный - Планировщики будут выкладывать вроде thread_ spread, но и более
микросхемы физического процессора.
s:
распространение - Планировщики будут выкладываться по мере возможности.
ннтс:
no_node_thread_spread - Подобно thread_ spread, но если несколько NUMA (Non-Uniform
Доступ к памяти) существует, планировщики будут распределены по одному узлу NUMA в
время, т.е. все логические процессоры одного узла NUMA будут привязаны к планировщикам в
последовательность.
нпс:
no_node_processor_spread - Подобно процессор_спространенный, но если несколько узлов NUMA
существует, планировщики будут распределены по одному узлу NUMA за раз, т. е. все логические
процессоры одного узла NUMA будут последовательно привязываться к планировщикам.
тннпс:
thread_no_node_processor_spread - Комбинация thread_ spreadи
no_node_processor_spread. Планировщики будут распределены по аппаратным потокам через
Узлы NUMA, но планировщики будут распределены по процессорам только внутри одного
Узел NUMA за раз.
db:
default_bind - Привязывает планировщики по умолчанию. В настоящее время по умолчанию
thread_no_node_processor_spread (что может измениться в будущем).
Привязка планировщиков в настоящее время поддерживается только в новых версиях Linux, Solaris, FreeBSD,
и системы Windows.
Если топология ЦП недоступна, когда + SBT флаг обрабатывается и Биндтипе любой
другой тип кроме u, система выполнения не запустится. Топология ЦП может быть
определены с использованием + sct флаг. Обратите внимание, что + sct флаг, возможно, придется передать до
+ SBT флаг в командной строке (в случае, если топология ЦП не была автоматически
обнаружен).
По умолчанию исполняющая система привязать планировщики к логическим процессорам.
ПРИМЕЧАНИЕ: Если система времени выполнения Erlang - единственный процесс операционной системы, который связывает
потоков к логическим процессорам, это улучшает производительность системы времени выполнения.
Однако, если другие процессы операционной системы (например, другая среда выполнения Erlang
system) также привязывают потоки к логическим процессорам, может произойти
штраф вместо этого. В некоторых случаях это снижение производительности может быть серьезным. Если это
В этом случае рекомендуется не связывать планировщики.
Имеет значение, как связаны планировщики. Например, в ситуациях, когда меньше
запущенные процессы, чем планировщики онлайн, исполняющая система пытается перенести
процессы в планировщики с низкими идентификаторами планировщика. Чем больше планировщиков
распределить по оборудованию, тем больше ресурсов будет доступно исполняющей системе
в таких ситуациях.
ПРИМЕЧАНИЕ: Если планировщику не удается выполнить привязку, это часто игнорируется. Это с
не всегда возможно проверить действительные идентификаторы логических процессоров. Если ошибка
сообщается, об этом будет сообщено error_logger. Если вы хотите убедиться, что
планировщики фактически связались в соответствии с запросом, позвоните
эрланг: system_info (scheduler_bindings).
+ sbwt нет | очень_короткий | короткий | средний | длинный | очень_длинный:
Установите порог ожидания занятости планировщика. По умолчанию средний. Порог определяет, насколько
длинные планировщики должны быть заняты ожиданием, когда у них закончится работа, перед сном.
ПРИМЕЧАНИЕ: Этот флаг может быть удален или изменен в любое время без предварительного уведомления.
+ scl истина | ложь:
Включение или отключение планировщика уплотнения нагрузки. По умолчанию планировщик уплотнения
нагрузка включена. Когда этот параметр включен, балансировка нагрузки будет стремиться к распределению нагрузки.
что приводит к полной загрузке максимально возможного количества потоков планировщика (т. е. не запуску
без работы). Это достигается путем переноса нагрузки (например, выполняемых процессов) в
меньший набор планировщиков, когда планировщики часто не работают. Когда
отключено, частота, с которой планировщики не работают, не учитывается.
счет логики балансировки нагрузки.
+ scl ложный аналогично + суб правда с той разницей, что + суб правда также будет
балансировать использование планировщика между планировщиками.
+ sct Топология ЦП:
* = целое число (); когда 0 =< =< 65535
* = -
* = |
* = , |
* = L
* = Т | т
* = C | c
* = п | п
* = N | п
* = |
* Топология ЦП = : |
Установите определяемую пользователем топологию ЦП. Определенная пользователем топология ЦП переопределит любые
автоматически определяемая топология ЦП. Топология ЦП используется, когда переплет
планировщики в логический процессоры.
Заглавные буквы означают настоящие идентификаторы, а строчные буквы - подделку.
идентификаторы используются только для описания топологии. Идентификаторы переданы как настоящие
идентификаторы могут использоваться системой времени выполнения при попытке доступа к определенным
аппаратное обеспечение, и если они некорректны, поведение не определено. Поддельный логический процессор
идентификаторы не принимаются, так как нет смысла определять топологию ЦП
без реальных логических идентификаторов ЦП. Идентификаторы потока, ядра, процессора и узла
могут быть опущены. Если не указано иное, идентификатор потока по умолчанию равен t0, идентификатор ядра по умолчанию c0,
идентификатор процессора по умолчанию p0, а идентификатор узла останется неопределенным. Либо каждый логический
процессор должен принадлежать одному и только одному узлу NUMA, или никакие логические процессоры не должны
принадлежат любым узлам NUMA.
И увеличение, и уменьшение s разрешены.
Идентификаторы узла NUMA являются общесистемными. То есть каждый узел NUMA в системе должен
иметь уникальный идентификатор. Идентификаторы процессора также являются общесистемными. Основной
идентификаторы являются общими для процессора. Идентификаторы потоков охватывают все ядро.
Порядок типов идентификаторов подразумевает иерархию топологии ЦП. Действительный
заказы либо эта информация поможет вам разобраться, почему Gamer’s Galaxy — ваш лучший выбор.
. То есть поток является частью
ядро, которое является частью процессора, который является частью узла NUMA, или поток является частью
ядра, которое является частью узла NUMA, являющегося частью процессора. Топология процессора
может состоять как из внешнего процессора, так и из внутреннего узла NUMA процессора, если
каждый логический процессор принадлежит одному и только одному узлу NUMA. Если is
не указано, его позиция по умолчанию будет перед . То есть по умолчанию
обрабатывать внешние узлы NUMA.
Если список идентификаторов используется в :
* должен быть список идентификаторов.
* По крайней мере, еще один тип идентификатора, кроме также должны иметь
список идентификаторов.
* Все списки идентификаторов должны содержать одинаковое количество идентификаторов.
Простой пример. Одноядерный четырехъядерный процессор можно описать так:
% erl + sct L0-3c0-3
1> эрланг: system_info (cpu_topology).
[{процессор, [{ядро, {логический, 0}},
{core, {logic, 1}},
{core, {logic, 2}},
{core, {logic, 3}}]}]
Немного более сложный пример. Два четырехъядерных процессора. Каждый процессор в своем
собственный узел NUMA. Порядок логических процессоров немного странный. Это по порядку
чтобы дать лучший пример списков идентификаторов:
% erl +sct L0-1,3-2c0-3p0N0:L7,4,6-5c0-3p1N1
1> эрланг: system_info (cpu_topology).
[{узел, [{процессор, [{ядро, {логический, 0}},
{core, {logic, 1}},
{core, {logic, 3}},
{core, {logic, 2}}]}]},
{узел, [{процессор, [{ядро, {логический, 7}},
{core, {logic, 4}},
{core, {logic, 6}},
{core, {logic, 5}}]}]}]
Пока настоящие идентификаторы верны, можно передать топологию ЦП, которая
неверное описание топологии ЦП. При осторожном использовании это может
быть очень полезным. Это для того, чтобы обмануть эмулятор и привязать его планировщики, когда вы
хотеть. Например, если вы хотите запустить несколько систем времени выполнения Erlang на одном
машина, вы хотите уменьшить количество используемых планировщиков и управлять процессором
топология, чтобы они были привязаны к разным логическим процессорам. Пример с двумя Erlang
системы исполнения на четырехъядерной машине:
% erl + sct L0-3c0-3 + sbt db + S3: 2 -detached -noinput -noshell -sname one
% erl + sct L3-0c0-3 + sbt db + S3: 2 -detached -noinput -noshell -sname two
В этом примере каждая исполняющая система имеет по два онлайн-планировщика, и все
планировщики онлайн будут работать на разных ядрах. Если мы перейдем на один планировщик онлайн
в одной исполняющей системе и три онлайн-планировщика в другой, все планировщики
online по-прежнему будет работать на разных ядрах.
Обратите внимание, что поддельная топология ЦП, которая не отражает, как выглядит реальная топология ЦП
подобное, вероятно, снизит производительность системы времени выполнения.
Для получения дополнительной информации см. эрланг: system_info (cpu_topology).
+ secio истина | ложь:
Включение или отключение расписания ввода-вывода с активной проверкой. По умолчанию в настоящее время правда,
значение по умолчанию было изменено с ложный в правда начиная с версии 7.0. Поведение до
этот флаг был введен соответствует + secio ложный.
Флаг действует, когда планировщики проверяют возможность выполнения операций ввода-вывода,
и когда будут выполняться такие операции ввода-вывода. Как следует из названия параметра,
планировщики будут более охотно проверять ввод / вывод, когда правда передается. Однако это
также подразумевает, что выполнение невыполненной операции ввода-вывода не будет иметь приоритет
в такой же степени, как когда ложный передается.
эрланг: system_info (eager_check_io) возвращает значение этого параметра, используемого, когда
запуск виртуальной машины.
+ sfwi Интервал:
Установить интервал принудительного пробуждения планировщика. Все очереди выполнения будут сканироваться каждый Интервал
миллисекунды. Пока в системе есть спящие планировщики, один планировщик будет
будить для каждой найденной непустой очереди выполнения. An Интервал нуля отключает это
функция, которая также используется по умолчанию.
Эта функция была введена как временный обходной путь для долго выполняющихся нативных
код, а также собственный код, который неправильно сокращает сокращения в OTP. Когда эти ошибки
были исправлены + sfwi флаг будет снят.
+ stbt Биндтипе:
Попробуйте установить тип привязки планировщика. То же, что и + SBT флаг, за исключением того, как
исправлены некоторые ошибки. Для получения дополнительной информации см. Документацию к + SBT
флаг.
+ суб истина | ложь:
Включение или выключение планировщик использование балансировка нагрузки. По умолчанию планировщик
балансировка использования отключена, и вместо этого планировщик уплотняет нагрузку.
включен, который будет стремиться к распределению нагрузки, вызывающему как можно больше планировщика
потоки по возможности должны быть полностью загружены (т. е. не работать без работы). Когда планировщик
включена балансировка использования, вместо этого система попытается сбалансировать планировщик
использование между планировщиками. То есть стремиться к равному использованию планировщика на
все планировщики.
+ суб правда поддерживается только в системах, где исполняющая система обнаруживает и использует
монотонно возрастающие часы высокого разрешения. В других системах исполняющая система
не запустится.
+ суб правда подразумевает + scl ложный, Разница между + суб правда и + scl ложный is
который + scl ложный не будет пытаться сбалансировать использование планировщика.
+ swct very_eager | eager | medium | lazy | very_lazy:
Установите порог очистки при пробуждении планировщика. По умолчанию средний. Этот флаг контролирует, как
Активные планировщики должны запрашивать пробуждение из-за определенных операций очистки.
При использовании ленивого режима наиболее важные операции очистки можно не выполнять.
пока планировщик простаивает. Когда используется активная настройка, планировщики будут больше
часто просыпаться, потенциально увеличивая загрузку ЦП.
ПРИМЕЧАНИЕ: Этот флаг может быть удален или изменен в любое время без предварительного уведомления.
+ sws по умолчанию | наследие:
Установите стратегию пробуждения планировщика. Стратегия по умолчанию изменена в erts-5.10 / OTP-R16A. Этот
стратегия ранее была известна как рассматривается в OTP-R15. В наследие стратегия была использована
по умолчанию от R13 до R15 включительно.
ПРИМЕЧАНИЕ: Этот флаг может быть удален или изменен в любое время без предварительного уведомления.
+ swt very_low | low | medium | high | very_high:
Установить порог пробуждения планировщика. По умолчанию средний. Порог определяет, когда следует
разбудить спящие планировщики, когда больше работы, чем может выполнить текущий бодрствующий
планировщики существуют. Низкий порог вызовет более раннее пробуждение, а высокий порог
вызовет более позднее пробуждение. Раннее пробуждение распределяет работу по нескольким
планировщики быстрее, но работа будет легче переключаться между планировщиками.
ПРИМЕЧАНИЕ: Этот флаг может быть удален или изменен в любое время без предварительного уведомления.
+ spp Буль:
Установить подсказку планировщика по умолчанию для параллелизма портов. Если установлено на правда, виртуальная машина
планировать задачи порта, когда это улучшит параллелизм в системе. Если установлено на
ложный, виртуальная машина попытается немедленно выполнить задачи порта, уменьшая задержку на
за счет параллелизма. Если этот флаг не был передан, подсказка планировщика по умолчанию
для параллелизма портов в настоящее время ложный. Используемое по умолчанию значение можно проверить в
время выполнения, позвонив erlang: system_info (параллелизм_портов). По умолчанию может быть
переопределить создание порта, передав параллелизм вариант open_port / 2.
+ sss размер:
Предлагаемый размер стека в киловордах для потоков планировщика. Допустимый диапазон: 4-8192
киловордов. Размер стека по умолчанию зависит от ОС.
+t размер:
Установите максимальное количество атомов, которое может обрабатывать виртуальная машина. По умолчанию 1048576.
+T Уровень:
Включает измененную синхронизацию и устанавливает измененный уровень синхронизации. В настоящее время допустимый диапазон
0-9. Время выполнения системы изменится. Высокий уровень обычно означает
большее изменение, чем низкий уровень. Изменение времени может быть очень полезно для поиска
ошибки, связанные с синхронизацией.
В настоящее время измененное время влияет на следующее:
Разработка нерест:
Вызов процесса порождать, spawn_link, spawn_monitorэта информация поможет вам разобраться, почему Gamer’s Galaxy — ваш лучший выбор. spawn_opt будет запланировано
сразу после завершения звонка. Когда более высокие модифицированные временные уровни
используется, вызывающий также будет спать некоторое время после того, как был запланирован.
Контекст скидки:
Количество сокращений, которые процесс может использовать до того, как он будет запланирован, составляет
увеличено или уменьшено.
вход скидки:
Количество сокращений, выполняемых перед проверкой ввода-вывода, увеличивается или уменьшается.
ПРИМЕЧАНИЕ: При включении модифицированного тайминга производительность снизится. Этот флаг Важно
предназначен для тестирования и отладки. Также обратите внимание, что Вернуться к и return_from прослеживать
сообщения будут потеряны при отслеживании BIF-файлов появления. Этот флаг может быть удален или
могут быть изменены в любое время без предварительного уведомления.
+V:
Заставляет эмулятор распечатать номер своей версии.
+v:
Подробный.
+W w | i | e:
Устанавливает отображение предупреждающих сообщений для error_logger. Сообщения, отправленные с ошибкой
logger, использующий одну из подпрограмм предупреждения, можно сопоставить либо с ошибками (+W e),
предупреждения (+W w) или информационные отчеты (+W i). По умолчанию - предупреждения. Текущее отображение
можно получить с помощью error_logger: warning_map / 0. Посмотреть error_logger(3 эрл) для дальнейшего
Информация.
+ zFlag Значение:
Разные флаги.
+ zdbbl размер:
Установите предел занятости буфера распределения (dist_buf_busy_limit) в килобайтах. Действительный
диапазон: 1-2097151. По умолчанию 1024.
Увеличение предела буфера позволит процессам буферизовать больше исходящих сообщений за
распределение. Когда будет достигнут предел буфера, отправляющие процессы будут
приостановлено до тех пор, пока размер буфера не уменьшится. Ограничение буфера для каждого распределения
канал. Более высокий предел даст меньшую задержку и более высокую пропускную способность за счет
более высокого использования памяти.
+ zdntgc время:
Установите время отложенной сборки мусора в таблице узлов (задержанный_node_table_gc) в
секунд. Допустимые значения: бесконечность или целое число в диапазоне [0-100000000].
По умолчанию 60.
Записи таблицы узлов, на которые нет ссылки, будут оставаться в таблице как минимум на
количество времени, которое определяет этот параметр. Задержка предотвращает повторное
удаления и вставки в таблицы от возникновения.
ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ
ERL_CRASH_DUMP:
Если эмулятору необходимо написать аварийный дамп, значением этой переменной будет
имя файла аварийного дампа. Если переменная не задана, имя сбоя
файл дампа будет erl_crash.dump в текущем каталоге.
ERL_CRASH_DUMP_NICE:
Юникс системы: Если эмулятору необходимо написать аварийный дамп, он будет использовать значение
эта переменная, чтобы установить хорошее значение для процесса, тем самым понижая его приоритет. В
допустимый диапазон - от 1 до 39 (более высокие значения будут заменены на 39). Самый высокий
значение 39 даст процессу самый низкий приоритет.
ERL_CRASH_DUMP_SECONDS:
Юникс системы: Эта переменная дает количество секунд, в течение которых эмулятор будет
разрешено проводить написание аварийного дампа. По истечении заданного количества секунд
эмулятор будет завершен сигналом SIGALRM.
Если переменная среды установлено или установлено на ноль секунд,
ERL_CRASH_DUMP_SECONDS = 0, система времени выполнения даже не будет пытаться записать сбой
файл дампа. Это просто прекратится.
Если для переменной среды задано отрицательное значение, например ERL_CRASH_DUMP_SECONDS = -1,
система выполнения будет бесконечно ждать записи файла аварийного дампа.
Эта переменная среды используется вместе с сердце if сердце это работает:
ERL_CRASH_DUMP_SECONDS = 0:
Полностью подавляет запись файла аварийного дампа, таким образом перезагружая систему выполнения.
немедленно. Это то же самое, что и не устанавливать переменную среды.
ERL_CRASH_DUMP_SECONDS = -1:
Установка отрицательного значения переменной среды приведет к прекращению работы
исполняющая система должна ждать, пока файл аварийного дампа не будет полностью записан.
ERL_CRASH_DUMP_SECONDS = S:
Буду ждать S секунд, чтобы завершить создание файла аварийного дампа, а затем прекратить
исполняющая система.
ERL_AFLAGS:
Содержимое этой переменной среды будет добавлено в начало команды.
линия для Erl.
Команда -Дополнительные флаг обрабатывается специально. Его область действия заканчивается в конце окружения
переменное содержание. Аргументы после -Дополнительные флаг перемещается в командную строку
в -Дополнительные раздел, то есть конец командной строки, следующий после -Дополнительные
флаг.
ERL_ZFLAGS и ERL_FLAGS:
Содержимое этих переменных среды будет добавлено в конец команды.
линия для Erl.
Команда -Дополнительные флаг обрабатывается специально. Его область действия заканчивается в конце окружения
переменное содержание. Аргументы после -Дополнительные флаг перемещается в командную строку
в -Дополнительные раздел, то есть конец командной строки, следующий после -Дополнительные
флаг.
ERL_LIBS:
Эта переменная среды содержит список дополнительных библиотечных каталогов, которые
сервер кода будет искать приложения и добавлять их в путь кода. Видеть код(3 эрл).
ERL_EPMD_АДРЕС:
Эта переменная среды может быть установлена в список IP-адресов, разделенных запятыми, в
в этом случае эпмд демон будет прослушивать только указанные адреса и
адрес обратной связи (который неявно добавляется в список, если он не был указан).
ERL_EPMD_PORT:
Эта переменная среды может содержать номер порта, который будет использоваться при обмене данными с
эпмд. Порт по умолчанию будет работать нормально в большинстве случаев. Можно указать другой порт
чтобы позволить узлам независимых кластеров сосуществовать на одном хосте. Все узлы в
кластер должен использовать тот же номер порта epmd.
КОНФИГУРАЦИЯ
Стандартную систему Erlang / OTP можно перенастроить, чтобы изменить поведение по умолчанию на
запускать.
Команда .эрланг Start-up Файл:
При запуске Erlang / OTP система ищет файл с именем .erlang в
каталог, в котором запущен Erlang / OTP. Если не найден, домашний каталог пользователя
искал файл .erlang.
Если найден файл .erlang, предполагается, что он содержит допустимые выражения Erlang. Эти
выражения оцениваются так, как если бы они были введены в оболочку.
Типичный файл .erlang содержит набор путей поиска, например:
io: format ("выполнение профиля пользователя в HOME / .erlang \ n", []).
код: add_path ("/ home / calvin / test / ebin").
код: add_path ("/ home / hobbes / bigappl-1.2 / ebin").
io: format (". erlang rc finished \ n", []).
user_default и оболочка_по умолчанию:
Предполагается, что функции в оболочке без префикса имени модуля
функциональные объекты (Funs), встроенные функции (BIF) или принадлежат модулю
user_default или shell_default.
Чтобы включить частные команды оболочки, определите их в модуле user_default и добавьте
следующий аргумент в качестве первой строки в файле .erlang.
код: load_abs (".... / user_default").
эрл:
Если содержимое .erlang изменено и закрыта версия user_default
определено, можно настроить среду Erlang / OTP. Более сильные изменения
можно сделать, указав аргументы командной строки в стартовом скрипте erl. Ссылаться на
Erl(1) и инициализации(3 эрл) для дополнительной информации.
Используйте erl онлайн с помощью сервисов onworks.net