2 Replies Latest reply on Oct 25, 2003 2:26 PM by ctrawick

    Redeploy and open file descriptors

    ctrawick

      Gentoo Linux 1.4 (kernel 2.4.22-grsec-1.9.12)
      Dell PowerEdge 6350 (4x P2 Xeon 450mHz, 2g RAM)
      JBoss-Jetty 3.2.1
      Sun JDK 1.4.2_01
      UW SCSI (ext3)

      I don't know if this is a question for JBoss, Java, or Linux.

      During development, I deploy and redeploy a lot of stuff to JBoss. After a while, the whole system grinds to a halt. When I restart JBoss everything is fine again.

      JBoss is only using 290m of its allocated 512m of memory. Thread/process counts are stable. No swap is being used. The system is utterly idle.

      However, JBoss has quite a few file descriptors open to nothing. Here's a sample from lsof:

      java 78 ctrawick mem DEL 8,4 1093940 /home/ctrawick/jboss-3.2.1/server/default/tmp/deploy/home/ctrawick/siren/target/deploy/siren-1.0-dev-debug.sar/29.siren-1.0-dev-debug.sar-contents/commons-beanutils-1.6.jar

      A file descriptor open to a deleted file? I confirmed that it doesn't exist on the filesystem.

      I've gone through several development iterations since I last restarted JBoss and now there are 18,216 lines of the above coming back from lsof, all in JBoss's tmp dir, all referencing different files in my deployment.

      I just restarted JBoss and now there are zero, and the system is clunking along much more happily.

      Googling "+del +lsof" was rather counterproductive. Has anyone seen this sort of thing before?

      chris

        • 1. Re: Redeploy and open file descriptors
          jonlee

          Try 3.2.2 and a different JDK. I'm using a Pentium III laptop, Slackware 9.1 (kernel 2.4.22) with IBM Java 2 1.4.1. No problems with the lsof and I'm doing a lot of redeployments while I clean up code. The system or JBoss hasn't been shutdown for a couple of days.

          • 2. Re: Redeploy and open file descriptors
            ctrawick

            I tried IBM's JDK and got some strange classpath errors with JBoss. JRockit wouldn't even start up. I ended up going with Blackdown.

            Switched to 3.2.2 and that seems to have worked. There are still open handles to deleted files, but there are far fewer now by about ten fold. It's even a little faster than 3.2.1 by 7% according to the timings on my automated regression tests.

            Thanks!