vm.args 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. ######################################################################
  2. ## Erlang VM Args
  3. ######################################################################
  4. ## NOTE:
  5. ##
  6. ## Arguments configured in this file might be overridden by configs from `emqx.conf`.
  7. ##
  8. ## Some basic VM arguments are to be configured in `emqx.conf`,
  9. ## such as `node.name` for `-name` and `node.cooke` for `-setcookie`.
  10. ## Sets the maximum number of simultaneously existing processes for this system.
  11. ## Preferably set in `emqx.conf`,
  12. #+P 2097152
  13. ## Sets the maximum number of simultaneously existing ports for this system.
  14. ## Preferably set in `emqx.conf`,
  15. #+Q 1048576
  16. ## Sets the maximum number of ETS tables
  17. ## Preferably set in `emqx.conf`,
  18. #+e 262144
  19. ## Sets the maximum number of atoms the virtual machine can handle.
  20. #+t 1048576
  21. ## Set the location of crash dumps
  22. #-env ERL_CRASH_DUMP {{ platform_log_dir }}/crash.dump
  23. ## Set how many times generational garbages collections can be done without
  24. ## forcing a fullsweep collection.
  25. -env ERL_FULLSWEEP_AFTER 1000
  26. ## Heartbeat management; auto-restarts VM if it dies or becomes unresponsive
  27. ## (Disabled by default..use with caution!)
  28. #-heart
  29. ## Specify the erlang distributed protocol.
  30. ## Can be one of: inet_tcp, inet6_tcp, inet_tls
  31. #-proto_dist inet_tcp
  32. ## The shell is started in a restricted mode.
  33. ## In this mode, the shell evaluates a function call only if allowed.
  34. ## Prevent user from accidentally calling a function from the prompt that could harm a running system.
  35. -stdlib restricted_shell emqx_restricted_shell
  36. ## Specify SSL Options in the file if using SSL for Erlang Distribution.
  37. ## Used only when -proto_dist set to inet_tls
  38. #-ssl_dist_optfile {{ platform_etc_dir }}/ssl_dist.conf
  39. ## Specifies the net_kernel tick time in seconds.
  40. ## This is the approximate time a connected node may be unresponsive until
  41. ## it is considered down and thereby disconnected.
  42. -kernel net_ticktime 120
  43. ## Sets the distribution buffer busy limit (dist_buf_busy_limit).
  44. ## Preferably set in `emqx.conf`,
  45. #+zdbbl 8192
  46. ## Sets default scheduler hint for port parallelism.
  47. +spp true
  48. ## Sets the number of threads in async thread pool. Valid range is 0-1024.
  49. ## Increase the parameter if there are many simultaneous file I/O operations.
  50. +A 4
  51. ## Sets the default heap size of processes to the size Size.
  52. #+hms 233
  53. ## Sets the default binary virtual heap size of processes to the size Size.
  54. #+hmbs 46422
  55. ## Sets the default maximum heap size of processes to the size Size.
  56. ## Defaults to 0, which means that no maximum heap size is used.
  57. ##For more information, see process_flag(max_heap_size, MaxHeapSize).
  58. #+hmax 0
  59. ## Sets the default value for process flag message_queue_data. Defaults to on_heap.
  60. #+hmqd on_heap | off_heap
  61. ## Sets the number of IO pollsets to use when polling for I/O.
  62. #+IOp 1
  63. ## Sets the number of IO poll threads to use when polling for I/O.
  64. ## Increase this for the busy systems with many concurrent connection.
  65. +IOt 4
  66. ## Sets the number of scheduler threads to create and scheduler threads to set online.
  67. #+S 8:8
  68. ## Sets the number of dirty CPU scheduler threads to create and dirty CPU scheduler threads to set online.
  69. #+SDcpu 8:8
  70. ## Sets the number of dirty I/O scheduler threads to create.
  71. +SDio 8
  72. ## Suggested stack size, in kilowords, for scheduler threads.
  73. #+sss 32
  74. ## Suggested stack size, in kilowords, for dirty CPU scheduler threads.
  75. #+sssdcpu 40
  76. ## Suggested stack size, in kilowords, for dirty IO scheduler threads.
  77. #+sssdio 40
  78. ## Sets scheduler bind type.
  79. ## Can be one of: u, ns, ts, ps, s, nnts, nnps, tnnps, db
  80. #+sbt db
  81. ## Sets a user-defined CPU topology.
  82. #+sct L0-3c0-3p0N0:L4-7c0-3p1N1
  83. ## Sets the mapping of warning messages for error_logger
  84. #+W w
  85. ## Sets time warp mode: no_time_warp | single_time_warp | multi_time_warp
  86. #+C no_time_warp
  87. ## Prevents loading information about source filenames and line numbers.
  88. #+L
  89. ## Specifies how long time (in milliseconds) to spend shutting down the system.
  90. ## See: http://erlang.org/doc/man/erl.html
  91. -shutdown_time 30000
  92. ## patches dir
  93. -pa "{{ platform_data_dir }}/patches"
  94. ## Mnesia thresholds
  95. -mnesia dump_log_write_threshold 5000
  96. -mnesia dump_log_time_threshold 60000