cmogstored 1.8.1 - use default system stack size
[cmogstored.git] / cmogstored.x
blobb288e2dde4540a46823d4ee73ee37cd36fdc22fd
1 [SIGNALS]
2 SIGQUIT - gracefully shutdown the server
4 SIGUSR2 - upgrade executable on the fly
6 [UPGRADING]
7 Upgrading cmogstored on-the-fly is possible since version 1.2.0.
8 The procedure is close to the one used by nginx users: send SIGUSR2
9 followed by SIGQUIT to the old process.  Use of SIGWINCH and SIGHUP
10 are currently not supported (but may be in the future).
11 Procedures for the nginx upgrade are documented here:
12 https://www.nginx.com/resources/wiki/start/topics/tutorials/commandline/#upgrading-to-a-new-binary-on-the-fly
14 [ENVIRONMENT]
15 MOG_IOSTAT_CMD - command-line for invoking iostat(1).  This is used
16 by the sidechannel to report disk utilization to trackers.
17 Default: "iostat -dx 1 30"
19 LISTEN_FDS, LISTEN_PID - may be used for systemd-style socket activation
20 regardless of whether systemd is on the system.  See sd_listen_fds(3)
21 for more information.  Since cmogstored supports two protocols on
22 different sockets, the command line or config file must still specify
23 which addresses to listen on.  This feature is available in cmogstored
24 1.5.0 and later.
26 CMOGSTORED_FD - a comma-delimited list of integer file descriptors.
27 This is used internally for SIGUSR2 upgrades, but may be specified
28 at startup (e.g. via env(1)) as it is not tied to LISTEN_PID
29 like LISTEN_FDS is.  Unlike LISTEN_FDS, CMOGSTORED_FD does not rely
30 on inherited file descriptors being contiguous.
32 See MALLOC TUNING for environment variables which may affect memory
33 usage.
35 [USAGE FILES]
37 Like Perl mogstored(1), cmogstored writes "devNNN/usage" files for
38 mogilefsd(1) instances to monitor disk space utilization.
40 As of cmogstored 1.7, this information is stored in-memory in case the
41 device becomes too full to write the usage file.  Users may choose to
42 make usage files unwritable (via "chmod 000") to reduce disk wear on
43 otherwise read-mostly devices.
45 As of cmogstored 1.8, the in-memory representation of these usage files
46 is updated by PUT and DELETE HTTP requests in case write traffic is too
47 high for periodic (10s) updates.
49 [MALLOC TUNING]
51 malloc(3) implementations tuned for multithreading speed (and not memory
52 usage) may cause large amounts of metadata overhead in infrequently-used
53 arenas.  While cmogstored may use many threads for filesystem I/O,
54 cmogstored is designed to not be dependent on malloc(3) performance nor
55 scalability.
57 On GNU/Linux systems with glibc, we recommend setting MALLOC_ARENA_TEST
58 and MALLOC_ARENA_MAX to low numbers to limit the number arenas.  Setting
59 the value of each to 1 or 2 should be enough, even.
61 [REPORTING BUGS]
62 Only bug reports in plain-text email will be read.
64 Please email to either the public inbox at (no subscription required):
66         <cmogstored-public@yhbt.net>
68 (archived at <https://yhbt.net/cmogstored-public/>)
70 or the public MogileFS mailing list (subscription required)
72         <mogile@googlegroups.com>
74 (archived at <https://groups.google.com/forum/#!forum/mogile>).
76 [COPYRIGHT]
77 Copyright (C) 2012-2020 all contributors <cmogstored-public@yhbt.net>
79 License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>.
80 This is free software: you are free to change and redistribute it.
81 There is NO WARRANTY, to the extent permitted by law.
83 [SEE ALSO]
84 cmogstored website: https://yhbt.net/cmogstored/README
85 You can learn more about MogileFS at https://github.com/mogilefs/MogileFS-Server
87 cmogstored source code is available via git:
89         git clone https://yhbt.net/cmogstored.git