Kannel HTTP Too many open files

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Kannel HTTP Too many open files

Ady Wicaksono

Anybody know, why this happened?

2006-01-21 18:02:51 [24505] [2] ERROR: HTTP: Error accepting a client.
2006-01-21 18:02:51 [24505] [2] ERROR: System error 24: Too many open files

How to solve?

I have seet this kernel vars on Linux enough

$ cat /proc/sys/fs/file-max
1000000


I also could do fopen or something like it using another program



Reply | Threaded
Open this post in threaded view
|

Re: Kannel HTTP Too many open files

adi-2
On Sat, Jan 21, 2006 at 06:13:38PM +0700, Ady Wicaksono wrote:
> 2006-01-21 18:02:51 [24505] [2] ERROR: HTTP: Error accepting a client.
> 2006-01-21 18:02:51 [24505] [2] ERROR: System error 24: Too many open files
>
> How to solve?
>
> I have seet this kernel vars on Linux enough
>
> $ cat /proc/sys/fs/file-max
> 1000000

check your system filediscriptor limit:

$ ulimit -n

you'd need to raise your system fildescriptor limit from your shell, i.e
put that 'ulimit command' into kannel startup script, e.g: ulimit -n
8192. only root could raise system resource limit.

Regards,

P.Y. Adi Prasaja

Reply | Threaded
Open this post in threaded view
|

Re: Kannel HTTP Too many open files

Davy Chan
**>Date: Sun, 22 Jan 2006 22:22:18 +0700
**>From: adi <[hidden email]>
**>To: Ady Wicaksono <[hidden email]>
**>Subject: Re: Kannel HTTP Too many open files
**>In-Reply-To: <[hidden email]>
**>Cc: [hidden email]
**>
**>On Sat, Jan 21, 2006 at 06:13:38PM +0700, Ady Wicaksono wrote:
**>> 2006-01-21 18:02:51 [24505] [2] ERROR: HTTP: Error accepting a client.
**>> 2006-01-21 18:02:51 [24505] [2] ERROR: System error 24: Too many open files
**>>
**>> How to solve?
**>>
**>> I have seet this kernel vars on Linux enough
**>>
**>> $ cat /proc/sys/fs/file-max
**>> 1000000
**>
**>check your system filediscriptor limit:
**>
**>$ ulimit -n
**>
**>you'd need to raise your system fildescriptor limit from your shell, i.e
**>put that 'ulimit command' into kannel startup script, e.g: ulimit -n
**>8192. only root could raise system resource limit.

You will also need to properly close your network file descriptors after
using them. Most likely, the appplications communicating with Kannel
is using HTTP/1.1 protocol which allows persistent connections. As a
result, Kannel will not close the network connection after returning
a HTTP response.

If the application is Java-based, it is exacerbated by standard Java
practices of not explicitly closing datastreams and instead waiting
for garbage collection to close the network connection. If your app
is Java-based, I would suggest you explicitly close your datastreams.

See ya...

d.c.