flashmq(1)
π flashmq(1) β the manual, but make it make sense π«Ά
okay so bestie, welcome to flashmq β¨ β a fast, light-weight, scalable MQTT server. That's the NAME section btw, and yes it's literally the whole vibe: flashmq β A fast light-weight scalable MQTT server. π¦
πΈ SYNOPSIS πΈ
flashmq [-c | --config-file config_file_path] | [-t | --test-config] |
[-h | --help] |
[-v | --version] |
[-l | --license]
that's the whole thing, bestie, it's giving "pick one" energy π
β¨ DESCRIPTION β¨
FlashMQ is an MQTT 3.1, 3.1.1 and 5 broker, designed to be light-weight and to handle millions of clients and/or messages. millions. no cap. π₯π
π SIGNALS π
SIGHUPβ reload the config file and reopen the log files. Listeners get recreated. Bridges are reconnected (when their config has changed), and added or removed as necessary. basically a full glow-up for your running instance β¨SIGUSR1β reopen the log files. use this one for log rotation, iykyk πSIGUSR2β okay so here's the lore π: it has been observed that certain implementations ofmallochave a high memory use while still having many free blocks. See for instance the libc mailing list discussion "Abnormal memory usage with glibc 2.31 related to thread cache and trimming strategy" [https://sourceware.org/pipermail/libc-help/2020-September/005457.html]. This can be exacerbated by continuous thread recreation, because of how "memory arenas" are managed. FlashMQ has a fixed number of threads, but that may not be true for loaded plugins. Sending aSIGUSR2will cause FlashMQ to callmalloc_trim(0), possibly resulting in it giving memory back to the operating system. π§
the action is mostly pretty fast, but if it's not, the main loop will block during the operation, blocking the ability to accept new connections. the worker threads themselves will keep running and keep serving clients. β
use, or need, of this feature on a regular basis is questionable, but at least it can help in a pinch. π
lowkey: SIGUSR2 is a fire-extinguisher, not a daily skincare routine π
π COMMAND-LINE ARGUMENTS π
--help|-hβ print help with synopsis π«Ά--version|-vβ print FlashMQ version details π--license|-lβ print the FlashMQ license π--config-file|-c config_file_pathβflashmqwill read the config file from the givenconfig_file_path.
without this option, the default config_file_path is /etc/flashmq/flashmq.conf. π
see the flashmq.conf(5) manual page for the format of this file. π
--test-config|-tβ test the configuration, without starting the daemon. vibe check your config before you commit, bestie β¨
π AUTHOR π
Wiebe Cazemier <contact@flashmq.org>. π«Ά
π¦ SEE ALSO π¦
man:flashmq.conf(5), https://www.flashmq.org/ π₯
π§ COLOPHON π§
the sources for the FlashMQ manual pages are maintained in DocBook 5.2 [https://tdg.docbook.org/tdg/5.2/] XML files. the transformation to the multiple destination file formats is done using a bunch of XSLT 1.0 sheets, contributed to this project by Rowan van der Molen. π
the groff source of this man-page has ANSI-color support for the terminal. however, Debian-derived Linux distributions turn off groff color support by default. to override this, set the GROFF_SGR environment variable to 1. π
π okay that's the whole thing!! this page is from Jan 17 2026 and it's the flashmq(1) manual page β the source/version lives in the flashmq project's docs, mwah, go configure your broker, ily, bye bestie πβ¨π¦
π¦ where this page comes from
- nixos 26.05: flashmq 1.26.2
- nixpkgs unstable: flashmq 1.27.3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms