1

We have a Java Application server installed on our client's test server. Within application server, a number of threads access the filesystem in a number of ways. The application servers are started as a service. After a number of hours, sometimes up to a day, the filesystem seems to have become unavailable to these threads. On looking at the folders/directories in question on the filesystem, they are still present, appear to have the correct access permissions and do not appear to have exclusive locks on them. Is this possible? Any suggestions as to clues I should look for? Most likely causes?

The Operating system in question is Windows 2003 (Service Pack 2) with 32 bit processor. Filesystem is NTFS JRE is 1.6

EEAA
  • 109,363
  • 18
  • 175
  • 245
nick
  • 11
  • 1
  • 1
    whats does the jre app look like in terms of cpu util and mem util? – tony roth May 09 '11 at 22:23
  • Memory util is high, but don't know if that is as a result of our problem or the cause of it, as because of our errors the various threads will keep retrying (at specified intervals). Eventually we get "OutOfMemoryError - PermGen space exceptions. – nick May 10 '11 at 20:32
  • this is a jre issue not an os issue, I'd punt this to stackoverflow.com if I were you. – tony roth May 10 '11 at 21:17
  • http://blogs.oracle.com/fkieviet/entry/classloader_leaks_the_dreaded_java – tony roth May 10 '11 at 21:25

2 Answers2

0

I would suggest using ProcessExplorer to search for processes which have a handle to the problematic files and take it back from there.

I would hazzard a guess though that your application is leaky somewhere though.

Tom Pickles
  • 126
  • 2
0

You might be running into a per-process file-limit, perhaps because the process is not disposing of used objects correctly. As @jay points out, ProcessExplorer can help expose that, and Process Monitor (another fine SysInternals tool) can track the object-creation and object-disposal process. If this is your problem, Process Explorer should show ever more open handles.

The handle limits on Windows are pretty liberal, so it's probably a bug somewhere that isn't disposing of objects correctly.

sysadmin1138
  • 133,124
  • 18
  • 176
  • 300