diff --git a/apps/emqx/etc/emqx.conf b/apps/emqx/etc/emqx.conf
index 26292e05c..df6eea362 100644
--- a/apps/emqx/etc/emqx.conf
+++ b/apps/emqx/etc/emqx.conf
@@ -1150,8 +1150,7 @@ sysmon {
vm.process_low_watermark = 60%
## Enable Long GC monitoring.
- ## Notice: don't enable the monitor in production for:
- ## https://github.com/erlang/otp/blob/feb45017da36be78d4c5784d758ede619fa7bfd3/erts/emulator/beam/erl_gc.c#L421
+ ## Notice: don't enable this monitor in production, because it adds overhead to garbage collection.
##
## @doc sysmon.vm.long_gc
## ValueType: Duration | disabled
diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl
index 9f9d7609a..dec890f45 100644
--- a/apps/emqx/src/emqx_schema.erl
+++ b/apps/emqx/src/emqx_schema.erl
@@ -1415,7 +1415,10 @@ fields("sysmon_vm") ->
sc(
hoconsc:union([disabled, duration()]),
#{
- desc => "Enable Long GC monitoring.
"
+ desc =>
+ "Enable Long GC monitoring.
\n"
+ "Notice: don't enable the monitor in production, because it adds overhead to\n"
+ " garbage collection."
}
)},
{"long_schedule",
@@ -2113,12 +2116,12 @@ ref(Module, Field) -> hoconsc:ref(Module, Field).
mk_duration(Desc, OverrideMeta) ->
DefaultMeta = #{
desc => Desc ++
- " time span. A text string with number followed by time units:\n"
+ " Time interval is a string that contains a number followed by time unit:
\n"
"- `ms` for milliseconds,\n"
"- `s` for seconds,\n"
"- `m` for minutes,\n"
- "- `h` for hours;\n"
- "or combined representation like `1h5m0s`"
+ "- `h` for hours;\n
"
+ "or combination of whereof: `1h5m0s`"
},
hoconsc:mk(typerefl:alias("string", duration()), maps:merge(DefaultMeta, OverrideMeta)).