GLOBALIOLIMITS.CFG(5)

πŸ“¦ version 3.12.0, in fedora 43

✨ GLOBALIOLIMITS.CFG πŸ’…

okay bestie, pull up a chair, because we're talking about globaliolimits.cfg(5) β€” the global I/O limiting configuration file. yes, the manual name is right there in the title, i'm not repeating the header line like a copier-paster, we're better than that 🫢


🌸 NAME 🌸

globaliolimits.cfg β€” global I/O limiting configuration. it's giving "the file that decides who gets how much bandwidth" and honestly? iconic. πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

so. the file globaliolimits.cfg contains the configuration of the global I/O limiter. that's it. that's the vibe. it holds the settings, the limiter reads them, everybody behaves. ✨


πŸŽ€ SYNTAX πŸŽ€

the syntax is literally just:

option value

and lines starting with the # character are ignored. yes bestie, # is your comment bestie, your little "not me writing notes in the config" moment. πŸ™ˆ


πŸ’… OPTIONS πŸ’…

configuration options, let's get into it:

  • subsystem <subsystem> β€” the cgroups subsystem that clients get classified by. if you leave it unspecified, then all clients are considered unclassified (see below, i promise it makes sense).
  • limit unclassified <throughput in KiB/s> β€” a special little entry, main character behavior fr. it's for clients that don't match any group specified in the configuration file, or for all clients if subsystem is unspecified. now listen carefully, this part is important:
    • if this entry is unspecified and subsystem is unspecified as well, I/O limiting is disabled entirely. like, off. nothing happening. πŸ’€
    • if this entry is unspecified but subsystem is specified, then unclassified clients are not allowed to perform I/O. periodt. they're locked out, no cap.
  • limit <group> <throughput in KiB/s> β€” set the limit for clients belonging to the cgroups group <group>. now here's the lore: in LizardFS, subgroups of <group> constitute independent groups. they are not allowed to use <group>'s bandwidth reservation, and they don't count against <group>'s usage. so like, they're related but they don't share the aux cord. 🎧

🌈 EXAMPLES 🌈

here's where it gets fun, let's go example by example:

# empty file

I/O limiting is disabled, no limits are enforced. the wild west. do whatever. ✨

limit unclassified 1024

all clients are unclassified and they share 1MiB/s of bandwidth. one big happy family, passing the snack bowl around. πŸ“

subsystem blkio
limit /a 1024

clients in the blkio /a group are limited to 1MiB/s, and no other clients can perform any I/O. sorry to everyone else, this party is invite-only. 🚫

subsystem blkio
limit unclassified 256
limit /a   1024
limit /b/a 2048

the blkio group /a is allowed to transfer 1MiB/s, while /b/a gets 2MiB/s. clients from other groups (e.g. /b, /z, /a/a, /b/z) are considered unclassified and share 256KiB/s of bandwidth. everybody else is splitting one tiny little piece, rip to them honestly 😭


πŸ”₯ TUNING NOTES πŸ”₯

okay this is the nerdy part but stay with me, it's actually so good:

global I/O limiting is managed by the master server. mount instances reserve bandwidth allocations from master when they want to perform I/O to chunkservers.

to avoid overloading the master under heavy traffic, mounts try to predict their future usage and reserve at once all the bandwidth they will need for the next renegotiation period (see mfsmaster.cfg(5)).

such reservations are wasted if the traffic at a given mount instance suddenly drops. 😭

the ratio of bandwidth being wasted due to this phenomenon shouldn't exceed fsp/b, where:

  • f is the frequency of sudden traffic drops in the whole installation (in 1/s)
  • s is the average size of such drop (in KiB/s)
  • p is the renegotiation period (in s)
  • b is the bandwidth limit (in KiB/s)

and bestie, this applies to each group separately, because groups reserve their bandwidth independently from each other. they're all main characters in their own story. πŸ‘‘


Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o.

LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. see the GNU General Public License for more details.

you should have received a copy of the GNU General Public License along with LizardFS. if not, see http://www.gnu.org/licenses/.


🫢 SEE ALSO 🫢


and that's the whole page, bestie!! πŸŽ€ this manual page is dated 07/24/2025, and the source/version line at the bottom says GLOBALIOLIMITS.CFG(5) β€” yeah, the footer is just the title again, which is very "I'm my own biggest fan" of it, and honestly? respect. slay. πŸ’…βœ¨

πŸ“¦ where this page comes from