InglésFrancésEspañol

icono de página de OnWorks

erl - Online en la nube

Ejecute erl en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando erl que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


erl - El emulador de Erlang

DESCRIPCIÓN


El sistema erl El programa inicia un sistema de ejecución de Erlang. Los detalles exactos (por ejemplo, si
erl es un script o un programa y qué otros programas llama) dependen del sistema.

Los usuarios de Windows probablemente quieran utilizar Bien programa en su lugar, que se ejecuta en su propia ventana
con barras de desplazamiento y admite la edición de línea de comandos. El erl programa en Windows no proporciona
edición de líneas en su shell, y en Windows 95 no hay forma de volver al texto que
se ha desplazado fuera de la pantalla. El erl El programa debe usarse, sin embargo, en pipelines o si
desea redirigir la entrada o salida estándar.

Nota:
A partir de la versión 5.9 de ERTS (OTP-R15B), el sistema de tiempo de ejecución no enlazar planificadores
a procesadores lógicos. Para obtener más información, consulte la documentación del + sbt bandera del sistema.

EXPORTACIONES


erl

Inicia un sistema de ejecución de Erlang.

Los argumentos se pueden dividir en emulador banderas, banderas y llanura argumentos:

* Cualquier argumento que comience con el personaje + se interpreta como un emulador bandera.

Como lo indica el nombre, las banderas del emulador controlan el comportamiento del emulador.

* Cualquier argumento que comience con el personaje - (guion) se interpreta como un bandera
que debe pasarse a la parte Erlang del sistema de tiempo de ejecución, más
específicamente a la init proceso del sistema, ver init(3erl).

El sistema init proceso en sí mismo interpreta algunas de estas banderas, el init banderas. También
almacena las banderas restantes, el usuario banderas. Este último puede ser recuperado por
llamar init: get_argument / 1.

Puede observarse que hay una pequeña cantidad de indicadores "-" que ahora en realidad
son banderas del emulador, consulte la descripción a continuación.

* Los argumentos sencillos no se interpretan de ninguna manera. También son almacenados por el
init proceso y se puede recuperar llamando init: get_plain_arguments / 0. Llanura
Los argumentos pueden ocurrir antes de la primera bandera, o después de una -- bandera. Adicionalmente,
la bandera -extra hace que todo lo que sigue se convierta en argumentos sencillos.

Ejemplo:

% erl + W w -nombre arnie + R 9 -s my_init -extra + bertie
(arnie @ host) 1> init: get_argument (sname).
{ok, [["arnie"]]}
(arnie @ host) 2> init: get_plain_arguments ().
["+ bertie"]

Aquí +W w y +R 9 son banderas del emulador. -s mi_init es una bandera de inicio, interpretada por
init. -nombre de arnie es una bandera de usuario, almacenada por init. Kernel lo lee y
hacer que el sistema de ejecución de Erlang se distribuya. Finalmente, todo después
-extra (es decir, + bertie) se considera argumentos simples.

% erl -mi bandera 1
1> init:obtener_argumento(mi bandera).
{ok, [["1"]]}
2> init: get_plain_arguments ().
[]

Aquí la bandera de usuario -mi bandera 1 es pasado y almacenado por el init proceso. Es un
bandera definida por el usuario, presumiblemente utilizada por alguna aplicación definida por el usuario.

BANDERAS


En la siguiente lista, los indicadores de inicio están marcados (indicador de inicio). A menos que se especifique lo contrario, todos
otros indicadores son indicadores de usuario, cuyos valores se pueden recuperar llamando
init: get_argument / 1. Tenga en cuenta que la lista de indicadores de usuario no es exhaustiva, puede haber
indicadores adicionales específicos de la aplicación que, en cambio, están documentados en el correspondiente
documentación de la aplicación.

--(bandera de inicio):
Todo lo que sigue -- hasta la siguiente bandera-bandera or + bandera) se considera simple
argumentos y se puede recuperar usando init: get_plain_arguments / 0.

-Solicitud por ola:
Establece el parámetro de configuración de la aplicación. por al valor ola para la aplicación
Application, consulte nuestra página, applicación(5) y solicitud en línea.(3erl).

-archivo_args NombreArchivo:
Los argumentos de la línea de comando se leen del archivo NombreArchivo. Los argumentos leídos del
archivo reemplace el '-archivo_args NombreArchivo'marca en la línea de comando resultante.

El archivo NombreArchivo debe ser un archivo de texto sin formato y puede contener comentarios y comandos
argumentos de línea. Un comentario comienza con un carácter # y continúa hasta el siguiente final de
carácter de línea. La barra invertida (\\) se utiliza como carácter de comillas. Toda la línea de comando
argumentos aceptados por erl están permitidos, también los -archivo_args NombreArchivo bandera. Ten cuidado
para no causar dependencias circulares entre archivos que contienen el -archivo_args bandera,
sin embargo.

El sistema -extra bandera se trata especialmente. Su alcance termina al final del archivo. Argumentos
después de una -extra la bandera se mueven en la línea de comando al -extra sección, es decir
el final de la línea de comando que sigue a un -extra bandera.

-async_shell_start:
El shell Erlang inicial no lee la entrada del usuario hasta que el procedimiento de arranque del sistema haya
completado (Erlang 5.4 y posteriores). Esta bandera deshabilita la sincronización de inicio.
característica y permite que el shell se inicie en paralelo con el resto del sistema.

-bota Archive:
Especifica el nombre del archivo de inicio, Archivo.boot, que se utiliza para iniciar el sistema. Ver
init(3erl). A no ser que Archive contiene una ruta absoluta, el sistema busca Archivo.boot
en la corriente y $ RAÍZ / contenedor directorios.

Predeterminado a $ ROOT / bin / start.boot.

-var_arranque var Usted:
Si el script de arranque contiene una variable de ruta var que no sea $ RAÍZ, esta variable es
expandido a Usted. Se utiliza cuando las aplicaciones se instalan en otro directorio que
$ ROOT / lib, consulte nuestra página, systools: make_script / 1,2.

-code_path_cache:
Habilita la caché de ruta de código del servidor de código, consulte código(3erl).

-compilar Mod1 Mod2 ...:
Compila los módulos especificados y luego termina (con un código de salida distinto de cero si el
la compilación de algún archivo no se realizó correctamente). Implica -sin entrada. No recomendado - usar
erlc preferiblemente.

-config Config:
Especifica el nombre de un archivo de configuración, Config.config, que se utiliza para configurar
aplicaciones. Ver applicación(5) y solicitud en línea.(3erl).

-conectar_todos false:
Si esta bandera está presente, global no mantendrá una red completamente conectada de
nodos Erlang distribuidos, y luego no se puede utilizar el registro de nombre global. Ver
global(3erl).

-Galleta Cookies :
Bandera obsoleta sin ningún efecto y errores ortográficos comunes para -setcookie. Utilizar -setcookie
preferiblemente.

-separado:
Inicia el sistema en tiempo de ejecución de Erlang separado de la consola del sistema. Útil para correr
demonios y procesos de fondo. Implica -sin entrada.

-emu_args:
Útil para depurar. Imprime los argumentos reales enviados al emulador.

-env Variable Value alto:
Establece la variable de entorno del sistema operativo host Variable al valor Value alto para el Erlang
sistema de tiempo de ejecución. Ejemplo:

% erl -env DISPLAY gin: 0

En este ejemplo, un sistema de ejecución de Erlang se inicia con el DISPLAY entorno
variable establecida en ginebra: 0.

-evaluar Expr(bandera de inicio):
Hace init evaluar la expresión Expr, consulte nuestra página, init(3erl).

-extra(bandera de inicio):
Todo lo que sigue -extra se considera argumentos simples y se puede recuperar usando
init: get_plain_arguments / 0.

-corazón:
Inicia la monitorización de los latidos del corazón del sistema en tiempo de ejecución de Erlang. Ver corazón(3erl).

-oculto:
Inicia el sistema en tiempo de ejecución de Erlang como un nodo oculto, si se ejecuta como un nodo distribuido.
Los nodos ocultos siempre establecen conexiones ocultas a todos los demás nodos excepto a los nodos
en el mismo grupo global. Las conexiones ocultas no se publican en ninguno de los
nodos conectados, es decir, ninguno de los nodos conectados es parte del resultado de
nodos / 0 en el otro nodo. Ver también grupos globales ocultos, grupo_global(3erl).

-Hospedadores Tu guía:
Especifica las direcciones IP de los hosts en los que se ejecutan los servidores de arranque Erlang, consulte
servidor_erl_boot(3erl). Esta bandera es obligatoria si el -cargador inet la bandera está presente.

Las direcciones IP deben proporcionarse en el formato estándar (cuatro números decimales separados por
períodos, por ejemplo "150.236.20.74". Los nombres de los hosts no son aceptables, pero una transmisión
La dirección (preferiblemente limitada a la red local) es.

-carné de identidad Id:
Especifica la identidad del sistema de ejecución de Erlang. Si se ejecuta como distribuido
nodo, Id debe ser idéntico al nombre suministrado junto con el -nombre de or -nombre
bandera.

-init_debug:
Hace init escriba alguna información de depuración mientras interpreta el script de arranque.

-instrumento(bandera del emulador):
Selecciona un sistema de tiempo de ejecución instrumentado de Erlang (máquina virtual) para ejecutar, en lugar del
uno ordinario. Cuando se ejecuta un sistema de tiempo de ejecución instrumentado, algunos datos de uso de recursos
se puede obtener y analizar utilizando el módulo instrumento. Funcionalmente se comporta
exactamente como un sistema de ejecución normal de Erlang.

-cargador Cargador:
Especifica el método utilizado por erl_prim_loader para cargar módulos Erlang en el sistema.
See erl_prim_loader(3erl). Dos Cargador los métodos son compatibles, efile y inet. efile
significa usar el sistema de archivos local, este es el predeterminado. inet significa usar un servidor de arranque en
otra máquina, y el -carné de identidad, -Hospedadores y -setcookie Las banderas también deben especificarse.
If Cargador es otra cosa, el usuario proporcionó Cargador se inicia el programa de puerto.

-hacer:
Hace que el sistema de ejecución de Erlang invoque Haz todo() en el directorio de trabajo actual y
luego terminar. Ver make(3erl). Implica -sin entrada.

-hombre Módulo:
Muestra la página del manual del módulo Erlang. Módulo. Solo es compatible con Unix.

-modo interactivo | integrado:
Indica si el sistema debe cargar código dinámicamente (interactivo), o si todo el código
debe cargarse durante la inicialización del sistema (integrado), ver código(3erl). Predeterminado a
interactivo.

-nombre Nombre:
Convierte el sistema en tiempo de ejecución de Erlang en un nodo distribuido. Esta bandera invoca toda la red.
servidores necesarios para que un nodo se distribuya. Ver red_kernel(3erl). Tambien es
se aseguró de que epmd se ejecuta en el host actual antes de que se inicie Erlang. Ver epmd(1).

El nombre del nodo será Nombre @ Host, donde el Host es el nombre de host completo de
el anfitrión actual. Para nombres cortos, use el -nombre de bandera en su lugar.

-sin entrada:
Asegura que el sistema de ejecución de Erlang nunca intente leer ninguna entrada. Implica
-sin cáscara.

-sin cáscara:
Inicia un sistema de ejecución de Erlang sin shell. Esta bandera permite tener la
El sistema de tiempo de ejecución de Erlang como componente de una serie de conductos UNIX.

-no se pega:
Desactiva la función de directorio fijo del servidor de código Erlang, consulte código(3erl).

-carcasa:
Invoca el antiguo shell Erlang de Erlang 3.3. La cáscara vieja todavía se puede utilizar.

-Pensilvania Dir1 Dir2 ...:
Agrega los directorios especificados al principio de la ruta del código, similar a
código: add_pathsa / 1. Vea código(3erl). Como alternativa a -Pensilvania, si varios directorios
deben anteponerse a la ruta del código y los directorios tienen un padre común
directorio, ese directorio padre podría especificarse en el ERL_LIBS entorno
variable. Ver código(3erl).

-pz Dir1 Dir2 ...:
Agrega los directorios especificados al final de la ruta del código, similar a
código: add_pathsz / 1. Vea código(3erl).

-camino Dir1 Dir2 ...:
Reemplaza la ruta especificada en el script de arranque. Ver guión(5).

-proto_dist proto:
Especifique un protocolo para la distribución de Erlang.

inet_tcp:
TCP sobre IPv4 (el predeterminado)

inet_tls:
distribución sobre TLS / SSL

inet6_tcp:
TCP sobre IPv6

Por ejemplo, para iniciar nodos distribuidos IPv6:

% erl-nombre [email protected] -proto_dist inet6_tcp

-remsh Nodo:
Inicia Erlang con un shell remoto conectado a Nodo.

áspero Programa:
Especifica una alternativa a rsh para iniciar un nodo esclavo en un host remoto. Ver
esclavo(3erl).

-correr Camino [Función [Arg1, arg2, ...]](bandera de inicio):
Hace init llamar a la función especificada. Func por defecto es comienzo. Si no hay argumentos
siempre, se supone que la función es de aridad 0. De lo contrario, se supone que es de
arity 1, tomando la lista [Arg1, Arg2, ...] como argumento. Todos los argumentos se pasan como
instrumentos de cuerda. Ver init(3erl).

-s Camino [Función [Arg1, arg2, ...]](bandera de inicio):
Hace init llamar a la función especificada. Func por defecto es comienzo. Si no hay argumentos
siempre, se supone que la función es de aridad 0. De lo contrario, se supone que es de
arity 1, tomando la lista [Arg1, Arg2, ...] como argumento. Todos los argumentos se pasan como
átomos. Ver init(3erl).

-setcookie Cookies :
Establece la cookie mágica del nodo en Cookies , consulte nuestra página, erlang: set_cookie / 2.

-tiempo_apagado Hora:
Especifica cuánto tiempo (en milisegundos) el init el proceso puede gastar
apagar el sistema. Si Hora ms han transcurrido, todos los procesos que aún existen son
delicado. Predeterminado a infinito.

-nombre de Nombre:
Convierte el sistema en tiempo de ejecución de Erlang en un nodo distribuido, similar a -nombre, Pero el
parte del nombre de host del nombre del nodo Nombre @ Host será el nombre corto, no completamente
calificado.

A veces, esta es la única forma de ejecutar Erlang distribuido si el DNS (Nombre de dominio
System) no se está ejecutando. No puede haber comunicación entre los nodos que se ejecutan con el
-nombre de bandera y los que corren con la -nombre bandera, ya que los nombres de los nodos deben ser únicos en
sistemas Erlang distribuidos.

-smp [habilitar | auto | deshabilitar]:
-smp habilitar y -smp inicia el sistema en tiempo de ejecución de Erlang con la compatibilidad con SMP habilitada. Esta
puede fallar si no hay disponible un sistema de tiempo de ejecución con soporte SMP. -smp auto comienza el
Sistema de tiempo de ejecución Erlang con soporte SMP habilitado si está disponible y más de uno
se detectan los procesadores lógicos. -smp inhabilitar inicia un sistema en tiempo de ejecución sin SMP
apoyo.

NOTA: El sistema de tiempo de ejecución con soporte SMP no estará disponible en todos los
plataformas. Ver también el +S bandera.

-versión(bandera del emulador):
Hace que el emulador imprima su número de versión. Lo mismo que erl +V.

EMULADOR BANDERAS


erl invoca el código del emulador Erlang (máquina virtual), que admite la
siguientes banderas:

+a tamaño:
Tamaño de pila sugerido, en kilowords, para subprocesos en el grupo de subprocesos asíncronos. Rango válido
es 16-8192 kilovatios. El tamaño de pila sugerido por defecto es de 16 kilovatios, es decir, 64
kilobyte en arquitecturas de 32 bits. Este pequeño tamaño predeterminado se ha elegido desde el
La cantidad de subprocesos asíncronos puede ser bastante grande. El tamaño predeterminado es suficiente para los controladores.
entregado con Erlang / OTP, pero puede que no sea lo suficientemente grande para otros dinámicamente
vinculado en controladores que utilizan el driver_async () funcionalidad. Tenga en cuenta que el valor
Pasado es solo una sugerencia, e incluso podría ignorarse en algunas plataformas.

+A tamaño:
Establece el número de subprocesos en el grupo de subprocesos asíncronos, el rango válido es 0-1024. Si hilo
El soporte está disponible, el valor predeterminado es 10.

+B [c | d | i]:
El sistema c la opción hace Ctrl-C interrumpir el shell actual en lugar de invocar el emulador
manejador de roturas. El d opción (lo mismo que especificar +B sin una opción extra) desactiva
el manejador de la ruptura. El i La opción hace que el emulador ignore cualquier señal de interrupción.

Si c La opción se usa con viejo en Unix, Ctrl-C reiniciará el proceso de shell
en lugar de interrumpirlo.

Tenga en cuenta que en Windows, esta marca solo se aplica a Bienno, erl (viejo). Nota
también eso Ctrl-Pausa se utiliza en lugar de Ctrl-C en Windows.

+c su verdadero | false:
Habilitar o deshabilitar time elimina necesidad de pilares angulados:

su verdadero:
Habilite la corrección de tiempo. Este es el valor predeterminado si la corrección de tiempo se admite en el
plataforma específica.

false:
Desactive la corrección de tiempo.

Para compatibilidad con versiones anteriores, se puede omitir el valor booleano. Esto se interpreta como
+c false.

+C no_time_warp | única_distorsión_de_tiempo | multi_time_warp:
Set time deformar modo:

no_time_warp:
No Hora Deformar Moda (el valor por defecto)

única_distorsión_de_tiempo:
Individual Hora Deformar Moda

multi_time_warp:
Multi Hora Deformar Moda

+d:
Si el emulador detecta un error interno (o se queda sin memoria), lo hará de forma predeterminada
generar tanto un volcado de memoria como un volcado de memoria. Sin embargo, el volcado del núcleo no será muy
útil ya que el contenido de los montones de procesos es destruido por la generación del volcado por caída.

El sistema +d La opción indica al emulador que solo produzca un volcado del núcleo y no un volcado por caída si
se detecta un error interno.

llamar erlang: detener / 1 con un argumento de cadena aún producirá un volcado por caída. En Unix
sistemas, enviar a un proceso de emulador una señal SIGUSR1 también forzará un volcado por caída.

+e Número:
Establecer el número máximo de tablas ETS.

+ ec:
Forzar el comprimido opción en todas las tablas ETS. Solo destinado a prueba y evaluación.

+ fnl:
La VM trabaja con nombres de archivo como si estuvieran codificados usando la codificación ISO-latin-1,
no permitir caracteres Unicode con puntos de código más allá de 255.

See STDLIB Del usuario Guía para obtener más información sobre los nombres de archivo Unicode. Tenga en cuenta que esto
El valor también se aplica a los parámetros de la línea de comandos y las variables de entorno (consulte STDLIB
Del usuario Guía).

+ fnu [{w | i | e}]:
La VM trabaja con nombres de archivo como si estuvieran codificados usando UTF-8 (o algún otro sistema
codificación Unicode específica). Este es el valor predeterminado en los sistemas operativos que hacen cumplir
Codificación Unicode, es decir, Windows y MacOS X.

El sistema + fnu El cambio puede ser seguido por w, io e para controlar la forma de archivo codificado incorrectamente
los nombres deben ser reportados. w significa que se envía una advertencia al registrador_de_errores cuando
un nombre de archivo codificado incorrectamente se "omite" en las listas de directorios, i significa que esos
Los nombres de archivo codificados incorrectamente se ignoran silenciosamente y e significa que la función API
devuelve un error cada vez que se encuentra un nombre de archivo (o directorio) codificado incorrectamente. w
es el predeterminado. Tenga en cuenta que archivo: read_link / 1 siempre devolverá un error si el enlace
apunta a un nombre de archivo no válido.

See STDLIB Del usuario Guía para obtener más información sobre los nombres de archivo Unicode. Tenga en cuenta que esto
El valor también se aplica a los parámetros de la línea de comandos y las variables de entorno (consulte STDLIB
Del usuario Guía).

+ fna [{w | i | e}]:
Selección entre + fnl y + fnu se realiza en función de la configuración regional actual en el
OS, lo que significa que si ha configurado su terminal para la codificación UTF-8, el sistema de archivos es
Se espera que utilice la misma codificación para los nombres de archivo. Esto es predeterminado en todos los
sistemas excepto MacOS X y Windows.

El sistema + fna El cambio puede ser seguido por w, io e. Esto tendrá efecto si la configuración regional
Los ajustes causan el comportamiento de + fnu para ser seleccionado. Ver la descripción de + fnu anterior.
Si la configuración regional provoca el comportamiento de + fnl para ser seleccionado, entonces w, io e will
no tiene ningún efecto.

See STDLIB Del usuario Guía para obtener más información sobre los nombres de archivo Unicode. Tenga en cuenta que esto
El valor también se aplica a los parámetros de la línea de comandos y las variables de entorno (consulte STDLIB
Del usuario Guía).

+ hms Tamaño:
Establece el tamaño de pila predeterminado de los procesos al tamaño Tamaño.

+ hmbs Tamaño:
Establece el tamaño del montón virtual binario predeterminado de los procesos al tamaño Tamaño.

+ hpds Tamaño:
Establece el tamaño del diccionario de procesos inicial de los procesos al tamaño Tamaño.

+K su verdadero | false:
Habilita o deshabilita la funcionalidad de sondeo del kernel si el emulador la admite. Defecto
is false (discapacitado). Si el emulador no es compatible con la encuesta del kernel y el +K bandera es
pasado al emulador, se emite una advertencia al inicio.

+l:
Habilita el seguimiento de carga automático, mostrando información mientras se carga el código.

+L:
No cargue información sobre los nombres de los archivos de origen y los números de línea. Esto salvará a algunos
memoria, pero las excepciones no contendrán información sobre los nombres de archivo y la línea
números.

+ MBandera Value alto:
Indicadores específicos del asignador de memoria, consulte erts_alloc(3erl) para obtener más información.

+n Comportamiento:
Controlar el comportamiento de las señales a los puertos.

A partir de OTP-R16, las señales a los puertos se entregan verdaderamente de forma asincrónica. Tenga en cuenta que las señales
siempre se han documentado como asincrónicos. La implementación subyacente tiene,
sin embargo, anteriormente entregó estas señales sincrónicamente. Erlang correctamente escrito
los programas deberían poder manejar esto sin ningún problema. Errores en Erlang existente
Los programas que hacen suposiciones falsas sobre las señales a los puertos pueden, sin embargo, ser difíciles de
encontrar. Este interruptor se ha introducido para al menos facilitar la comparación
comportamientos durante un período de transición. Tenga en cuenta que este vídeo bandera is a partir de su
introducción, y está programado para su eliminación en OTP-R17. Comportamiento debería ser uno de los
siguientes caracteres:

d:
El valor por defecto. Señales asincrónicas. Un proceso que envía una señal a un puerto puede
Continuar la ejecución antes de que la señal se haya entregado al puerto.

s:
Señales sincrónicas. Un proceso que envía una señal a un puerto no continuará
ejecución hasta que se haya entregado la señal. Deberían only ser utilizado para pruebas y
depuración.

a:
Señales asincrónicas. Como predeterminado, pero un proceso que envía una señal incluso
continuar con la ejecución con mayor frecuencia antes de que la señal se haya entregado al puerto.
Debería only ser utilizado para probar y depurar.

+ pc Gama de Colores:
Establece el rango de caracteres que el sistema considerará imprimibles en heurística.
detección de cuerdas. Esto normalmente afecta al formato shell, depurador e io:
funciones (cuando se usa ~ tp en la cadena de formato).

Actualmente dos valores para el Gama de Colores son compatibles:

latin1:
El valor por defecto. Solo los caracteres en el rango ISO-latin-1 pueden considerarse imprimibles,
lo que significa que un carácter con un punto de código> 255 nunca se considerará
imprimible y que las listas que contienen tales caracteres se mostrarán como listas de
enteros en lugar de cadenas de texto por herramientas.

Unicode:
Todos los caracteres Unicode imprimibles se consideran al determinar si una lista de
los enteros se mostrarán en sintaxis de cadena. Esto puede dar resultados inesperados si
por ejemplo, su fuente no cubre todos los caracteres Unicode.

Se tambien io: rango_imprimible / 0.

+P Número | legado:
Establece el número máximo de procesos existentes simultáneamente para este sistema si un
Número se pasa como valor. Rango válido para Número is [1024 134217727-]

NOTA: El máximo real elegido puede ser mucho mayor que el Número aprobado. Actualmente
el sistema de tiempo de ejecución a menudo, pero no siempre, elige un valor que es una potencia de 2. Este
Sin embargo, podría modificarse en el futuro. El valor real elegido puede comprobarse mediante
llamar erlang: system_info (process_limit).

El valor predeterminado es 262144

If legado se pasa como valor, el algoritmo heredado para la asignación de proceso
Se utilizarán identificadores. Usando el algoritmo heredado, los identificadores se asignarán en
de una manera estrictamente creciente hasta que se haya alcanzado el identificador más grande posible. Nota
que este algoritmo adolece de problemas de rendimiento y puede, en determinadas circunstancias,
las circunstancias sean extremadamente caras. El algoritmo heredado está en desuso y el
legado La opción está programada para su eliminación en OTP-R18.

+Q Número | legado:
Establece el número máximo de puertos existentes simultáneamente para este sistema si un Número
se pasa como valor. Rango válido para Número is [1024 134217727-]

NOTA: El máximo real elegido puede ser mucho mayor que el real Número pasado.
Actualmente, el sistema de tiempo de ejecución a menudo, pero no siempre, elige un valor que es un poder de
2. Sin embargo, esto podría modificarse en el futuro. El valor real elegido puede ser
comprobado llamando erlang: system_info (límite de puerto).

El valor predeterminado utilizado es normalmente 65536. Sin embargo, si el sistema en tiempo de ejecución puede
determinar la cantidad máxima de descriptores de archivo que se le permite abrir y este valor
Es mas grande que 65536, el valor elegido aumentará a un valor mayor o igual a
la cantidad máxima de descriptores de archivo que se pueden abrir.

En Windows, el valor predeterminado se establece en 8196 porque las limitaciones normales del sistema operativo están establecidas
más alto de lo que la mayoría de las máquinas pueden manejar.

Anteriormente la variable de entorno ERL_MAX_PORTS se utilizó para establecer el máximo
número de puertos existentes simultáneamente. Esta variable de entorno está obsoleta y
programada para su eliminación en OTP-R17, pero aún se puede utilizar.

If legado se pasa como valor, el algoritmo heredado para la asignación de identificadores de puerto
se utilizará. Usando el algoritmo heredado, los identificadores se asignarán de forma estrictamente
aumentando la moda hasta que se haya alcanzado el identificador más grande posible. Tenga en cuenta que esto
El algoritmo adolece de problemas de rendimiento y, en determinadas circunstancias, puede
extremadamente caro. El algoritmo heredado está en desuso y el legado opción es
programado para su eliminación en OTP-R18.

+R Número de versión:
Establece el modo de compatibilidad.

El mecanismo de distribución no es compatible con versiones anteriores de forma predeterminada. Esta bandera establece el
emulador en modo de compatibilidad con una versión anterior de Erlang / OTP Número de versión.
el número de versión debe estar en el rango <current liberación> -2 .. lanzamiento>. Esto
limita el emulador, lo que le permite comunicarse con los nodos de Erlang (como
así como los nodos C y Java) que ejecutan esa versión anterior.

Nota: asegúrese de que todos los nodos (Erlang-, C- y Java nodos) de un sistema Erlang distribuido
es de la misma versión de Erlang / OTP, o de dos versiones X e Y de Erlang / OTP diferentes,
donde all Los nodos Y tienen el modo de compatibilidad X.

+r:
Forzar el movimiento del bloque de memoria ets en la reasignación.

+ rg Límite de grupos de lectores:
Limita la cantidad de grupos de lectores utilizados por bloqueos de lectura / escritura optimizados para lectura
operaciones en el sistema de ejecución de Erlang. De forma predeterminada, el límite de grupos de lectores es 64.

Cuando la cantidad de programadores es menor o igual al límite de grupos de lectores, cada
El planificador tiene su propio grupo de lectores. Cuando la cantidad de programadores es mayor que la
límite de grupos de lectores, los programadores comparten grupos de lectores. Los grupos de lectores compartidos se degradan
rendimiento de bloqueo de lectura y desbloqueo de lectura mientras una gran cantidad de grupos de lectores se degrada
rendimiento de bloqueo de escritura, por lo que el límite es una compensación entre rendimiento para lectura
operaciones y rendimiento para operaciones de escritura. Cada grupo de lectores consume actualmente
64 bytes en cada bloqueo de lectura / escritura. También tenga en cuenta que un sistema en tiempo de ejecución que utiliza un lector compartido
grupos se benefician de uniéndose programadores a lógico procesadores, ya que el lector agrupa
se distribuyen mejor entre planificadores.

+S Programadores: SchedulerOnline:
Establece el número de subprocesos del planificador para crear y los subprocesos del planificador para establecer en línea
cuando se ha habilitado la compatibilidad con SMP. El máximo para ambos valores es 1024. Si el Erlang
El sistema de tiempo de ejecución es capaz de determinar la cantidad de procesadores lógicos configurados y
procesadores lógicos disponibles, Programadores por defecto a los procesadores lógicos
configurado, y Programadores en línea por defecto a los procesadores lógicos disponibles;
de lo contrario, los valores predeterminados serán 1. Programadores puede omitirse si : SchedulerOnline
no es y viceversa. El número de programadores en línea se puede cambiar en tiempo de ejecución a través de
erlang: system_flag (planificadores_en línea, Programadores en línea).

If Programadores or Programadores en línea se especifica como un número negativo, el valor es
restado del número predeterminado de procesadores lógicos configurados o lógicos
procesadores disponibles, respectivamente.

Especificando el valor 0 para Programadores or Programadores en línea restablece el número de
subprocesos del planificador o subprocesos del planificador en línea, respectivamente, a su valor predeterminado.

Esta opción se ignora si el emulador no tiene habilitada la compatibilidad con SMP (consulte la -smp
bandera).

+ SP SchedulersPercentage: SchedulersOnlinePercentage:
Similar a +S pero usa porcentajes para establecer el número de subprocesos del programador para crear,
basado en procesadores lógicos configurados y subprocesos del programador para establecer en línea, según
procesadores lógicos disponibles, cuando se ha habilitado la compatibilidad con SMP. Los valores especificados deben
ser mayor que 0. Por ejemplo, + SP 50:25 establece el número de subprocesos del planificador al 50%
de los procesadores lógicos configurados y el número de subprocesos del planificador en línea al 25%
de los procesadores lógicos disponibles. Programadores Porcentaje puede omitirse si
: SchedulersOnlinePercentage no es y viceversa. El número de programadores en línea puede
ser cambiado en tiempo de ejecución a través de erlang: system_flag (planificadores_en línea, Programadores en línea).

Esta opción interactúa con +S ajustes. Por ejemplo, en un sistema con 8 núcleos lógicos
configurados y 8 núcleos lógicos disponibles, la combinación de las opciones +S 4:4 + SP
50:25 (en cualquier orden) da como resultado 2 subprocesos del programador (50% de 4) y 1 programador
hilo en línea (25% de 4).

Esta opción se ignora si el emulador no tiene habilitada la compatibilidad con SMP (consulte la -smp
bandera).

+ SDcpu DirtyCPUSchedulers: DirtyCPUSchedulersOnline:
Establece el número de subprocesos del programador de CPU sucios para crear y el programador de CPU sucio
subprocesos para establecer en línea cuando se ha habilitado la compatibilidad con subprocesos. El máximo para ambos
Los valores son 1024, y cada valor está aún más limitado por la configuración de
programadores: el número de subprocesos del programador de CPU sucios creados no puede exceder el número
de subprocesos del planificador normales creados y el número de subprocesos del planificador de CPU sucios
en línea no puede exceder el número de subprocesos normales del programador en línea (consulte el +S y + SP
banderas para más detalles). De forma predeterminada, el número de subprocesos del programador de CPU sucios creados
es igual al número de subprocesos del planificador normales creados y al número de CPU sucias
subprocesos del planificador en línea es igual al número de subprocesos del planificador normal en línea.
Programadores DirtyCPUS puede omitirse si : DirtyCPUSchedulersOnline no es y viceversa.
El número de programadores de CPU sucios en línea se puede cambiar en tiempo de ejecución a través de
erlang: system_flag (dirty_cpu_schedulers_online, DirtyCPUSchedulersOnline).

Esta opción se ignora si el emulador no tiene habilitada la compatibilidad con subprocesos.
Actualmente, este vídeo opción is experimental y es compatible solo si el emulador fue
configurado y construido con soporte para programadores sucios habilitados (está deshabilitado por
defecto).

+ SDPcpu DirtyCPUSchedulersPercentage: DirtyCPUSchedulersOnlinePercentage:
Similar a + SDcpu pero usa porcentajes para establecer el número de programador de CPU sucio
subprocesos para crear y número de subprocesos sucios del programador de CPU para establecer en línea cuando
Se ha habilitado la compatibilidad con subprocesos. Los valores especificados deben ser mayores que 0. Para
ejemplo, + SDPcpu 50:25 establece el número de subprocesos del programador de CPU sucios al 50% del
procesadores lógicos configurados y el número de subprocesos del programador de CPU sucios en línea para
25% de los procesadores lógicos disponibles. Porcentaje de programadores de CPUS sucio puede omitirse
if : DirtyCPUSchedulersOnlinePercentage no es y viceversa. La cantidad de CPU sucia
Los programadores en línea se pueden cambiar en tiempo de ejecución a través de
erlang: system_flag (dirty_cpu_schedulers_online, DirtyCPUSchedulersOnline).

Esta opción interactúa con + SDcpu ajustes. Por ejemplo, en un sistema con 8 lógicas
núcleos configurados y 8 núcleos lógicos disponibles, la combinación de las opciones + SDcpu
4:4 + SDPcpu 50:25 (en cualquier orden) da como resultado 2 subprocesos del programador de CPU sucios (50% de
4) y 1 subproceso del programador de CPU sucio en línea (25% de 4).

Esta opción se ignora si el emulador no tiene habilitada la compatibilidad con subprocesos.
Actualmente, este vídeo opción is experimental y es compatible solo si el emulador fue
configurado y construido con soporte para programadores sucios habilitados (está deshabilitado por
defecto).

+ SDio Programadores de iOS:
Establece el número de subprocesos del programador de E / S sucios que se crearán cuando se haya admitido subprocesos.
sido habilitado. El rango válido es 0-1024. De forma predeterminada, el número de programador de E / S sucio
subprocesos creados es 10, lo mismo que el número predeterminado de subprocesos en el Asincrónico o fresa de hueso denso alberca
.

Esta opción se ignora si el emulador no tiene habilitada la compatibilidad con subprocesos.
Actualmente, este vídeo opción is experimental y es compatible solo si el emulador fue
configurado y construido con soporte para programadores sucios habilitados (está deshabilitado por
defecto).

+ sFlag Value alto:
Programación de banderas específicas.

+ sbt tipo de enlace:
Establecer el tipo de enlace del planificador.

Los planificadores también se pueden vincular mediante el + stbt bandera. La única diferencia entre estos
two flags es cómo se manejan los siguientes errores:

* La vinculación de programadores no es compatible con la plataforma específica.

* No hay topología de CPU disponible. Ese es el sistema de tiempo de ejecución no pudo
detectó automáticamente la topología de la CPU, y no usuario se define CPU topología se estableció.

Si alguno de estos errores ocurre cuando + sbt ha pasado, el sistema de tiempo de ejecución
imprime un mensaje de error y rehúsa comenzar. Si alguno de estos errores ocurre cuando + stbt
se ha pasado, el sistema de tiempo de ejecución ignorará silenciosamente el error y se iniciará
utilizando programadores independientes.

Actualmente válido tipo de enlaces:

u:
sin consolidar - Los planificadores no estarán vinculados a los procesadores lógicos, es decir, el funcionamiento
El sistema decide dónde se ejecutan los subprocesos del planificador y cuándo migrarlos. Esta
es el predeterminado.

ns:
sin diseminación - Los programadores con identificadores de programador cercanos se vincularán tan cerca como
posible en hardware.

ts:
hilo_spread - Subproceso se refiere a subprocesos de hardware (por ejemplo, hiperprocesos de Intel).
Los programadores con identificadores de programador bajos estarán vinculados al primer hardware
hilo de cada núcleo, entonces los programadores con identificadores de programador más altos serán
enlazado al segundo hilo de hardware de cada núcleo, etc.

ps:
propagación_procesador - Los planificadores se distribuirán como hilo_spread, pero también sobre
chips de procesador físico.

s:
spread - Los planificadores se distribuirán tanto como sea posible.

noches:
no_node_thread_spread - Me gusta hilo_spread, pero si hay varios NUMA (no uniformes
Memory Access) existe, los programadores se distribuirán en un nodo NUMA en un
tiempo, es decir, todos los procesadores lógicos de un nodo NUMA estarán vinculados a los programadores en
secuencia.

nnps:
no_node_processor_spread - Me gusta propagación_procesador, pero si varios nodos NUMA
existe, los programadores se distribuirán en un nodo NUMA a la vez, es decir, todos los
Los procesadores de un nodo NUMA se vincularán a los programadores en secuencia.

tnnps:
thread_no_node_processor_spread - Una combinación de hilo_spready
no_node_processor_spread. Los programadores se distribuirán en subprocesos de hardware en
Nodos NUMA, pero los programadores solo se distribuirán entre los procesadores internamente en uno
Nodo NUMA a la vez.

db:
enlace_predeterminado - Vincula los programadores de la forma predeterminada. Actualmente el valor predeterminado es
thread_no_node_processor_spread (que puede cambiar en el futuro).

La vinculación de programadores solo se admite actualmente en Linux, Solaris, FreeBSD,
y sistemas Windows.

Si no hay una topología de CPU disponible cuando + sbt la bandera se procesa y tipo de enlace es cualquier
otro tipo que u, el sistema de tiempo de ejecución no se iniciará. La topología de la CPU puede ser
definido usando el + sct bandera. Tenga en cuenta que el + sct puede que tenga que pasar la bandera antes
de la forma más + sbt bandera en la línea de comando (en caso de que no se haya
detectado).

El sistema de tiempo de ejecución no vincular programadores a procesadores lógicos.

NOTA: Si el sistema en tiempo de ejecución de Erlang es el único proceso del sistema operativo que enlaza
subprocesos a procesadores lógicos, esto mejora el rendimiento del sistema en tiempo de ejecución.
Sin embargo, si otros procesos del sistema operativo (como, por ejemplo, otro tiempo de ejecución de Erlang
sistema) también enlazan subprocesos a procesadores lógicos, puede haber un rendimiento
pena en su lugar. En algunos casos, esta penalización de rendimiento puede ser grave. Si esto es
En este caso, se recomienda no vincular los programadores.

La forma en que los programadores están vinculados es importante. Por ejemplo, en situaciones en las que hay menos
procesos en ejecución que los programadores en línea, el sistema de tiempo de ejecución intenta migrar
procesos a programadores con identificadores de programador bajos. Cuanto más los programadores son
repartidos por el hardware, más recursos estarán disponibles para el sistema en tiempo de ejecución
en tales situaciones

NOTA: Si un planificador no se vincula, a menudo se ignorará en silencio. Esto desde
no siempre es posible verificar identificadores de procesador lógicos válidos. Si un error
se informa, se informará a la registrador_de_errores. Si desea verificar que el
los programadores en realidad se han enlazado según lo solicitado, llame
erlang: información_del_sistema (enlaces_del_programador).

+ sbwt ninguno | muy_corto | corto | medio | largo | muy_largo:
Establece el umbral de espera de ocupado del planificador. El valor predeterminado es mediano . El umbral determina cómo
los programadores largos deben estar ocupados esperando cuando se quedan sin trabajo antes de irse a dormir.

NOTA: Esta bandera se puede quitar o cambiar en cualquier momento sin previo aviso.

+ scl verdadero | falso:
Habilita o deshabilita la compactación de carga del programador. Por defecto, la compactación del planificador de
la carga está habilitada. Cuando está habilitado, el equilibrio de carga se esforzará por lograr una distribución de carga
lo que hace que la mayor cantidad posible de subprocesos del programador se carguen por completo (es decir, no se ejecuten
Sin trabajo). Esto se logra migrando la carga (por ejemplo, procesos ejecutables) a
un conjunto más pequeño de programadores cuando los programadores se quedan sin trabajo con frecuencia. Cuándo
desactivado, la frecuencia con la que los programadores se quedan sin trabajo no se tomará en cuenta
cuenta por la lógica de equilibrio de carga.
+ scl false es parecido a + sub su verdadero con la diferencia de que + sub su verdadero también lo hará
equilibrar la utilización del programador entre programadores.

+ sct CpuTopología:

* = entero(); when 0 =< =< 65535

* = -

* = |

* = , |

* = L

* = T | t

* = C | C

* = PAGS | pags

* = norte | norte

* = |


* CpuTopología = : |

Establezca una topología de CPU definida por el usuario. La topología de CPU definida por el usuario anulará cualquier
topología de CPU detectada automáticamente. La topología de la CPU se utiliza cuando uniéndose
programadores a lógico procesadores.

Las letras mayúsculas significan identificadores reales y las letras minúsculas significan falso
identificadores que solo se utilizan para la descripción de la topología. Identificadores pasados ​​como reales
Los identificadores pueden ser utilizados por el sistema en tiempo de ejecución al intentar acceder
hardware y si no son correctos el comportamiento es indefinido. CPU lógica falsa
no se aceptan identificadores ya que no tiene sentido definir la topología de la CPU
sin identificadores de CPU lógicos reales. Identificadores de subprocesos, núcleos, procesadores y nodos
puede quedar fuera. Si se deja fuera, el id. De hilo predeterminado es t0, el ID de núcleo predeterminado es c0,
ID de procesador por defecto es p0, y la identificación del nodo se dejará sin definir. O cada uno lógico
El procesador debe pertenecer a uno y solo un nodo NUMA, o ningún procesador lógico debe
pertenecen a cualquier nodo NUMA.

Tanto en aumento como en disminución s están permitidos.

Los identificadores de nodo NUMA son para todo el sistema. Es decir, cada nodo NUMA del sistema debe
tener un identificador único. Los identificadores de procesador también son para todo el sistema. Centro
los identificadores son para todo el procesador. Los identificadores de subprocesos tienen todo el núcleo.

El orden de los tipos de identificadores implica la jerarquía de la topología de la CPU. Válido
los pedidos son o
. Es decir, el hilo es parte de
un núcleo que es parte de un procesador que es parte de un nodo NUMA, o un hilo es parte
de un núcleo que forma parte de un nodo NUMA que forma parte de un procesador. Una topología de cpu
puede constar de nodos NUMA internos y externos del procesador, siempre que
cada procesador lógico pertenece a un solo nodo NUMA. Si is
dejado fuera, su posición predeterminada será antes . Es decir, el valor predeterminado es
procesador de nodos NUMA externos.

Si se utiliza una lista de identificadores en una :

* tiene que ser una lista de identificadores.

* Al menos otro tipo de identificador aparte de también tengo que tener un
lista de identificadores.

* Todas las listas de identificadores deben producir la misma cantidad de identificadores.

Un ejemplo sencillo. Un solo procesador de cuatro núcleos se puede describir de esta manera:

% erl + sct L0-3c0-3
1> erlang: system_info (cpu_topology).
[{procesador, [{núcleo, {lógico, 0}},
{núcleo, {lógico, 1}},
{núcleo, {lógico, 2}},
{núcleo, {lógico, 3}}]}]

Un ejemplo un poco más complicado. Dos procesadores de cuatro núcleos. Cada procesador en su
propio nodo NUMA. El orden de los procesadores lógicos es un poco extraño. Esto en orden
para dar un mejor ejemplo de listas de identificadores:

% erl +sct L0-1,3-2c0-3p0N0:L7,4,6-5c0-3p1N1
1> erlang: system_info (cpu_topology).
[{nodo, [{procesador, [{núcleo, {lógico, 0}},
{núcleo, {lógico, 1}},
{núcleo, {lógico, 3}},
{núcleo, {lógico, 2}}]}]},
{nodo, [{procesador, [{núcleo, {lógico, 7}},
{núcleo, {lógico, 4}},
{núcleo, {lógico, 6}},
{núcleo, {lógico, 5}}]}]}]

Siempre que los identificadores reales sean correctos, está bien pasar una topología de CPU que sea
no es una descripción correcta de la topología de la CPU. Cuando se usa con cuidado, esto puede
será muy útil. Esto con el fin de engañar al emulador para que vincule sus programadores como usted
desear. Por ejemplo, si desea ejecutar varios sistemas de ejecución de Erlang en el mismo
máquina, desea reducir la cantidad de programadores utilizados y manipular la CPU
topología para que se vinculen a diferentes CPU lógicas. Un ejemplo, con dos Erlang
sistemas de tiempo de ejecución en una máquina de cuatro núcleos:

% erl + sct L0-3c0-3 + sbt db + S3: 2 -desconectado -noinput -noshell -sname one
% erl + sct L3-0c0-3 + sbt db + S3: 2 -desconectado -noinput -noshell -sname two

En este ejemplo, cada sistema de ejecución tiene dos programadores, cada uno en línea, y todos
Los programadores en línea se ejecutarán en diferentes núcleos. Si cambiamos a un programador en línea
en un sistema de tiempo de ejecución y tres programadores en línea en el otro, todos los programadores
online seguirá funcionando en diferentes núcleos.

Tenga en cuenta que una topología de CPU falsa que no refleja cómo se ve la topología de CPU real
es probable que like disminuya el rendimiento del sistema en tiempo de ejecución.

Para más información, consulte la erlang: system_info (cpu_topology).

+ secio verdadero | falso:
Habilite o deshabilite la programación de E / S de verificación ansiosa. El valor predeterminado es actualmente su verdadero.
el valor predeterminado fue cambiado de false a su verdadero a partir de la versión 7.0. El comportamiento antes
esta bandera fue introducida corresponde a + secio false.

La bandera afecta cuando los programadores verifican las operaciones de E / S que se pueden ejecutar,
y cuándo se ejecutarán dichas operaciones de E / S. Como implica el nombre del parámetro,
Los programadores estarán más ansiosos por verificar las E / S cuando su verdadero esta pasado. Esto sin embargo
también implica que la ejecución de la operación de E / S pendiente no se priorizará para
en la misma medida que cuando false esta pasado.

erlang: system_info (eager_check_io) devuelve el valor de este parámetro utilizado cuando
iniciando la VM.

+ sfwi Intervalo:
Establece el intervalo de activación forzada del programador. Todas las colas de ejecución se analizarán cada Intervalo
milisegundos. Mientras haya programadores inactivos en el sistema, un programador
ser despertado por cada cola de ejecución no vacía encontrada. Un Intervalo de cero desactiva esto
característica, que también es la predeterminada.

Esta función se ha introducido como una solución temporal para aplicaciones nativas de ejecución prolongada.
código y código nativo que no supera las reducciones correctamente en OTP. Cuando estos bichos
se ha arreglado el + sfwi se eliminará la bandera.

+ stbt tipo de enlace:
Intente establecer el tipo de enlace del planificador. Lo mismo que el + sbt bandera con la excepción de cómo
se manejan algunos errores. Para obtener más información, consulte la documentación del + sbt
bandera.

+ sub verdadero | falso:
Habilitar o deshabilitar planificador utilización Equilibrio de carga. Por planificador predeterminado
el equilibrio de utilización está deshabilitado y, en su lugar, la compactación de carga del programador es
habilitado, que se esforzará por lograr una distribución de carga que haga que el programador
subprocesos como sea posible para estar completamente cargados (es decir, no quedarse sin trabajo). Cuando el programador
el equilibrio de utilización está habilitado, el sistema intentará equilibrar el planificador
utilización entre planificadores. Es decir, esfuércese por lograr un uso equitativo del programador en
todos los programadores.
+ sub su verdadero solo es compatible con sistemas en los que el sistema de tiempo de ejecución detecta y utiliza un
reloj de alta resolución que aumenta monótonamente. En otros sistemas, el sistema de ejecución
no podrá comenzar.
+ sub su verdadero implica + scl false. La diferencia entre + sub su verdadero y + scl false is
que + scl false no intentará equilibrar la utilización del programador.

+ swct muy_eager | ansioso | medio | perezoso | muy_lazy:
Establezca el umbral de limpieza de activación del programador. El valor predeterminado es mediano . Esta bandera controla cómo
Los programadores ansiosos deberían solicitar la activación debido a ciertas operaciones de limpieza.
Cuando se usa una configuración perezosa, las operaciones de limpieza más destacadas se pueden dejar sin hacer
mientras un programador está inactivo. Cuando se utiliza una configuración entusiasta, los programadores
con frecuencia se despierta, aumentando potencialmente la utilización de la CPU.

NOTA: Esta bandera se puede quitar o cambiar en cualquier momento sin previo aviso.

+ sws predeterminado | heredado:
Establezca la estrategia de activación del programador. La estrategia predeterminada cambió en erts-5.10 / OTP-R16A. Esta
La estrategia se conocía anteriormente como propuesta en OTP-R15. El legado se utilizó la estrategia
por defecto desde R13 hasta R15 inclusive.

NOTA: Esta bandera se puede quitar o cambiar en cualquier momento sin previo aviso.

+ swt muy_bajo | bajo | medio | alto | muy_ alto:
Establece el umbral de activación del programador. El valor predeterminado es mediano . El umbral determina cuándo
Despertar a los programadores durmientes cuando hay más trabajo del que pueden manejar los actualmente despiertos.
existen programadores. Un umbral bajo provocará despertares más tempranos y un umbral alto
causará despertares posteriores. Los despertares tempranos distribuirán el trabajo entre varios
programadores más rápido, pero el trabajo rebotará más fácilmente entre programadores.

NOTA: Esta bandera se puede quitar o cambiar en cualquier momento sin previo aviso.

+ spp bool:
Establezca la sugerencia del programador predeterminado para el paralelismo de puertos. Si se establece en su verdadero, la VM
programar tareas de puerto al hacerlo mejorará el paralelismo en el sistema. Si se establece en
false, la VM intentará realizar tareas de puerto inmediatamente, mejorando la latencia en el
A expensas del paralelismo. Si esta bandera no se ha pasado, la sugerencia del programador predeterminado
para el paralelismo de puertos es actualmente false. El uso predeterminado se puede inspeccionar en
tiempo de ejecución llamando erlang: system_info (puerto_parallelismo). El valor predeterminado puede ser
anulado en la creación de puertos pasando el paralelismo opción de open_port / 2.

+ sss tamaño:
Tamaño de pila sugerido, en kilovatios, para los subprocesos del planificador. El rango válido es 4-8192
kilowords. El tamaño de pila predeterminado depende del sistema operativo.

+t tamaño:
Establezca el número máximo de átomos que puede manejar la máquina virtual. El valor predeterminado es 1048576.

+T Nivel:
Habilita la sincronización modificada y establece el nivel de sincronización modificado. El rango válido actualmente es
0-9. La sincronización del sistema de tiempo de ejecución cambiará. Un nivel alto generalmente significa un
mayor cambio que un nivel bajo. Cambiar el tiempo puede ser muy útil para encontrar
errores relacionados con el tiempo.

Actualmente, la sincronización modificada afecta lo siguiente:

Procesos desove:
Un proceso que llama desovar, enlace_generador, monitor_generadoro generar_opt será programado
inmediatamente después de completar la llamada. Cuando los niveles de tiempo modificados más altos son
utilizado, la persona que llama también dormirá durante un tiempo después de haber sido programado.

Contexto reducciones:
La cantidad de reducciones que se permite usar un proceso antes de ser programado es
aumentado o reducido.

Entrada reducciones:
La cantidad de reducciones realizadas antes de verificar las E / S aumenta o se reduce.

NOTA: El rendimiento se verá afectado cuando se habilite la sincronización modificada. Esta bandera es only
destinado a pruebas y depuración. También tenga en cuenta que volver a y regresar de rastrear
los mensajes se perderán al rastrear los BIF de generación. Esta bandera puede ser eliminada o
cambiado en cualquier momento sin previo aviso.

+V:
Hace que el emulador imprima su número de versión.

+v:
Verboso.

+W w | i | e:
Establece la asignación de mensajes de advertencia para registrador_de_errores. Mensajes enviados al error
registrador que utiliza una de las rutinas de advertencia se puede asignar a errores (+W e),
advertencias+W w) o informes de información (+W i). El valor predeterminado son las advertencias. El mapeo actual
se puede recuperar usando error_logger: mapa_de_advertencia / 0. Vea registrador_de_errores(3erl) para más


+ zFlag Value alto:
Banderas diversas.

+ zdbbl tamaño:
Establezca el límite de ocupación del búfer de distribución (dist_buf_busy_limit) en kilobytes. Válido
el rango es 1-2097151. El valor predeterminado es 1024.

Un límite de búfer más grande permitirá a los procesos almacenar más mensajes salientes en el búfer
distribución. Cuando se haya alcanzado el límite de búfer, los procesos de envío serán
suspendido hasta que el tamaño del búfer se haya reducido. El límite de búfer es por distribución
canal. Un límite más alto dará una latencia más baja y un rendimiento más alto a expensas
de mayor uso de memoria.

+ zdntgc time:
Establezca el tiempo de recolección de basura de la tabla de nodo retrasado (delay_node_table_gc) en
segundos. Los valores válidos son infinito o un número entero en el rango [0-100000000].
El valor predeterminado es 60.

Las entradas de la tabla de nodos que no se refieren permanecerán en la tabla durante al menos el
cantidad de tiempo que determina este parámetro. La persistencia evita que se repita
que se produzcan eliminaciones e inserciones en las tablas.

MEDIO AMBIENTE VARIABLES


ERL_CRASH_DUMP:
Si el emulador necesita escribir un volcado por caída, el valor de esta variable será el
nombre de archivo del archivo de volcado por caída. Si la variable no está configurada, el nombre del bloqueo
el archivo de volcado será erl_crash.dump en el directorio actual.

ERL_CRASH_DUMP_NICE:
Unix sistemas: Si el emulador necesita escribir un volcado por caída, usará el valor de
esta variable para establecer el valor agradable para el proceso, reduciendo así su prioridad. El
el rango permitido es de 1 a 39 (los valores más altos se reemplazarán por 39). El más alto
valor, 39, dará al proceso la prioridad más baja.

ERL_CRASH_DUMP_SECONDS:
Unix sistemas: Esta variable da la cantidad de segundos que el emulador estará
Permitido gastar escribiendo un volcado de memoria. Cuando haya transcurrido el número de segundos indicado,
el emulador terminará con una señal SIGALRM.

Si la variable de entorno es no se establece o se establece en cero segundos,
ERL_CRASH_DUMP_SECONDS = 0, el sistema de tiempo de ejecución ni siquiera intentará escribir el bloqueo
archivo de volcado. Simplemente terminará.

Si la variable de entorno se establece en valor negativo, p. Ej. ERL_CRASH_DUMP_SECONDS = -1,
el sistema en tiempo de ejecución esperará indefinidamente a que se escriba el archivo de volcado por caída.

Esta variable de entorno se utiliza junto con corazón if corazón Esta corriendo:

ERL_CRASH_DUMP_SECONDS = 0:
Suprime la escritura de un archivo de volcado por caída por completo, reiniciando así el sistema en tiempo de ejecución
inmediatamente. Esto es lo mismo que no establecer la variable de entorno.

ERL_CRASH_DUMP_SECONDS = -1:
Establecer la variable de entorno en un valor negativo causará la terminación de
que el sistema de tiempo de ejecución espere hasta que el archivo de volcado por caída se haya escrito por completo.

ERL_CRASH_DUMP_SECONDS = S:
Esperará por S segundos para completar el archivo de volcado por caída y luego terminar el
sistema de tiempo de ejecución.

ERL_AFLAGS:
El contenido de esta variable de entorno se agregará al comienzo del comando
línea para erl.

El sistema -extra bandera se trata especialmente. Su alcance termina al final del medio ambiente.
contenido variable. Argumentos que siguen a un -extra la bandera se mueve en la línea de comando
en el -extra sección, es decir, el final de la línea de comando que sigue a una -extra
bandera.

ERL_ZFLAGS y ERL_BANDERAS:
El contenido de estas variables de entorno se agregará al final del comando
línea para erl.

El sistema -extra bandera se trata especialmente. Su alcance termina al final del medio ambiente.
contenido variable. Argumentos que siguen a un -extra la bandera se mueve en la línea de comando
en el -extra sección, es decir, el final de la línea de comando que sigue a una -extra
bandera.

ERL_LIBS:
Esta variable de entorno contiene una lista de directorios de biblioteca adicionales que el
El servidor de códigos buscará aplicaciones y las agregará a la ruta del código. Ver código(3erl).

ERL_EPMD_ADDRESS:
Esta variable de entorno se puede establecer en una lista de direcciones IP separadas por comas, en
cuyo caso el epmd El demonio escuchará solo en la (s) dirección (es) especificadas y en el
dirección de bucle de retorno (que se agrega implícitamente a la lista si no se ha especificado).

ERL_EPMD_PORT:
Esta variable de entorno puede contener el número de puerto que se utilizará al comunicarse con
epmd. El puerto predeterminado funcionará bien en la mayoría de los casos. Se puede especificar un puerto diferente
para permitir que los nodos de los clústeres independientes coexistan en el mismo host. Todos los nodos en un
el clúster debe utilizar el mismo número de puerto epmd.

CONFIGURACIÓN


El sistema estándar Erlang / OTP se puede reconfigurar para cambiar el comportamiento predeterminado en
puesta en marcha.

El sistema .erlang Start-up archivo:
Cuando se inicia Erlang / OTP, el sistema busca un archivo llamado .erlang en el
directorio donde se inicia Erlang / OTP. Si no se encuentra, el directorio de inicio del usuario es
buscó un archivo .erlang.

Si se encuentra un archivo .erlang, se asume que contiene expresiones Erlang válidas. Estos
las expresiones se evalúan como si fueran entradas al shell.

Un archivo .erlang típico contiene un conjunto de rutas de búsqueda, por ejemplo:

io: format ("ejecutando perfil de usuario en HOME / .erlang \ n", []).
código: add_path ("/ home / calvin / test / ebin").
código: add_path ("/ home / hobbes / bigappl-1.2 / ebin").
io: formato (". erlang rc terminado \ n", []).

usuario_predeterminado y shell_predeterminado:
Se asume que las funciones en el shell que no tienen el prefijo de un nombre de módulo son
objetos funcionales (Funs), funciones integradas (BIF) o pertenecen al módulo
user_default o shell_default.

Para incluir comandos de shell privados, defínalos en un módulo user_default y agregue el
siguiente argumento como la primera línea en el archivo .erlang.

código: load_abs (".... / user_default").

Erl:
Si se cambia el contenido de .erlang y se crea una versión privada de user_default
definido, es posible personalizar el entorno Erlang / OTP. Cambios más poderosos
se puede hacer proporcionando argumentos de línea de comando en el script de inicio erl. Referirse a
erl(1) y init(3erl) para obtener más información.

Use erl en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    rpmsunidos
    rpmsunidos
    ¡Únase a nosotros en Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Habilite el repositorio URPMS en su
    sistema -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Descargar unitedrpms
  • 2
    Impulsar las bibliotecas de C ++
    Impulsar las bibliotecas de C ++
    Boost ofrece portátiles gratuitos
    Bibliotecas de C++ revisadas por pares. Él
    El énfasis está en las bibliotecas portátiles que
    funciona bien con la biblioteca estándar de C++.
    Ver http://www.bo...
    Descargar bibliotecas Boost C++
  • 3
    VirtualGL
    VirtualGL
    VirtualGL redirige los comandos 3D de un
    Aplicación Unix / Linux OpenGL en un
    GPU del lado del servidor y convierte la
    renderiza imágenes en 3D en una secuencia de video
    con la cual ...
    Descargar VirtualGL
  • 4
    libusb
    libusb
    Biblioteca para habilitar el espacio de usuario
    programas de aplicación para comunicarse
    Dispositivos USB. Público: Desarrolladores, Fin
    Usuarios/Escritorio. lenguaje de programacion: c
    Categorías ...
    Descargar libusb
  • 5
    TRAGO
    TRAGO
    SWIG es una herramienta de desarrollo de software
    que conecta programas escritos en C y
    C ++ con una variedad de alto nivel
    lenguajes de programación. SWIG se utiliza con
    diferente...
    Descargar SWIG
  • 6
    WooCommerce Nextjs reaccionar tema
    WooCommerce Nextjs reaccionar tema
    Tema React WooCommerce, creado con
    Siguiente JS, Webpack, Babel, Node y
    Express, usando GraphQL y Apollo
    Cliente. Tienda WooCommerce en React(
    contiene: Productos...
    Descargar el tema WooCommerce Nextjs React
  • Más "

Comandos de Linux

Ad