vm.args 4.0 KB

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