diff --git a/rel/files/emqttd.config.development b/rel/files/emqttd.config.development index f93d30959..fed80e9c4 100644 --- a/rel/files/emqttd.config.development +++ b/rel/files/emqttd.config.development @@ -241,6 +241,27 @@ %{buffer, 4096}, ]} ]} + ]}, + + %% Erlang System Monitor + {sysmon, [ + + %% Long GC + {long_gc, 100}, + + %% 8M words. 32MB on 32-bit VM, 64MB on 64-bit VM. + %% 8 * 1024 * 1024 + {large_heap, 8388608}, + + %% Long Schedule(ms) + {long_schedule, 50}, + + %% Busy Port + {busy_port, true}, + + %% Busy Dist Port + {busy_dist_port, true} + ]} ]} ]. diff --git a/rel/files/emqttd.config.production b/rel/files/emqttd.config.production index 773f34b8a..4d92dfb0f 100644 --- a/rel/files/emqttd.config.production +++ b/rel/files/emqttd.config.production @@ -233,7 +233,30 @@ %{buffer, 4096}, ]} ]} + ]}, + + %% Erlang System Monitor + {sysmon, [ + + %% Long GC, don't monitor in production mode for: + %% https://github.com/erlang/otp/blob/feb45017da36be78d4c5784d758ede619fa7bfd3/erts/emulator/beam/erl_gc.c#L421 + {long_gc, false}, + + %% 8M words. 32MB on 32-bit VM, 64MB on 64-bit VM. + %% 8 * 1024 * 1024 + {large_heap, 8388608}, + + %% Long Schedule(ms) + {long_schedule, 50}, + + %% Busy Port + {busy_port, true}, + + %% Busy Dist Port + {busy_dist_port, true} + ]} + ]} ].