Chyba "Too many open files in system" na Mac OS X
Patrik Domabyl avatar
Autor: Patrik Domabyl
Aktualizováno před více než týdnem

Pokud se vám na serveru na Mac OS X objeví chyba s příliš mnoho otevřenými soubory (např. při hromadném generování dokladů):

2013-03-01 18:31:03,195 ERROR EventLoop:68 - Event handler [cz.winstrom.net.server.events.handlers.DoklFakMail@6190d003] failedcz.winstrom.service.WSBusinessRTException: Too many open files in system     at cz.winstrom.server.AbstractEvidenceHelper.generateIsdoc(AbstractEvidenceHelper.java:603)     at cz.winstrom.server.DokladEvidenceHelper.sendEmail(DokladEvidenceHelper.java:375)     at cz.winstrom.server.DokladEvidenceHelper.autoSendEmail(DokladEvidenceHelper.java:451)     at cz.winstrom.net.server.events.handlers.DoklFakMail.handle(DoklFakMail.java:14)     at cz.winstrom.net.server.events.EventLoop$EventHandlingTask.runHandler(EventLoop.java:94)     at cz.winstrom.net.server.events.EventLoop$EventHandlingTask.run(EventLoop.java:66)     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)     at java.util.concurrent.FutureTask.run(FutureTask.java:138)     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)     at java.lang.Thread.run(Thread.java:680)Caused by: java.io.IOException: Too many open files in system     at java.io.UnixFileSystem.createFileExclusively(Native Method)     at java.io.File.createNewFile(File.java:883)     at cz.winstrom.util.WSFileUtil.createTempFile(WSFileUtil.java:529)     at cz.winstrom.server.AbstractEvidenceHelper.generateIsdoc(AbstractEvidenceHelper.java:577)     ... 11 more2013-03-01 18:31:03,340 ERROR NastaveniBLImpl:700 - javax.imageio.IIOException: Can't create cache file!

V takové situaci je potřeba počet otevřených souborů zvýšit:

  1. upravte soubor /etc/sysctl.conf,

  2. doplňte řádek kern.maxfiles=20480

  3. restartujte server

Dostali jste odpověď na svou otázku?