Manual:$wgShellCgroup/hu

Linux alatt a cgroup könyvtárak a shell-parancsok memóriahasználatának korlátozására használatosak. A mappának a MediaWikit futtató felhasználó által írhatónak kell lennie.

A változó beállítása esetén ez lesz használatban az ulimit helyett; ez utóbbi hatására a malloc visszatérési értéke NULL, amely C alkalmazásokban problémákat (jogosulatlan hozzáférés vagy holtpont) okozhat.

Egy burkolószkript minden futtatott shell-parancshoz létrehoz egy a meghatározott cgroup alcsoportját képező cgroupot. Memóriatúllépés esetén az alcsoport folyamatának a kernel SIGKILL parancsot küld. (A MediaWiki a SIGKILL-t gyakran 137-es hibaként jelzi.)

Beállítás
Ha a cgroupok nincsenek beállítva, szükség lehet a cgroup-fájlrendszer felcsatolása. Rootként:

mount -t tmpfs cgroup_root /sys/fs/cgroup mkdir /sys/fs/cgroup/memory mount -t cgroup cgroup_memory -omemory /sys/fs/cgroup/memory

Következő lépésben a MediaWiki-specifikus beállítást kell elvégezned:

mkdir -p /sys/fs/cgroup/memory/mediawiki mkdir -m 0777 /sys/fs/cgroup/memory/mediawiki/job

A cgroup-tisztítás megbízhatósága a root cgroupban telepíthető notify_on_release szkripttel növelhető (opcionális).

echo "/usr/local/bin/cgroup-mediawiki-clean" > /sys/fs/cgroup/memory/release_agent
 * Másold a -et a /usr/local/bin/cgroup-mediawiki-clean helyre.
 * Futtasd a parancsot

Végül engedélyezd a cgroupokat a -ben echo '$wgShellCgroup = "/sys/fs/cgroup/memory/mediawiki/job";' >> LocalSettings.php

The reliability of cgroup cleanup can be improved by installing a notify_on_release script in the root cgroup, see e.g. 40784

Troubleshooting
If cgroups don't work, things to try:


 * Install cgroup-bin package
 * Run the command . If the memory subsystem has a 0 under enabled, then memory cgroups may be disabled in your kernel. Try rebooting your computer with   on the kernel command line.
 * Older bash doesn't like the readarray call in limit.sh. You should use at least 4.1