På Linux kan vi bruke ulimit -n-kommandoen for å se det maksimale antallet filhåndtak en enkelt prosess kan åpne (socket-tilkoblinger telles også). systemStandardverdien er 1024。
For generelle applikasjoner (som Apache, systemprosesser) er 1024 helt tilstrekkelig. Den er imidlertid litt utstrakt for enkeltprosessapplikasjoner som Squid, MySQL og Java. Hvis antallet filhåndtak åpnet av en enkelt prosess overstiger den systemdefinerte verdien, nevnes feilmeldingen "for mange filer åpne".
Se maksimalt antall filhåndtak satt av systemet
lsof (List Open Files) er et verktøy som lister filene som for øyeblikket er åpne på systemet. I Linux-miljøet eksisterer alt i form av filer, hvor ikke bare generelle data kan nås, men også nettverkstilkoblinger og maskinvare. Så i bakgrunnen, som i Transmission Control Protocol (TCP) og User Datagram Protocol (UDP)-soklene, tildeler systemet applikasjonen en filbeskrivelse, uavhengig av filens natur, som gir et felles grensesnitt for interaksjonen mellom applikasjonen og det underliggende operativsystemet. Fordi listen over beskrivelser for applikasjonens åpne filer gir mye informasjon om selve applikasjonen, vil det være svært nyttig å ha LSOF-verktøyet for å kunne se denne listen for systemovervåking og feilsøking.
Installasjonskommandoen er som følger:
Tell det totale antallet filhåndtak som for øyeblikket er åpne i systemet:
Måter å se antall filhåndtak som er åpne av applikasjonsprosessen:
Sett ulimit
Midlertidige innstillinger
Faktisk er ulimit-kommandoen delt inn i myke og harde begrensninger, pluss-h er hard grense, og pluss-s er myk grense. Som standard vises myke grenser, og hvis du ikke legger til -H eller -S når du kjører ulimit-kommandoen for å endre, endres de to parameterne sammen.
Hva er forskjellen mellom myke og harde grenser?
En hard grense er den faktiske grensen, mens en myk grense er en advarselsgrense som kun gir en advarsel.
Permanent setting
Ulimits-verdien er permanent, og konfigurasjonsfilen /etc/security/limits.conf må endres
(Slutt)
|