Login
Newsletter
Werbung

Thema: Ressourcen-Verwaltung mit Control Groups (cgroups)

5 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von volvic am Do, 21. Oktober 2010 um 18:03 #

Im Beispiel werden keine Untergruppen erstellt.
Nach der Darstellung:"CGroups Subsystem-Hierarchie" aus Seite 2 sollte das gehen - in der cgroups Beschreibung (http://www.mjmwired.net/kernel/Documentation/cgroups.txt) wird das auch geschrieben.

Nur funktioniert das bei mir nicht. Wurde das im Rahmen dieses Artikels getestet?
Gibt es da etwas besonderes zu beachten?

[
| Versenden | Drucken ]
  • 0
    Von sprudel am Fr, 22. Oktober 2010 um 11:46 #

    untergruppen können nur erstellt werden wenn auch die genutzten subsysteme konfiguriert werden.

    klassicher bedienfehler ist es das cpuset subsystem nicht zu konfigurieren - sofern cpuset genutzt/geladen wird. cpuset.mems und cpuset.cpus müssen hier zugewiesen werden ...

    [
    | Versenden | Drucken ]
    • 0
      Von volvic am Mi, 27. Oktober 2010 um 10:40 #

      Ich hab das mal erneut getestet:
      # mkdir test
      # cd test
      # echo 0 > cpuset.mems
      # echo 0 > cpuset.cpus
      # cat memory.use_hierarchy
      1
      # mkdir subtest
      mkdir: cannot create directory `subtest': Invalid argument

      es geht also auch mit den CPU Sets nicht.
      Vielleicht liegt es am Fedora Kernel?
      Der ist aktuell: 2.6.34.7-61.fc13.i686


      [
      | Versenden | Drucken ]
      • 0
        Von sprudel am So, 31. Oktober 2010 um 12:53 #

        Glaube nicht das es am Kernel liegt.

        Welche subsysteme werden den alle geladen? alle?

        Evtl. eingrenzen und nur zum Beispiel die "gewünschten" subsysteme laden. Ohne mount option und explitzite Auswahl werden alle subsysteme geladen.

        Beispiel - nur cpu und cpuset subsystem in hierachie laden:

        # mount -tcgroup -o cpu,cpuset nodev /cgroup
        # mkdir /cgroup/test
        # mkdir /cgroup/test/subtest
        # wc -l /cgroup/test/subtest/tasks
        0 /cgroup/test/subtest/tasks
        # echo 0 > /cgroup/test/
        # echo 0 > /cgroup/test/cpuset.mems
        # echo 0 > /cgroup/test/cpuset.cpus

        Ich bin mir ziemlich sicher das alle verfügbaren cgroup subsystems in der hierarchie geladen waren, und mindestens eins konfiguriert in der "test" gruppe noch konfiguriert werden muss damit eine sub-gruppe erstellt werden kann. Welches das sein kann weiss ich aus dem stehgreif nicht ...

        ... nach kurzem überfliegen vom kernel code hab ich evtl. doch ne ahnung. Das blkio cgroup subsystem in 2.6.34 untersützt keine hierachien die tiefer als 2 ebenen geht. Und ich geh jede wette eindas cgroup-vfs in deinem Fall ohne explitzt subsystem Auswahl geladen wurde und blkio somit mit in deiner cgroup hiearchie ist.

        ./block/blk-cgroup.c
        ----8top_cgroup)
        return ERR_PTR(-EINVAL);
        [...]
        --->8----

        Versuch einfach mal ohne blkio subsystem eine cgroup hierachie zu mounten:

        mount -tcgroup -ocpu,memory,cpuacct,cpuset,...allerlei..aber..kein...blkio... nodev /cgroup


        Generell ist es nicht empfehlenswert die volle Breite von allen cgroup-subsystem zu laden. Immer nur die subsysteme in die hierachie laden die wirklich genutzt werden.


        (Als der Artikel geschrieben wurde war blkio cgroup subsystem noch nicht gemerged im Vanilla Kernel.)

        mfg
        Daniel

        [
        | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung