Toon posts:

maxsockets onder linux

Pagina: 1
Acties:
  • 44 views sinds 30-01-2008

Verwijderd

Topicstarter
Is het mogelijk om het maximaal aantal sockets onder linux - ik gebruik nu suse 8 - in te stellen zoals bij freebsd mogelijk is met de optie maxsockets??

FG

Verwijderd

Voor zover ik kan zien in de kernel code en een snelle zoektocht op inet, is dit niet mogelijk....

Het kan schijnbaar wel; dit word gelimiteerd door de max-open-files parameter in ulimit.

[ Voor 55% gewijzigd door Verwijderd op 23-03-2004 16:29 ]


Verwijderd

Topicstarter
Verwijderd schreef op 23 maart 2004 @ 16:26:
Voor zover ik kan zien in de kernel code en een snelle zoektocht op inet, is dit niet mogelijk....

Het kan schijnbaar wel; dit word gelimiteerd door de max-open-files parameter in ulimit.
ik ben bang dat die verwijzing praat over een ander probleem. namelijk als een account maximaal 64 files open mag hebben dat is het niet mogelijk om meer dan 64 sockets open te hebben omdat sockets tellen als files.

er moeten dus minstens zoveel files open kunnen als dat er sockets gebruik kunnen worden.

maar mijn vraag gaat over het maximaal aantal sockets onder linux en of er een parameter bestaat zoals maxsockets onder freebsd.

FG

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Heb je zelf eigenlijk al gezocht? Want dit klinkt een beetje als ik roep wat en de rest mag gaan zoeken. Ik zou dan ook graag van jou een motivatie willen waarom jij denkt dat het niet, danwel wel kan, en even dat je aangeeft wat jezelf al gedaan hebt om het te vinden.

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


Verwijderd

Verwijderd schreef op 23 maart 2004 @ 19:29:
[...]
maar mijn vraag gaat over het maximaal aantal sockets onder linux en of er een parameter bestaat zoals maxsockets onder freebsd.
Socket handling word gedaan in inodes, als ik net/socket.c mag geloven. inodes worden gelimiteerd door ulimit, dus zou je naar je oplossing kunnen zoeken in de vorm van ulimit. Dit is niet je antwoord, maar iig een hint in een mogelijk goede richting. Een maxsockets (achtige) parameter bestaat iig niet.

[ Voor 5% gewijzigd door Verwijderd op 23-03-2004 21:50 ]


Verwijderd

Topicstarter
Zwerver schreef op 23 maart 2004 @ 20:47:
Heb je zelf eigenlijk al gezocht? Want dit klinkt een beetje als ik roep wat en de rest mag gaan zoeken. Ik zou dan ook graag van jou een motivatie willen waarom jij denkt dat het niet, danwel wel kan, en even dat je aangeeft wat jezelf al gedaan hebt om het te vinden.
Ja ik loop at twee dagen te zoeken. Wat ik tegenkom over maximum aantal sockets is dat onder freebsd er een instelling bestaat (maxsockets). Bij linux kom ik niets tegen. dit kan betekenen dat er geen limiet is (en dus geen probleem) of dat die niet is in te stellen en het os dus is zoals het is. ik heb contact gezocht met sun. daar krijg ik als antwoord dat er opzich geen limiet bestaat voor sockets maar wel een limiet van filedescriptors per proces van 1024 - bij solaris -. Wat ik nu probeer uit te vinden van solaris is. als ik een server draai die processen fork en de geforkte processen loaden nieuwe code mbv een execxx() functie, wat geld dan.

voor fork geld dat alles (inclusief de filedescriptors) door de client wordt gecopieerd. telt elke file descriptor dan twee keer in de limiet van 1024 of geld de 1024 voor elk van de twee proccesen (parent en child).

als ik in de child daarna met execxx() andere code load (en als bij de fork geld dat de filedescripters bij elkaar worden opgeteld) is deze nieuwe code dan nogsteeds een child proces van de parent en worden de gebruikte resources (zoals sockets, filedescriptors, etc) dan opgeteld zodat alsnog de limiet van 1024 een probleem gaat worden, of heb je dan per geforkt proces opnieuw 1024 filedescriptors.

==

ik kan ook de orginele vraag stellen. zijn er limieten aan het aantal sockets (met name in linux) en is dit in te stellen zoals met maxsockets onder freebsd.

==

overigens ben ik geen student meer. al heel lang niet meer. ik stel voor dat je als moderator wilt aangeven of de huisregels betekenen dat jij mij wel op die manier mag aanspreken. voor mij is het dan simpel en ik zoek dan wel een plek waar dit niet gebeurd.

==
FG

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Het lijkt inderdaad niet apart van files in te stellen te zijn, je kunt ook een systemwide limiet opgeven in /proc , zie http://www.linuxquestions...archive/3/2003/01/3/41670 . In /proc kun je ook zien hoeveel je in gebruik hebt, en hoeveel je dus eventueel nog zou kunnen maken. Op die manier zou je ook kunnen kijken in welk geval bij een fork de counter omhooggaat.
ik kan ook de orginele vraag stellen. zijn er limieten aan het aantal sockets (met name in linux) en is dit in te stellen zoals met maxsockets onder freebsd.
Die limiet volgt uit de limiet op open files, dus eigenlijk ja en nee, ja een limiet, en nee, geen aparte limiet, en voor zover ik weet is het niet los in te stellen voor alleen sockets.

  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

Verwijderd schreef op 24 maart 2004 @ 13:08:
Wat ik nu probeer uit te vinden van solaris is. als ik een server draai die processen fork en de geforkte processen loaden nieuwe code mbv een execxx() functie, wat geld dan.

voor fork geld dat alles (inclusief de filedescriptors) door de client wordt gecopieerd. telt elke file descriptor dan twee keer in de limiet van 1024 of geld de 1024 voor elk van de twee proccesen (parent en child).
En is dit nu zo moeilijk uit te vinden ? De limieten zijn per proces, en na een fork() zijn d'r twee processen. Simpel.
als ik in de child daarna met execxx() andere code load (en als bij de fork geld dat de filedescripters bij elkaar worden opgeteld) is deze nieuwe code dan nogsteeds een child proces van de parent en worden de gebruikte resources (zoals sockets, filedescriptors, etc) dan opgeteld zodat alsnog de limiet van 1024 een probleem gaat worden, of heb je dan per geforkt proces opnieuw 1024 filedescriptors.
Bij een exec() krijg je alle open filedescriptors kado, mits ze geen close-on-exec flag hebben. Verder kwa limieten :

- standaard 1024 per process (ulimit)
- Een globaal limiet (/proc/sys/fs/file-max)

Sockets gelden als een fd, dus daar gelden genoemde limieten ook voor. (lees ook : Er zijn geen aparte limieten voor sockets).
overigens ben ik geen student meer. al heel lang niet meer. ik stel voor dat je als moderator wilt aangeven of de huisregels betekenen dat jij mij wel op die manier mag aanspreken. voor mij is het dan simpel en ik zoek dan wel een plek waar dit niet gebeurd.
==
FG
Een hint Frank : Trollen en een grote bek werken op een nieuwsgroep, hier niet.

Verwijderd

Topicstarter
[b][message=20334625,noline]igmar schreef op 24 maart 2004 @ Een hint Frank : Trollen en een grote bek werken op een nieuwsgroep, hier niet.
bedankt voor je informatie maar ik stel vragen op een normale manier en ben niet gedient om aangesproken te worden door mensen zoals de moderator en jij dat doen.

bij deze verzoek ik dan ook mijn account te verwijderen.

de groeten.

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Ik denk niet dat hier verder nog een zinvolle discussie uit voortkomt.
Pagina: 1

Dit topic is gesloten.