Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

99mac servern kraschade pga för många öppna filer

Tråden skapades och har fått 4 svar. Det senaste inlägget skrevs .
1
Citat:

kernel: file: table is full

Så stod det i systemloggen klockan 15:30 idag och sen stannade Apache webbservern. Gick inte att starta om webbservern heller pga för många öppna filer...

Några tips på vad som orsakat detta och vad vi kan göra åt det? Har aldrig hänt tidigare med denna maskin och inga uppdateringar nyligen. Mac OS X 10.5.8 med alla uppdateringar installerade...

  • Medlem
  • Stockholm
  • 2010-11-24 16:47

Google är din vän…

Har du kollat vilken process som skapar så många öppna filer…?

- Torkel

Ursprungligen av Torkel:

Google är din vän…

Google är definitivt Björnströms vän, minuter efter att tråden skapades var den på förstasidan för sökning på felmeddelandet + "mac”.

Det här har blivit ett återkommande problem på sista tiden och jag vet inte riktigt vad vi kan gör åt det. Servern kraschar med processen Syslogd eller launchd med 100% CPU och det går inte ens att starta om servern på normalt sätt utan tvingas köra en hård LOM omstart...

  • Medlem
  • Sundsvall
  • 2011-02-26 09:21

Låter som om något öppnar en massa filer men inte kör en close sedan. Det är någon kod som är trasig troligtvis som skriver filer, eventuellt temp-filer eller så är det helt enkelt för många processer som öppnar filer.

Svårt kanske att hitta felkällan, men kanske webbservern gör något knas.
Startar du om Apachen någon gång under dygnet/veckan? Om inte borde du kanske tex kompilera apachen om den inte kör en mpm-worker, och låta sätta MaxRequestsPerChild till något lämpligt värde, tex 1000 eller liknande. För att få apache-processerna att starta om då och då.

Du bör också kunna ändra kernel-parametern i OS X.
kern.maxfiles i sysctl till ett klart högre värde.

Det finns också något som heter ulimit som begränsar hur mycket resurser varje process får ta.
Där finns det också limits på hur mycket filer som får vara öppna för varje process som man bör kunna tuna. Kör du ulimit -Sn bör du se hur limiten se hur hög limiten sitter på just nu för antal file descriptors.

Tror det är launchd som styr ulimit-värderna nuförtiden.

Senast redigerat 2011-02-26 09:35
1
Bevaka tråden