Manual:$wgShellCgroup/hu

Category:MediaWiki configuration settings/hu#ShellCgroupCategory:MediaWiki configuration settings introduced in version 1.21.0/hu#ShellCgroupCategory:MediaWiki configuration settings still in use/hu#ShellCgroupCategory:Shell variables/hu#ShellCgroup
Shell and process control: $wgShellCgroup
A shell-parancsok memóriahasználatának korlátozása cgroupok segítségével.
Bevezetve:1.21.0 (Gerrit change 47559; git #674962b3)
Eltávolítva:használatban
Megengedett értékek:(sztring)
Alapértelmezett érték:false

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

Végül engedélyezd a cgroupokat a LocalSettings.php-ben

echo '$wgShellCgroup = "/sys/fs/cgroup/memory/mediawiki/job";' >> LocalSettings.php

A cgroup-tisztítás megbízhatósága a root cgroupban telepíthető notify_on_release szkripttel növelhető; például: gerrit:40784

Hibakeresés

Ha a cgroupok nem működnek, próbáld meg a következőket:

  • A cgroup-bin csomag telepítése
  • A cat /proc/cgroups parancs futtatása. Ha a memória-alrendszer engedélyezett listájában nullát látsz, a memória cgroupjai esetleg le vannak tiltva a kernelben. Próbáld meg újraindítani a számítógépet, miközben elhelyezed a kernel-parancssorban a cgroup_enable=memory swapaccount=1 sort.
  • A korábbi terminálverziókban probléma lehet a limit.sh-ban szereplő olvashatótömb-meghívás. Használd legalább a 4.1 verziót.

Lásd még

Category:MediaWiki configuration settings/hu Category:MediaWiki configuration settings introduced in version 1.21.0/hu Category:MediaWiki configuration settings still in use/hu Category:Shell variables/hu