Parameter abfragen oder setzen

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
pferd08
Beiträge: 21
Registriert: 26.05.2006 15:06:26

Parameter abfragen oder setzen

Beitrag von pferd08 » 14.04.2008 15:18:55

Hallo,

ich muss in einem Etch 2.6.18 Parameter abfragen beziehungsweise setzen.
MSGMAX
MSGMNB
MSGTQL
MSGSSZ
MSGSEG
MSGMAP

Wie kann ich diese Parameter abfragen?
Wenn ich die Parameter setzen will, muss ich dann den Kernel neu backen?

BB Fred

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Parameter abfragen oder setzen

Beitrag von cosmac » 14.04.2008 15:38:59

hi,

soweit ich weiß: teils, teils

Code: Alles auswählen

# sysctl kernel.msgmax
kernel.msgmax = 8192
# sysctl kernel.msgmax=8191
kernel.msgmax = 8191
# sysctl kernel.msgtql
error: "kernel.msgtql" is an unknown key
interessant ist vielleicht noch /proc/sysvipc/
Beware of programmers who carry screwdrivers.

pferd08
Beiträge: 21
Registriert: 26.05.2006 15:06:26

Re: Parameter abfragen oder setzen

Beitrag von pferd08 » 14.04.2008 20:49:00

Hallo cosmac

vielen Dank für Deine Antwort.
Bei mir kommt auch die Antwort kernel.msgtql is an unknown key.
Gibt es eine Möglichkeit diesen unbekannten Schlüssel noch zu setzen?

Im Verzeichnis /proc/sys/kernel/ sind ein paar keys.
Ich habe versucht einen einfach zu kopieren und umzubenen, das klappt aber nicht.

BB Fred

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Parameter abfragen oder setzen

Beitrag von gms » 14.04.2008 21:48:10

pferd08 hat geschrieben: ich muss in einem Etch 2.6.18 Parameter abfragen beziehungsweise setzen.
gibts einen Grund warum du das mußt ?

die Kernel Parameter kannst du über sysctl herausfinden

Code: Alles auswählen

gms1 gms # sysctl -a | grep msg
kernel.msgmax = 8192
kernel.msgmni = 16
kernel.msgmnb = 16384
error: permission denied on key 'net.ipv4.route.flush'
fs.mqueue.msg_max = 10
fs.mqueue.msgsize_max = 8192
Bei einigen deiner aufgelisteten Parameter wirst du dir extrem schwer tun, z.B bei MSGTQL:
info ipc hat geschrieben: Unused or unimplemented:
MSGTQL max number of message headers system-wide.
Gruß
gms

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: Parameter abfragen oder setzen

Beitrag von Spasswolf » 14.04.2008 22:40:13

Laut Quelltextkommentar werden MSGTQL, MSGSSZ, MSGSEG und MSGMAP nicht benutzt. Siehe Zeile 52 bis 62 include/linux/msg.h.

Edit: Da hatte ich das Fenster ganz schon lange offen ...

pferd08
Beiträge: 21
Registriert: 26.05.2006 15:06:26

Re: Parameter abfragen oder setzen

Beitrag von pferd08 » 15.04.2008 07:14:50

Ich muss auf dem System
das Programm UNIBASIC installieren.
Das Programm kommt von der SCO UNIX Plattform
und der Hersteller erwartet bei einer Zahl von 128 Usern diese Parameter.
Hier die Beschreibung:

MSGMNI Maximum number of message queues. Configure based upon the maximum number of concurrent
UniBasic users plus phantom ports plus other DCI products such as IQ for Unix users plus one for the
passport security daemon. 192
MSGMAX Maximum size of a message in bytes; at least 516. mindestens 516 besser 1024
MSGMNB Maximum number of bytes per message queue. Set to the maximum allowable value; typically 32768
MSGTQL Maximum number of outstanding system wide messages. Suggested setting is at least 256, but may
be adjusted if message activity is known to be greater or smaller. mindestens 256 besser 512
MSGSSZ Size (in bytes) of a message segment. Memory for message data is divided into segments of the
defined size. A value of 32 is recommended. 32
MSGSEG Number of message segments within the system. MSGSEG * MSGSSZ determines the total number of
bytes reserved for message data. The recommended formula is MSGSEG = (MSGTQL *
512)/MSGSSZ. For 256 UniBasic concurrent messages, the value would be: (256 * 512) / 32 = 4096. 8192
MSGMAP Number of entries in the message map table. Each entry represents a contiguous free area in the
message segments. The recommended formula is MSGMAP = MSGSEG/8 which, using our example,
would be 512. If UniBasic reports "Communication buffer is full" when the actual number of
outstanding messages is < MSGTQL, first increase MSGMAP. If that doesn't correct the error,
increase MSGSEG. 1024


BB Fred

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Parameter abfragen oder setzen

Beitrag von gms » 15.04.2008 08:04:09

dann würde ich das nicht so eng sehen :wink:
wenn man sich strikt an dieses Regelwerk halten müßte, könnte dieses Produkt kaum auf einem aktuellen Solaris, AIX oder Linux installiert werden ( z.B wurden die msgseg, msgssz Parameter mit Solaris 8 obsolet )
Es bleiben daher die Parameter msgmni, msgmax und msgmnb, wobei msgmax bei deiner Aufstellung unter dem Defaultwert von 8192 gesetzt werden würde. Diesen Parameter würde ich daher auch nicht runtersetzen, es kann UNIBASIC egal sein, wenn dieser höher gesetzt ist und andere Applikationen bekommen eventuell ein Problem, wenn dieser zu klein ist.

Gruß
gms

Antworten