Combating 'Disk quota exceeded'

Combating 'Disk quota exceeded'

This page explains why you may encounter the “Disk quota exceeded” error on the Lipscomb Compute Cluster (LCC) and provides steps to resolve the issue.



What this error means

LCC enforces storage quotas. Certain directories have an upper limit on how much data can be stored. If this limit is exceeded, a “Disk quota exceeded” error will occur, and jobs may fail.

Storage quota limits are documented here: LCC Storage Quotas

 

Common Causes

Some applications automatically create directories in:

/home/$USER

Because the home directory has the strictest quota limits, large files created here are the most common cause of quota errors.

Example — Singularity

When running Singularity containers, the following directory may be created:

/home/$USER/.singularity

Large container image files stored here can quickly exceed the home directory quota.

 

General Solution — Move Directory and Create a Symlink

Move the application directory to scratch storage and create a symbolic link from the home directory.

Example:

mv /home/$USER/.singularity $SCRATCH/.singularity ln -s $SCRATCH/.singularity /home/$USER/.singularity

Applications will continue to access files through /home/$USER, but storage will actually occur in $SCRATCH.

 

Installing Conda Packages

Conda installs packages in:

$HOME/.conda

Because Conda environments are typically needed long-term, they should be stored in project space, not scratch.

Example (replace xxxx_uksr with your project):

mkdir -p /project/xxxx_uksr/$USER/my_conda ln -s /project/xxxx_uksr/$USER/my_conda /home/$USER/.conda

 

Installing R Packages

R installs packages in:

$HOME/R

Store R packages in project space instead of the home directory.

Example:

mkdir -p /project/xxxx_uksr/$USER/my_R ln -s /project/xxxx_uksr/$USER/my_R /home/$USER/R

Always load the same R module version when using previously installed packages.

Example:

module load ccs/conda/r-base-4.0.0

 

Installing Julia Packages

Julia installs packages and registries in:

$HOME/.julia

Store Julia environments in project space.

Example:

mkdir -p /project/xxxx_uksr/$USER/my_julia ln -s /project/xxxx_uksr/$USER/my_julia /home/$USER/.julia

Always load the same Julia module version when using installed packages.

Example:

module load ccs/julia/1.6.1

 

Installing Python Packages with pip

Identify the Python version:

ls /home/$USER/.local/lib/

Create a project directory for packages:

mkdir -p /project/xxx_uksr/$USER/python-lib

Move existing packages and create a symbolic link:

mv /home/$USER/.local/lib/pythonX.XX /project/xxx_uksr/$USER/python-lib/ ln -s /project/xxx_uksr/$USER/python-lib/pythonX.XX /home/$USER/.local/lib/pythonX.XX

Center for Computational Sciences