Skip to content

[JENKINS-11366] Jenkins takes up too much space in /var/run #16162

Closed

Description

@jenkins-infra-bot

As on newer debian systems /run or /usr/run is now tmpvfs based and allocated to 10% of memory the jenkins startup fails on low-memory systems (512MB ram).

[Winstone 2011/10/16 13:38:21] - Beginning extraction from war file
[Winstone 2011/10/16 13:38:23] - Error initializing web application: prefix []
java.io.IOException: No space left on device
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:282)
at winstone.HostConfiguration.getWebRoot(HostConfiguration.java:273)
at winstone.HostConfiguration.(HostConfiguration.java:73)
at winstone.HostGroup.initHost(HostGroup.java:85)
at winstone.HostGroup.(HostGroup.java:45)
at winstone.Launcher.(Launcher.java:197)
at winstone.Launcher.main(Launcher.java:398)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at Main._main(Main.java:268)
at Main.main(Main.java:96)

The mount command returns this:
none on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)

The df command returns this:
none 50M 50M 0 100% /run

I'm not sure about the best solution but jenkins seems by far the biggest user of /run, all other services together use about 10MB. Maybe jenkins could use a different folder to store it's extracted war?

As a temporary fix I change /etc/default/jenkins this way:
#JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT"
JENKINS_ARGS="--webroot=$JENKINS_HOME/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT"


Originally reported by francisdb, imported from: Jenkins takes up too much space in /var/run
  • assignee: oldelvet
  • status: Resolved
  • priority: Major
  • component(s): core
  • resolution: Fixed
  • resolved: 2011-11-30T18:54:24+00:00
  • votes: 1
  • watchers: 3
  • imported: 2025-11-24
Raw content of original issue

As on newer debian systems /run or /usr/run is now tmpvfs based and allocated to 10% of memory the jenkins startup fails on low-memory systems (512MB ram).

[Winstone 2011/10/16 13:38:21] - Beginning extraction from war file [Winstone 2011/10/16 13:38:23] - Error initializing web application: prefix [] java.io.IOException: No space left on device at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:282) at winstone.HostConfiguration.getWebRoot(HostConfiguration.java:273) at winstone.HostConfiguration.<init>(HostConfiguration.java:73) at winstone.HostGroup.initHost(HostGroup.java:85) at winstone.HostGroup.<init>(HostGroup.java:45) at winstone.Launcher.<init>(Launcher.java:197) at winstone.Launcher.main(Launcher.java:398) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at Main._main(Main.java:268) at Main.main(Main.java:96)

The mount command returns this: none on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)

The df command returns this: none 50M 50M 0 100% /run

I'm not sure about the best solution but jenkins seems by far the biggest user of /run, all other services together use about 10MB. Maybe jenkins could use a different folder to store it's extracted war?

As a temporary fix I change /etc/default/jenkins this way: #JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT" JENKINS_ARGS="--webroot=$JENKINS_HOME/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT"

  • environment: Ubuntu 11.10 Linode vps

Activity

  1. jenkins-infra-bot commented on Oct 16, 2011

    @jenkins-infra-bot
    Author
    oldelvet:
    • Original comment link
    • Raw content of original comment:

      Your description of the problem is very confusing. You mention /opt as being mounted using memory backed storage but I rather suspect you mean /run (which historically includes /var/run too).

      That said I can understand the issue that you raise and can see how it could be a problem on low-memory systems. I don't know what the appropriate location would be regarding Debian policy but I'm guessing it would likely be /var/cache/jenkins or something like that.

      Basically jenkins currently unpacks the war into /var/run/jenkins and fills it up.

    Your description of the problem is very confusing. You mention /opt as being mounted using memory backed storage but I rather suspect you mean /run (which historically includes /var/run too).

    That said I can understand the issue that you raise and can see how it could be a problem on low-memory systems. I don't know what the appropriate location would be regarding Debian policy but I'm guessing it would likely be /var/cache/jenkins or something like that.

    Basically jenkins currently unpacks the war into /var/run/jenkins and fills it up.

  2. jenkins-infra-bot commented on Oct 16, 2011

    @jenkins-infra-bot
    Author
    francisdb:
    • Original comment link
    • Raw content of original comment:

      My excuses for the confusing problem description, I fixed my errors. The problem is indeed that /var/run/jenkins which is a link to /run/jenkins fills up because on a 512MB memory system /run is only ~50MB

    My excuses for the confusing problem description, I fixed my errors. The problem is indeed that /var/run/jenkins which is a link to /run/jenkins fills up because on a 512MB memory system /run is only ~50MB

  3. jenkins-infra-bot commented on Nov 15, 2011

    @jenkins-infra-bot
    Author
    tisch:
    • Original comment link
    • Raw content of original comment:

      I'm getting the same error message on a 512 MB RAM Debian Squeeze system.

      Here's the log:

      Running from: /usr/share/jenkins/jenkins.war [Winstone 2011/11/15 12:26:25] - Beginning extraction from war file [Winstone 2011/11/15 12:28:46] - Error initializing web application: prefix [] java.io.IOException: No space left on device at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:297) at winstone.HostConfiguration.getWebRoot(HostConfiguration.java:273) at winstone.HostConfiguration.<init>(HostConfiguration.java:73) at winstone.HostGroup.initHost(HostGroup.java:85) at winstone.HostGroup.<init>(HostGroup.java:45) at winstone.Launcher.<init>(Launcher.java:197) at winstone.Launcher.main(Launcher.java:398) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at Main._main(Main.java:268) at Main.main(Main.java:96)

    I'm getting the same error message on a 512 MB RAM Debian Squeeze system.

    Here's the log:

    Running from: /usr/share/jenkins/jenkins.war
    [Winstone 2011/11/15 12:26:25] - Beginning extraction from war file
    [Winstone 2011/11/15 12:28:46] - Error initializing web application: prefix []
    java.io.IOException: No space left on device
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:297)
    at winstone.HostConfiguration.getWebRoot(HostConfiguration.java:273)
    at winstone.HostConfiguration.(HostConfiguration.java:73)
    at winstone.HostGroup.initHost(HostGroup.java:85)
    at winstone.HostGroup.(HostGroup.java:45)
    at winstone.Launcher.(Launcher.java:197)
    at winstone.Launcher.main(Launcher.java:398)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at Main._main(Main.java:268)
    at Main.main(Main.java:96)

  4. jenkins-infra-bot commented on Nov 15, 2011

    @jenkins-infra-bot
    Author
    oldelvet:
    • Original comment link
    • Raw content of original comment:

      I've been doing a bit more research and /var/cache/jenkins looks like the proper place for unpacking the war file. Tomcat6 on Ubuntu (and Debian) puts its Work directory in /var/cache.

      I should be able to sort out a patch/pull request in the next day or so.

    I've been doing a bit more research and /var/cache/jenkins looks like the proper place for unpacking the war file. Tomcat6 on Ubuntu (and Debian) puts its Work directory in /var/cache.

    I should be able to sort out a patch/pull request in the next day or so.

  5. jenkins-infra-bot commented on Nov 30, 2011

    @jenkins-infra-bot
    Author
    scm_issue_link:

    Code changed in jenkins
    User: Richard Mortimer
    Path:
    changelog.html
    debian/debian/dirs
    debian/debian/jenkins.default
    debian/debian/jenkins.postinst
    debian/debian/jenkins.postrm
    http://jenkins-ci.org/commit/jenkins/9714917685e2b50f59b4feda9bc4e561870a944f
    Log:
    [FIXED JENKINS-11366] Jenkins takes up too much space in /var/run

    Use /var/cache/jenkins to hold the unpacked jenkins.war file at runtime.

    Compare: a1714c1...9714917

  6. jenkins-infra-bot commented on Nov 30, 2011

    @jenkins-infra-bot
    Author
    dogfood:

    Integrated in jenkins_main_trunk #1331
    [FIXED JENKINS-11366] Jenkins takes up too much space in /var/run

    Kohsuke Kawaguchi : 9714917685e2b50f59b4feda9bc4e561870a944f
    Files :

    • debian/debian/jenkins.postrm
    • debian/debian/jenkins.default
    • debian/debian/dirs
    • changelog.html
    • debian/debian/jenkins.postinst
  7. jenkins-infra-bot commented on Apr 3, 2015

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Original comment link
    • Raw content of original comment:

      Code changed in jenkins User: Richard Mortimer Path: debian/dirs debian/jenkins.default debian/jenkins.postinst debian/jenkins.postrm http://jenkins-ci.org/commit/packaging/b98f3a38238b70d4ab2fd9183a7e8b6b9db39aff Log: [FIXED JENKINS-11366] Jenkins takes up too much space in /var/run

      Use /var/cache/jenkins to hold the unpacked jenkins.war file at runtime.

      Originally-From: jenkins-ci.org/commit/core/9714917685e2b50f59b4feda9bc4e561870a944f

    Code changed in jenkins
    User: Richard Mortimer
    Path:
    debian/dirs
    debian/jenkins.default
    debian/jenkins.postinst
    debian/jenkins.postrm
    http://jenkins-ci.org/commit/packaging/b98f3a38238b70d4ab2fd9183a7e8b6b9db39aff
    Log:
    [FIXED JENKINS-11366] Jenkins takes up too much space in /var/run

    Use /var/cache/jenkins to hold the unpacked jenkins.war file at runtime.

    Originally-From: jenkins-ci.org/commit/core/9714917685e2b50f59b4feda9bc4e561870a944f

  8. jenkins-infra-bot commented on Nov 24, 2025

    @jenkins-infra-bot
    Author

    [Original is_duplicated_by from Jira: JENKINS-11365]

  9. jenkins-infra-bot commented on Nov 24, 2025

    @jenkins-infra-bot
    Author

    [Original is_duplicated_by from Jira: JENKINS-11364]

  10. removed
    bugFor changelog: Minor bug. Will be listed after features
    on Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions