summaryrefslogtreecommitdiff
path: root/man/systemd.resource-control.xml
Commit message (Collapse)AuthorAgeFilesLines
* core: add DelegateSubgroup= settingLennart Poettering2023-04-271-4/+28
| | | | | | | | | | | | | | | This implements a minimal subset of #24961, but in a lot more restrictive way: we only allow one level of subcgroup (as that's enough to address the no-processes in inner cgroups rule), and does not change anything about threaded cgroup logic or similar, or make any of this new behaviour mandatory. All this does is this: all non-control processes we invoke for a unit we'll invoke in a subgroup by the specified name. We'll later port all our current services that use cgroup delegation over to this, i.e. user@.service, systemd-nspawn@.service and systemd-udevd.service.
* tree-wide: code spelling fixesFrantisek Sumsal2023-04-201-1/+1
| | | | As reported by Fossies.
* man: document "Delegate=" a bit moreZbigniew Jędrzejewski-Szmek2023-03-141-15/+17
| | | | | | | This case is a bit surprising, even if logical if one understands how the parser works. Let's be more explicit. Follow-up for 7b3693e4e4c9cae50fca65136278a62fae11327e.
* mempress: change default PSI window duration to 2sLennart Poettering2023-03-091-2/+2
| | | | | | | | | | This changes the PSI window duration we default to for watching memory pressure events from 1s to 2s. This is because apparently the kernel will soon disallow window durations other than 2s for unprivileged processes. Hence, we'll bump the threshold from 100m to 200ms, and the window from 1s to 2s.
* man: adjust description of CPUAccounting=Zbigniew Jędrzejewski-Szmek2023-03-071-0/+3
| | | | | | For any user on a semi-recent kernel, effectively this setting is pointless. We should deprecate it once not needed anymore for the v1 hierarchy. For now, adjust the description.
* man: add a note about session autogroupingZbigniew Jędrzejewski-Szmek2023-03-071-0/+7
| | | | | | | | When cpu controller is disabled, thing would often still behave as if it was. And since the cpu controller can be enabled "magically" e.g. by starting user@1000, add a note for users to be careful. Autogrouping is described well in the man page, incl. how to enable or disable it, so it should be enough to refer to that.
* man: tweak details in descriptions of pids and cpu configurationZbigniew Jędrzejewski-Szmek2023-03-071-19/+15
| | | | | | | | For CPUWeight=: there is an important distinction between our default of [not set], and the kernel default of "100". Let's not say that our default is "100" because then 'systemctl show' output is hard to explain. For task accounting, it's the kernel that does the accounting, not systemd.
* man: describe how cgroup controllers are turned onZbigniew Jędrzejewski-Szmek2023-03-071-31/+149
| | | | | | | | | | | | | | | | | For a user, information which cgroup controllers are enabled based on the unit configuration is rather important. Not only because it determines what resource control is peformed by the kernel, but also because controllers have a non-negligible cost, especially for deep nesting, and users may want to *not* have controllers enabled. Our documentation did its best to avoid the topic so far. This was partially caused by the support for cgroup v1, which meant that any discussion of controllers had to be conditional and messy. But v1 is deprecated on its way out, so it should be fine to just describe what happens with v2. The text is extended with a discussion of how controllers are enabled and disabled, and an example, and for various settings that enable controllers the relevant controller is now mentioned.
* pid1: add unit file settings to control memory pressure logicLennart Poettering2023-03-011-0/+47
|
* man: add DefaultStartupMemoryLow= as term in term listSteve Ramage2023-02-211-1/+1
|
* man: document DefaultStartupMemoryLow=Luca Boccassi2023-02-201-1/+2
| | | | Fixes https://github.com/systemd/systemd/issues/26493
* core: add support for Startup memory limitsLuca Boccassi2023-02-151-0/+30
| | | | | We support separate Startup configurations for CPU and I/O, so add it for memory too. Only cover cgroupsv2 settings.
* man: note that cgroup-based sandboxing is not bypassed by '+'Luca Boccassi2023-01-181-0/+9
| | | | | | | | DeviceAllow= and others are applied to the whole cgroup via bpf, so using '+' on an Exec line will not bypass them. Explain this in the manpage. Fixes https://github.com/systemd/systemd/issues/26035
* man: fix issues reported by the manpage-l10n projectZbigniew Jędrzejewski-Szmek2023-01-111-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #25780. > Man page: crypttab.5 > Issue 1: Missing fullstop > Issue 2: I<cipher=>, I<hash=>, I<size=> → B<cipher=>, B<hash=>, B<size=> > > "Force LUKS mode\\&. When this mode is used, the following options are " > "ignored since they are provided by the LUKS header on the device: " > "I<cipher=>, I<hash=>, I<size=>" Seems OK to me. The full stop is there and has been for at least a few years. And we use <option> for the markup, which is appropriate here. > Man page: crypttab.5 > Issue 1: Missing fullstop > Issue 2: I<cipher=>, I<hash=>, I<keyfile-offset=>, I<keyfile-size=>, I<size=> → B<cipher=>, B<hash=>, B<keyfile-offset=>, B<keyfile-size=>, B<size=> > > "Use TrueCrypt encryption mode\\&. When this mode is used, the following " > "options are ignored since they are provided by the TrueCrypt header on the " > "device or do not apply: I<cipher=>, I<hash=>, I<keyfile-offset=>, I<keyfile-" > "size=>, I<size=>" Same. > Man page: journalctl.1 > Issue 1: make be → may be Fixed. > Issue 2: below\\&. → below: Fixed. > Man page: journalctl.1 > Issue: Colon at the end? > > "The following commands are understood\\&. If none is specified the default " > "is to display journal records\\&." > msgstr "" > "Die folgenden Befehle werden verstanden\\&. Falls keiner festgelegt ist, ist " > "die Anzeige von Journal-Datensätzen die Vorgabe\\&." This is a bit awkward, but I'm not sure how to fix it. > Man page: kernel-install.8 > Issue: methods a fallback → methods fallback It was correct, but I added a comma to make the sense clearer. > Man page: loader.conf.5 > Issue 1: secure boot variables → Secure Boot variables > Issue 2: one → one for (multiple times) > > "Supported secure boot variables are one database for authorized images, one " > "key exchange key (KEK) and one platform key (PK)\\&. For more information, " > "refer to the \\m[blue]B<UEFI specification>\\m[]\\&\\s-2\\u[2]\\d\\s+2, " > "under Secure Boot and Driver Signing\\&. Another resource that describe the " > "interplay of the different variables is the \\m[blue]B<EDK2 " > "documentation>\\m[]\\&\\s-2\\u[3]\\d\\s+2\\&." "one of" would sound strange. "One this and one that" is OK. > Man page: loader.conf.5 > Issue: systemd-boot → B<systemd-boot>(7) Fixed. > Man page: logind.conf.5 > Issue: systemd-logind → B<systemd-logind>(8) We use <filename>systemd-logind</> on subsequent references… I think that's good enough. > Man page: nss-myhostname.8 > Issue: B<getent> → B<getent>(1) Fixed. > Man page: nss-resolve.8 > Issue: B<systemd-resolved> → B<systemd-resolved>(8) The first reference does this, subsequent are shorter. > Man page: os-release.5 > Issue: Portable Services → Portable Services Documentation? Updated. > Man page: pam_systemd_home.8 > Issue: auth and account use "reason", while session and password do not? Reworded. > Man page: portablectl.1 > Issue: In systemd-portabled.service(8): Portable Services Documentation Updated. > Man page: repart.d.5 > Issue: The partition → the partition Fixed. > Man page: repart.d.5 > Issue: B<systemd-repart> → B<systemd-repart>(8) The first reference does this. I also change this one, because it's pretty far down in the text. > Man page: systemd.1 > Issue: kernel command line twice? > > "Takes a boolean argument\\&. If false disables importing credentials from " > "the kernel command line, qemu_fw_cfg subsystem or the kernel command line\\&." Apparently this was fixed already. > Man page: systemd-boot.7 > Issue: enrollement → enrollment Fixed. > Man page: systemd-cryptenroll.1 > Issue: multiple cases: any specified → the specified Reworded. > Man page: systemd-cryptenroll.1 > Issue: If this this → If this Fixed tree-wide. > Man page: systemd-cryptsetup-generator.8 > Issue: and the initrd → and in the initrd "Is honoured by the initrd" is OK, because we often speak about the initrd as a single unit. But in the same paragraph we also used "in the initrd", which makes the other use look sloppy. I changed it to "in the initrd" everywhere in that file. > Man page: systemd.directives.7 > Issue: Why are these two quoted (but not others)? > > "B<\\*(Aqh\\*(Aq>" > > B<\\*(Aqs\\*(Aq>" > > "B<\\*(Aqy\\*(Aq>" This is autogenerated from files… We use slightly different markup in different files, and it's just too hard to make it consistent. We gave up on this. > Man page: systemd.exec.5 > Issue 1: B<at>(1p) → B<at>(1) > Issue 2: B<crontab>(1p) → B<crontab>(1) Fixed. > Man page: systemd.exec.5 > Issue: B<select()> → B<select>(2) Fixed. > Man page: systemd.exec.5 > Issue: qemu → B<qemu>(1) The man page doesn't seem to be in any of the canonical places on the web. I added a link to online docs. > Man page: systemd.exec.5 > Issue: variable → variables Seems to be fixed already. > Man page: systemd-integritysetup-generator.8 > Issue: systemd-integritysetup-generator → B<systemd-integritysetup-generator> I changed <filename> to <command>. > Man page: systemd-integritysetup-generator.8 > Issue: superfluous comma at the end Already fixed. > Man page: systemd-measure.1 > Issue: (see B<--pcr-bank=>) below → (see B<--pcr-bank=> below) Reworded. > Man page: systemd-measure.1 > Issue: =PATH> → =>I<PATH> Fixed. > Man page: systemd-measure.1.po > Issue: B<--bank=DIGEST> → B<--bank=>I<DIGEST> Fixed. > Man page: systemd.netdev.5 > Issue: os the → on the Appears to have been fixed already. > Man page: systemd.netdev.5 > Issue: Onboard → On-board (as in previous string) Updated. > Man page: systemd.network.5 > Issue: B<systemd-networkd> -> B<systemd-networkd>(8) First reference does this, subsequent do not. > Man page: systemd.network.5 > Issue: B<netlabelctl> → B<netlabelctl>(8) First reference does this, subsequent do not. > Man page: systemd.network.5 > Issue: Missing verb (aquired? configured?) in the half sentence starting with "or by a " I dropped the comma. > Man page: systemd-nspawn.1 > Issue: All host users outside of that range → All other host users Reworded. > # FIXME no effect → no effect\\&. > #. type: Plain text > #: archlinux debian-unstable fedora-rawhide mageia-cauldron opensuse-tumbleweed > msgid "" > "Whichever ID mapping option is used, the same mapping will be used for users " > "and groups IDs\\&. If B<rootidmap> is used, the group owning the bind " > "mounted directory will have no effect" A period is added. Not sure if there's some other issue. > Man page: systemd-oomd.service.8 > Issue: B<systemd> → B<systemd>(1) Done. > Man page: systemd.path.5 > Issue 1: B<systemd.exec>(1) → B<systemd.exec>(5) > Issue 2: This section does not (yet?) exist Fixed. > Man page: systemd-pcrphase.service.8 > Issue 1: indicate phases into TPM2 PCR 11 ?? > Issue 2: Colon at the end of the paragraph? Fixed. > Man page: systemd-pcrphase.service.8 > Issue: final boot phase → final shutdown phase? Updated. > Man page: systemd-pcrphase.service.8 > Issue: for the the → for the Fixed tree-wide. > Man page: systemd-portabled.service.8 > Issue: In systemd-portabled.service(8): Portable Services Documentation Updated. > Man page: systemd-pstore.service.8 > Issue: Here and the following paragraphs: . → \\&. // Upstream: What does this comment mean? // You normally write \\&. for a full dot (full stop etc.); here you write only "." (i.e. a plain dot). > > "and we look up \"localhost\", nss-dns will send the following queries to " > "systemd-resolved listening on 127.0.0.53:53: first \"localhost.foobar.com\", " > "then \"localhost.barbar.com\", and finally \"localhost\". If (hopefully) the " > "first two queries fail, systemd-resolved will synthesize an answer for the " > "third query." Looks all OK to me. > Man page: systemd.resource-control.5 > Issue: Missing closing bracket after link to Control Groups version 1 Fixed. > Man page: systemd-sysext.8 > Issue: In systemd-portabled.service(8): Portable Services Documentation Updated. > Man page: systemd.timer.5 > Issue 1: B<systemd.exec>(1) → B<systemd.exec>(5) > Issue 2: This section does not (yet?) exist Fixed. > Man page: systemd.unit.5 > Issue: that is → that are Fixed. > Man page: systemd-veritysetup-generator.8 > Issue: systemd-veritysetup-generator → B<systemd-veritysetup-generator> > > "systemd-veritysetup-generator implements B<systemd.generator>(7)\\&." > > "systemd-veritysetup-generator understands the following kernel command line " > "parameters:" Updated. > Man page: systemd-volatile-root.service.8 > Issue: initrdyes → Initrd Fixed. > Man page: sysupdate.d.5 > Issue: : → \\&. (As above in TRANSFER) Updated. > Man page: sysupdate.d.5 > Issue: some → certain Updated. > Man page: sysupdate.d.5 > Issue 1: i\\&.e\\& → I\\&.e\\& Fixed. > Issue 2: the image → the system "image" seems correct. > Man page: tmpfiles.d.5 > Issue: systemd-tmpfiles → B<systemd-tmpfiles>(8) Updated.
* man: clarify ManagedOOMPreference documentationNick Rosbrook2022-11-291-4/+4
| | | | | Explicitly state that ManagedOOMPreference is always honored when the unit's cgroup is owned by root.
* man: update docs for MemoryZSwapMax=Anita Zhang2022-11-221-3/+20
|
* MemoryZSwapMax directive to configure new memory.zswap.max cgroup filePasha Vorobyev2022-11-151-3/+4
|
* tree-wide: replace "plural(s)" by "plurals"Zbigniew Jędrzejewski-Szmek2022-10-171-1/+1
| | | | | | | | (s) is just ugly with a vibe of DOS. In most cases just using the normal plural form is more natural and gramatically correct. There are some log_debug() statements left, and texts in foreign licenses or headers. Those are not touched on purpose.
* man: update ManagedOOMPreference entry to reflect new behaviorNick Rosbrook2022-08-261-3/+14
|
* man: add "History" sections for removed settingsZbigniew Jędrzejewski-Szmek2022-08-231-0/+25
| | | | | | | | | The general idea is that users should be able to figure out if some option that they see in a config file or on some internet page is something that systemd knows about. Once users know that, yes, this was an option but has been deprecated and removed from the documentation, it's much easier for them to find any docs in old versions if they want to. Or to switch to something different.
* docs: remove documentation about cgroupsv1 settingsLennart Poettering2022-08-231-238/+10
| | | | | it's legacy. We'll continue to support it in code, but let's simplify the docs a bit, and not mention this legacy stuff anymore.
* core/cgroup: CPUWeight/CPUShares support idle inputwineway2022-08-111-8/+20
| | | | Signed-off-by: wineway <wangyuweihx@gmail.com>
* tree-wide: link to docs.kernel.org for kernel documentationnl67202022-07-041-26/+26
| | | | | | | https://www.kernel.org/ links to https://docs.kernel.org/ for the documentation. See https://git.kernel.org/pub/scm/docs/kernel/website.git/commit/?id=ebc1c372850f249dd143c6d942e66c88ec610520 These URLs are shorter and nicer looking.
* tree-wide: use html links for kernel docsZbigniew Jędrzejewski-Szmek2022-07-021-1/+1
| | | | Instead of using "*.txt" as reference name, use the actual destination title.
* Revert NFTSet featureYu Watanabe2022-06-221-29/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts PR #22587 and its follow-up commit. More specifically, 2299b1cae32c1fb8911da0ce26efced68032f4f8 (partially), e176f855278d5098d3fecc5aa24ba702147d42e0, ceb46a31a01b3d3d1d6095d857e29ea214a2776b, and 51bb9076ab8c050bebb64db5035852385accda35. The PR was merged without final approval, and has several issues: - OSS fuzz reported issues in the conf parser, - It calls synchrnous netlink call, it should not be especially in PID1, - The importance of NFTSet for CGroup and DynamicUser may be questionable, at least, there was no justification PID1 should support it. - For networkd, it should be implemented with Request object, - There is no test for the feature. Fixes #23711. Fixes #23717. Fixes #23719. Fixes #23720. Fixes #23721. Fixes #23759.
* core: firewall integration with ControlGroupNFTSet=Topi Miettinen2022-06-081-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New directive `ControlGroupNFTSet=` provides a method for integrating services into firewall rules with NFT sets. Example: ``` table inet filter { ... set timesyncd { type cgroupsv2 } chain ntp_output { socket cgroupv2 != @timesyncd counter drop accept } ... } ``` /etc/systemd/system/systemd-timesyncd.service.d/override.conf ``` [Service] ControlGroupNFTSet=inet:filter:timesyncd ``` ``` $ sudo nft list set inet filter timesyncd table inet filter { set timesyncd { type cgroupsv2 elements = { "system.slice/systemd-timesyncd.service" } } } ```
* tree-wide: streamline wiki linksBenjamin Franzke2022-05-211-1/+1
| | | | | | | | * Avoid traling slash as most links are defined without. * Always use https:// protocol and www. subdomain Allows for easier tree-wide linkvalidation for our migration to systemd.io.
* man: beef up the description of systemd-oomd.serviceZbigniew Jędrzejewski-Szmek2022-04-281-15/+15
| | | | | | | | | | | | The gist of the description is moved from systemd.resource-control to systemd-oomd man page. Cross-references to OOMPolicy, memory.oom.group, oomctl, ManagedOOMSwap and ManagedOOMMemoryPressure are added in all places. The descriptions are also more down-to-earth: instead of talking about "taking action" let's just say "kill". We *might* add configuration for different actions in the future, but we're not there yet, so let's just describe what we do now.
* man: how to unset CPUQuota=Sho Iizuka2021-12-131-1/+2
| | | | This description will help users who are trying to reset the already configured CPUQuota= by trying incorrect ways such as CPUQuota=0 or CPUQUota=infinity.
* Merge pull request #20768 from pdmorrow/shutdown_cgroup_ctrlLennart Poettering2021-09-271-19/+19
|\ | | | | cgroups: apply StartupAllowedCPUs= and StartupAllowedMemoryNodes= during shutdown
| * man: Startup* updates for systemd.resource-controlPeter Morrow2021-09-241-19/+19
| | | | | | | | | | All Startup*= directives now also apply to the shutdown phase as well as boot phase.
* | man: cross-reference DeviceAllow= and PrivateDevices=Zbigniew Jędrzejewski-Szmek2021-09-271-0/+5
|/ | | | | | | | | They are somewhat similar, but not easy to discover, esp. considering that they are described in different pages. For PrivateDevices=, split out the first paragraph that gives the high-level overview. (The giant second paragraph could also use some heavy editing to break it up into more digestible chunks, alas.)
* docs: update docs with StartupAllowedCPUs and StartupAllowedMemoryNodes detailsPeter Morrow2021-09-151-5/+18
| | | | Signed-off-by: Peter Morrow <pemorrow@linux.microsoft.com>
* tree-wide: fix typoYu Watanabe2021-08-221-1/+1
|
* man: add RestrictNetworkInterfaces= documentationMauricio Vásquez2021-08-181-0/+46
| | | | Signed-off-by: Mauricio Vásquez <mauricio@kinvolk.io>
* man: document ip proto in SocketBind{Allow|Deny}=Julia Kartseva2021-06-301-11/+32
|
* man: explicit say for priority/weight values whether more is more or lessLennart Poettering2021-05-261-14/+16
| | | | Fixes: #17523
* socket-bind: use lowercase "ipv4"/"ipv6" spellingLennart Poettering2021-05-111-3/+3
| | | | | | | | | | | | | | | In most of our codebase when we referenced "ipv4" and "ipv6" on the right-hand-side of an assignment, we lowercases it (on the left-hand-side we used CamelCase, and thus "IPv4" and "IPv6"). In particular all across the networkd codebase the various "per-protocol booleans" use the lower-case spelling. Hence, let's use lower-case for SocketBindAllow=/SocketBindDeny= too, just make sure things feel like they belong together better. (This work is not included in any released version, hence let's fix this now, before any fixes in this area would be API breakage) Follow-up for #17655
* man: add SocketBind{Allow|Deny}= documentationJulia Kartseva2021-04-261-0/+70
|
* man: add BPFProgram= documentationJulia Kartseva2021-04-091-0/+52
|
* man: remove details of ManagedOOMPreference implementationZbigniew Jędrzejewski-Szmek2021-02-251-15/+11
|
* man: advertise shared drop-ins moreZbigniew Jędrzejewski-Szmek2021-02-251-0/+19
| | | | | | | systemd.unit(5) is a wall of text. And this particular feature can be very useful in the context of resource control. Let's avertise this cool feature a bit more. Fixes #17900.
* man: use markup more in description of ManagedOOMPreference=Zbigniew Jędrzejewski-Szmek2021-02-251-21/+24
| | | | Follow-up for d8a4d64bc37ad21381f584b6c25792995584c7a2.
* man: document ManagedOOMPreference=Anita Zhang2021-02-121-0/+32
|
* oom: rework *MemoryPressureLimit= properties to have 1/10000 precisionAnita Zhang2021-02-021-1/+1
| | | | | | | Requested in https://github.com/systemd/systemd/pull/15206#discussion_r505506657, preserve the full granularity for memory pressure limits (permyriad) instead of capping out at percent.
* man: fix small issue in AllowedMemoryNodes descriptionPavel Hrdina2021-01-301-1/+1
| | | | It should not mention "CPU" but "NUMA nodes".
* man: various typos and other small issuesZbigniew Jędrzejewski-Szmek2021-01-291-4/+5
| | | | Fixes #18397.
* license: LGPL-2.1+ -> LGPL-2.1-or-laterYu Watanabe2020-11-091-1/+1
|
* man: document systemd-oomd and related itemsAnita Zhang2020-10-091-0/+44
|
* man: fix xml tagsLennart Poettering2020-08-201-1/+1
|