Limits unter Linux

Übersicht Weiter

Selten wird man in die Verlegenheit kommen, die voreingestellten Schranken für Systemressourcen ausschöpfen zu müssen. Dennoch stellt sich die Fragen wie: »Wir groß darf eine Datei maximal werden?« oder »Wieviele Prozesse dürfen gleichzeitig gestartet werden?«.

Der nachfolgende Abschnitt soll über einige Schranken bzgl. der x86er Architektur und Kernelversionen ab 2.4.x Auskunft geben. Für ältere Kernel sind die Werte nur angegeben, wenn sie von den aktuellen Schranken abweichen. Ebenso erfahren Sie, wie sich ggf. die Limits ändern lassen.

Prozessoren & Prozesse Zurück Anfang Weiter

Maximale Anzahl Prozessoren: 32

Der Wert kann zwar in den Kernelquellen (Datei include/linux/threads.h) direkt angepasst werden, jedoch eignet sich Linux auch dann nicht für massiv parallele Rechner.

Maximale Anzahl Tasks: flexibel

Der Wert wird dynamisch anhand des vorhandenen Hauptspeichers berechnet. Er kann im Prozessdateisystem zur Laufzeit angepasst werden (/proc/sys/kernel/threads-max).

Maximale Anzahl Tasks (Kernel <= 2.2.x): 4096

Der Wert ist in der Datei include/linux/tasks.h in den Kernelquellen festgelegt; wenn Ihr System einmal Fehlermeldungen bringen sollte, dass sich keine neuen Prozesse starten lassen, obwohl noch reichlich Speicher zur Verfügung steht, sollten Sie eine Erhöhung des Werts in Betracht ziehen (allerdings nur, wenn ihr Rechner auch der Last gewachsen ist...).

Maximale Anzahl Tasks pro Nutzer: Tasks/2

Damit ist klar, dass durch Anpassung der maximalen Anzahl Tasks auch dieser Wert beeinflusst wird.

Maximale Prozess-ID: 32768

Eine Anpassung erfolgt in include/linux/threads.h.

Maximale Anzahl Threads: 16380

Eine Anpassung erfolgt am schnellsten durch Manipulation im Prozessdateisystem (/proc/sys/kernel/tasks).

Speicherverwaltung Zurück Anfang Weiter

Maximale Größe an physischem Speicher: 64 GB

...

Maximale Größe an virtuellem Speicher: 64 GB

64 GB ist die Obergrenze, kleinere Werte (meist 1GB) sind aus Effizienzgrenzen im Kernel konfigurierbar.

Maximale Größe an virtuellem Speicher Kernel 2.2.x: 3 GB

asm/page_offset.h

Maximale Anzahl an Shared Memory-Segmenten: 2147483647

...

Dateien & Dateisysteme Zurück Anfang Weiter

Maximale Anzahl verwaltbarer Dateisysteme: 64

include/linux/fs.h

Maximale Dateigröße: 263 Byte

Kernel 2.2.x 2 GB (231 Bytes)

Maximale Anzahl offener Dateien: 8192

Aber maximal 1024 pro Prozess bzw. pro User. Die Gesamtanzahl kann im /proc/sys/fs/file-max angepasst werden. Root kann per »ulimit« den Wert erhöhen.

Maximale Dateinamenslänge: 256 Zeichen

...

Maximale Pfadnamenslänge: 4096 Zeichen

...

Partitionen Zurück Anfang Weiter

Maximale Partitionsgröße (ext2): 4TB

Bei Kernel 2.2.x: 2 GB

Maximale Partitionsgröße (reiserfs): 1025Bytes

...

Maximale Größe einer Swap-Partition: 2GB

Bei Kernel <2.1.117 128MB

Maximale Anzahl von Swap-Partitionen: 8

Mit entsprechendem Patch 63, festgelegt in include/linux/swap.h.

Sonstiges Zurück Anfang

Maximale Kernelgröße (bzip2): 2.5 MByte

1 MB bei Laden von Floppy oder CD