Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Zuteilung des Plattenplatzes: quota Festplatten Datensicherung »

Unterabschnitte
  • Beispiele

Maximalwerte

Jedes Computersystem hat seine Limits, auch UNIX. Diese Grenzen verschieben sich immer wieder, sind aber dennoch vorhanden. Diese Grenzen können die Anzahl der offenen Dateien, die maximale Anzahl von Benutzern, die Größe von Dateien oder Partitionen betreffen. Jedes Mal, wenn ein System eine solche Grenze erreicht, hat das in der Praxis unangenehme Folgen. Dazu kommt, dass solche Grenzen oft unerwartet erreicht werden. So haben beispielsweise Zusammenbrüche, die in der Zeit zwischen 10 und 11 Uhr vormittags gehäuft vorkommen, oftmals ihren Grund darin, dass die Limits für Benutzer, Prozesse oder offene Dateien erreicht werden. Dies ist nämlich erfahrungsgemäß die Zeit, in der die meisten Anwender mit dem Zentralcomputer arbeiten.

Es ist wichtig, die Grenzen seines Systems zu kennen. Ein kluger Administrator wird aufmerksam, wenn in der Systemdokumentation irgendwelche Limits genannt werden. Eine Quelle für das Auffinden solcher Grenzen sind die Kernelparameter, die Sie sich vom Administrationstool anzeigen lassen können. Diese Werte sind für die normale Einsatzumgebung voreingestellt. Es kann für Ihr Einsatzgebiet ein Parameter zu gering eingestellt sein. Dabei ist es wenig sinnvoll, die Parameter wahllos nach oben zu setzen. Dadurch steigt der Ressourcenverbrauch vermutlich immens, ohne dass einer der Benutzer etwas davon hat.

Neben den durch den Administrator festgesetzten Grenzen ergeben sich Limits durch Programme oder Kapazitätsüberschreitungen von Zählern oder Verweisen. Solche Grenzen treten gehäuft bei allen Zweierpotenzen auf, deren Exponent durch 8 teilbar ist, also bei 28 = 32, 216 = 65.536, 224 = 16.777.216 oder 232 = 4.294.967.296. Auch die Hälfte dieser Werte ist relevant, weil in C und anderen Programmiersprachen ein Bit für das Vorzeichen gebraucht wird. Lange Zeit war 2 GByte, also die Hälfe von 232, die Grenze für die maximale Größe einer Datei und die maximale Größe eines Dateisystems. Heute erlauben fast alle UNIX-Derivate größere Dateisysteme. Dies kann auch recht bedenkenlos genutzt werden.

Bei der Größe der Datei spielt aber neben dem Betriebssystem auch das Programm eine wesentliche Rolle, das die Datei liest und schreibt. Schreibt das Programm sequenziell in die Datei, wie das beispielsweise bei Protokolldateien der Fall ist, bestimmt das Betriebssystem die maximale Größe einer Datei. Wird aber im direkten Zugriff gearbeitet, dann verwendet das Programm den Aufruf lseek() (siehe S. lseek) mit einem 32-Bit-Wert als Positionierparameter. Mit 32 Bit können maximal 4.294.967.296 Bytes adressiert werden. Sobald aber ein Vorzeichen verwendet wird, verliert man ein Bit und die maximale Größe beträgt 2.147.483.648, also 2 GByte. Programmtechnisch ist das Problem zu umgehen, indem nicht vom Anfang der Datei aus positioniert wird. Dann muss das Programm bereits mit der Absicht geschrieben sein, die 2-GByte-Grenze zu durchbrechen. Das ist dann im Allgemeinen auch dokumentiert.

Beispiele

SCO hat noch eine zusätzliche Grenze, die in den Kernelparametern durch ULIMIT festgelegt wird. In einer Standardinstallation ist die maximale Dateigröße auf 1 GByte beschränkt. Den Parameter kann man ändern, indem man scoadmin startet. Darin findet man den Hardware/Kernel Manager. Als Option wird »Tune Parameter« angeboten. Unter der Gruppe »User and Group configuration« findet man zuerst der Parameter NOFILES, der die Anzahl der Dateien pro Prozess bestimmt, und als zweites ULIMIT. Nach der Änderung muss unter »Hardware/Kernel Manager« noch die Option »Relink Kernel« aufgerufen werden und der Parameter ist korrigiert.

Damit nicht genug: ULIMIT wird auch noch als Environmentvariable in der Datei /etc/default/login eingesetzt, die vom Terminal gestartete Prozesse auf diese Größe beschränkt. Der Wert, den ULIMIT angibt, ist die maximale Anzahl der Blöcke, die 512 Byte groß sind. Also sind 2 GByte 4.194.303 Blöcke.

Eine weitere Schranke kann die Anzahl der maximal geöffneten Dateien sein. Dabei gibt es zwei Werte. Der eine beschränkt die Gesamtzahl der offenen Dateien und der andere die Anzahl der Dateien, die ein einzelner Prozess öffnen darf.

Bei einer Linux-Standardinstallation wird die Anzahl der gleichzeitig offenen Dateien auf 1024 begrenzt. Die Einstellung befindet sich in der Datei /usr/src/linux/include/linux/fs.h und heißt NR_FILES. NR_INODES ist um den gleichen Faktor zu erhöhen. Eine Neubildung des Kernels ist notwendig, um den Parameter zu erhöhen. Dieser Wert scheint zunächst hoch. Allerdings kann in einer Serverumgebung mit 200 Benutzern jeder Anwender nur noch fünf Dateien öffnen.

Ansonsten gibt es bei älteren Systemen manchmal eine Begrenzung der Plattenkapazität. So konnte beispielsweise HP-UX bis zur Version 9 nur Platten von maximal 4 GByte Größe verwalten.



« Zuteilung des Plattenplatzes: quota | Festplatten | Datensicherung »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de