Thursday, 25 November 2010

"Too many open files" whilst running WebSphere Portal 7 on Ubuntu Linux 10.10

Not sure if this explains why my WebSphere Portal 7 installation seems to hang on a particular thread, and never complete it's startup, but I was seeing this in the SystemOut.log file: -   

[25/11/10 09:38:29:352 GMT] 0000001b Ffdc          I com.ibm.ffdc.impl.Ffdc setFailsafeProvider FFDC1001I: FFDC provider aborted with exception {0}
...
java.security.PrivilegedActionException: java.io.IOException: Too many open files
...
Caused by: java.io.IOException: Too many open files

I've increased the number of open files available to WebSphere by setting ulimit -n 40000 in /opt/IBM/WebSphere/wp_profile/bin/setupCmdLine.sh.

Will test and report back ...

6 comments:

Unknown said...

I am also facing this error, I will be very much thankful if you have solution

thanks
Dora
dorababu.kothuru@gmail.com

Dave Hay said...

@Dora - the solution is to set ulimit -n 40000 before starting WebSphere Portal.

You can either do this in /opt/IBM/WebSphere/wp_profile/bin/setupCmdLine.sh if you're running Portal as root. Otherwise, you'll need to set this in your user's profile.

Note you don't HAVE to use 40000; pick a value that's most appropriate for your environment.

Unknown said...

Hi I came across your post after a search on google today.

You might find it cleaner to change the file /etc/security/limits.conf if you have it on your distro.

Add something like:

mywasuser soft nofile 10000
mywasuser hard nofile 100000

where mywasuser is your was profile user and 10000 is a software files limit and 100000 is hard limit.

I found that setting applied simply by loggin in and out.

you can check them by finding the PID of your app and cat'ing the file:

/proc/PID_HERE/limits

Hope that helps

Dave Hay said...

@Tony - cheers for this, appreciate your feedback, regards, Dave

Unknown said...

Your website is better than IBM Support Dave!

Dave Hay said...

@Michael - thanks for the feedback - it's nice to be popular :-)

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...