Op Linux kunnen we het ulimit -n commando gebruiken om het maximale aantal bestandshandvatten te zien dat een enkel proces kan openen (socketverbindingen worden ook meegeteld). systeemDe standaardwaarde is 1024。
Voor algemene toepassingen (zoals Apache, systeemprocessen) is 1024 volledig voldoende. Het is echter wat meer te rek voor single-process applicaties zoals Squid, MySQL en Java. Als het aantal bestandshandvatten dat door één proces wordt geopend de door het systeem gedefinieerde waarde overschrijdt, wordt de foutmelding "te veel bestanden open" genoemd.
Bekijk het maximale aantal bestandshandvaten dat door het systeem is ingesteld
LSOF (List Open Files) is een tool die de bestanden vermeldt die momenteel open zijn op het systeem. In de Linux-omgeving bestaat alles in de vorm van bestanden, waarmee niet alleen algemene gegevens toegankelijk zijn, maar ook netwerkverbindingen en hardware. Dus op de achtergrond, zoals bij de Transmission Control Protocol (TCP) en User Datagram Protocol (UDP) sockets, wijst het systeem een bestandsdescriptor toe aan de applicatie, ongeacht de aard van het bestand, die een gemeenschappelijke interface biedt voor de interactie tussen de applicatie en het onderliggende besturingssysteem. Omdat de lijst met descriptors voor de open bestanden van de applicatie veel informatie over de applicatie zelf bevat, zal het hebben van de LSOF-tool om deze lijst te kunnen bekijken zeer nuttig zijn voor systeemmonitoring en probleemoplossing.
Het installatiecommando is als volgt:
Tel het totale aantal bestandshandvatten dat momenteel open is in het systeem:
Manieren om het aantal bestandshandvatten dat door het applicatieproces is geopend te bekijken:
Stel ulimit in
Tijdelijke instellingen
In feite is het ulimit-commando zelf onderverdeeld in zachte en harde beperkingen, plus-h is de harde limiet, en plus-s is de zachte limiet. Standaard worden zachte limieten weergegeven; als je geen -H of -S toevoegt bij het uitvoeren van het ulimit-commando om te wijzigen, worden de twee parameters samen aangepast.
Wat is het verschil tussen zachte en harde limieten?
Een harde limiet is de werkelijke limiet, terwijl een zachte limiet een waarschuwingslimiet is, die alleen een waarschuwing geeft.
Permanente setting
De waarde van Ulimits is permanent, en het configuratiebestand /etc/security/limits.conf moet worden aangepast
(Einde)
|