Hallo
ich sitze hier und grüble ...
Mal ne ganz dumme Frage - wie kann ich erkennen, welche Semaphoren auf meinem System laufen?
Ich versuche gerade einen Informix Dynamic Server (IDS) Version 7.3 auf meiner Büchse zum laufen zu bekommen. Kernel 2.2.10 - Ich brauche min zwei dieser besagten Semaphoren wait und signal. Sind im Standardkernel diese Semaphoren schon aktiv oder muß ich den Kernel neu kompilieren (bin kein großer Programmierer und hab ... ja ja ja ihr könnt mich schlagen ... noch nie einen Kernel kompiliert :-(
mW nach sind Semaphore für den gemeinsamen Speicherzugriff verantwortlich bzw regeln diesen
Noch ne Frage am Rand, hat jemand schon mal einen IDS 7.3 Server auf einer Linux-Büchse installiert und kennt sich in der Konfiguration des IDS aus.
Danke Thomas
On Wed, Feb 23, 2000 at 09:49:15PM +0100, Thomas Dubiel wrote:
Hallo
ich sitze hier und grüble ...
Mal ne ganz dumme Frage - wie kann ich erkennen, welche Semaphoren auf meinem System laufen?
Kann es sein, dass Linux gar keine Semaphoren unterstuetzt. Wenn doch ist das IMHO sehr neu.
Reinhard
Mal ne ganz dumme Frage - wie kann ich erkennen, welche Semaphoren auf meinem System laufen?
Kann es sein, dass Linux gar keine Semaphoren unterstuetzt. Wenn doch ist das IMHO sehr neu.
Semaphoren stehen in dierekten Zusammenhang zu shared memory. Die deutsche Bezeichnung dafür dürften "Signalmasten" sein.
Ich möchte einfach nur shared memory für ein Programm / Datenbankserver freigeben, da dieser sonst nicht läuft bzw. der shared memory für dieses Programm zu klein ist
Danke
Thomas
On Thu, 24 Feb 2000, did Reinhard Foerster mean:
On Wed, Feb 23, 2000 at 09:49:15PM +0100, Thomas Dubiel wrote:
Hallo
ich sitze hier und grüble ...
Mal ne ganz dumme Frage - wie kann ich erkennen, welche Semaphoren auf meinem System laufen?
Kann es sein, dass Linux gar keine Semaphoren unterstuetzt. Wenn doch ist das IMHO sehr neu.
Hmm, da hat jemand die Meinung Linux unterstuetze eines der wichtigsten Konzepte von MultiUser Systemen erst seit kurzem.... hmmm. Watson, notieren Sie!
Ganz im Ernst spaetestens seit Kernel 1.2 sind Shared Mem und Semaphoren unter Linux unterstuetzt, was relativ neu ist ist die Nutzung von Semaphoren (genauer: MUTEXes und Spin Locks) im Kern selbst, um SMP (symmetric multi processing) zu Realisieren. "Seit kurzem" heisst hier trotzdem seit 2.0.
Uebrigens kann man sich shared mem ausgeben lassen: cat /proc/sys/kernel/shmall -> ergibt den momentan genutzten shared mem cat /proc/sys/kernel/shmmax -> ergibt das Maximum echo 67108864 > /proc/sys/kernel/shmmax -> erhoeht (senkt) das Maximum auf 64MB
Semaphoren werden dynamisch verwaltet, es sind also (AFAIK) 2^31 davon verfuegbar (solange der Speicher fuer die Verwaltung reicht), das sollte auch fuer Informix und andere IPC-hungrige Apps genuegen. Leider gibt es kein SysCtl Interface fuer Semaphoren. Aehnliches gilt fuer die dritte SysV-IPC-Form: Message-Queues.
Das funzt natuerlich nicht, wenn im Kern kein SysV-IPC ist, aber dann wuerden auch viele andere Proggies nicht laufen (und /proc/.../shmmax waere nicht vorhanden).
Konrad Rosenbaum
Uebrigens kann man sich shared mem ausgeben lassen: cat /proc/sys/kernel/shmall -> ergibt den momentan genutzten shared mem cat /proc/sys/kernel/shmmax -> ergibt das Maximum echo 67108864 > /proc/sys/kernel/shmmax -> erhoeht (senkt) das Maximum auf 64MB
Das sieht so aus, als könnte es mir weiterhelfen. Werd mich dann gleich mal an die Büchse setzen und ausprobieren.
Auf unserer Unixbüchse (digital True64) funktionierte es nicht. Befehl brachte folgende Meldung: cat: cannot open /proc/sys/kernel/SHMMAX egal ob groß- oder kleinschreibung. Mittels ipcs bekomme ich shared memory und semaphore angezeigt. Aber ich hoffe mal, daß es Digital-Unix nicht unterstützt, was ich mir jedoch nicht so recht vorstellen kann.
Semaphoren werden dynamisch verwaltet, es sind also (AFAIK) 2^31 davon verfuegbar (solange der Speicher fuer die Verwaltung reicht), das sollte auch fuer Informix und andere IPC-hungrige Apps genuegen. Leider gibt es kein SysCtl
Gibt es eine allgemein gültige Formel, wo man sagt, x% vom physischen Speicher oder einfach nur durch ausprobieren?
Das funzt natuerlich nicht, wenn im Kern kein SysV-IPC ist, aber dann wuerden auch viele andere Proggies nicht laufen (und /proc/.../shmmax waere nicht vorhanden).
Also muß ich jetzt doch was am Kernel schrauben. Ich habe seit meiner Installation - einige werden die Stirn runzeln - nichts am Kernel gemacht. Standard-SCSI-Kernel. Wie würden dann die Parameter lauten, die ich verändern müßte?
Cu Thomas
PS.: Warum habe ich mich auf dieses Spiel eingelassen? Warum muß auf diese Kiste unbedingt IDS 7.3? Warum wollte ich unbedingt die Applikation, die Informix benötigt? Warum wird es nachts dunkel? Was hält unsere Welt zusammen? Alle Fragen, auf die ich keine Antworten weiß :-)
On Fri, Feb 25, 2000 at 01:42:57PM +0100, Thomas Dubiel wrote:
cat /proc/sys/kernel/shmmax -> ergibt das Maximum echo 67108864 > /proc/sys/kernel/shmmax -> erhoeht (senkt) das Maximum auf 64MB
Das sieht so aus, als könnte es mir weiterhelfen. Werd mich dann gleich mal an die Büchse setzen und ausprobieren.
Auf unserer Unixbüchse (digital True64) funktionierte es nicht. Befehl brachte folgende Meldung: cat: cannot open /proc/sys/kernel/SHMMAX
Der war gut! Beim OSF ala Digtal Unix ala True64 ala <...> gibts kein /proc/sys/* Bei den proc-filesystemen bauen alle Unixhersteller ihr eigenes Sueppchen. Ebenso geht die Konfigutation systemnaher Sachen wie die Begrenzung von Shared Memory Areas usw. auf jedem UNix anders. Sowas muss doch in der Doku fuer die DB drinstehen. Hat die einer die Installationsleitung geklaut? Wie kommst du eigentlich plötzlich aof OSF. Soll die DB nun auf linux oder der Alpha-Moehre laufen?
PS.: Warum habe ich mich auf dieses Spiel eingelassen? Warum muß auf diese Kiste unbedingt IDS 7.3? Warum wollte ich unbedingt die Applikation, die Informix benötigt?
Kann keiner beantworten. Mit Laengerwerden dieses Thraeds wird deine Problembeschreibung immer vernebelter. DAs ist recht ungewöhnlich :)
Reinhard
Thomas Dubiel wrote:
Hallo
Mal ne ganz dumme Frage - wie kann ich erkennen, welche Semaphoren auf meinem System laufen?
Nimm das semtool aus "Linux Programmer's Guide - Chapter 6"
Ich versuche gerade einen Informix Dynamic Server (IDS) Version 7.3 auf meiner Büchse zum laufen zu bekommen. Kernel 2.2.10 - Ich brauche min zwei dieser besagten Semaphoren wait und signal. Sind im Standardkernel diese Semaphoren schon aktiv oder muß ich den Kernel neu kompilieren (bin kein
Ich denke doch.
Uli
lug-dd@mailman.schlittermann.de