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/$USERBecause 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/.singularityLarge 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/.singularityApplications will continue to access files through /home/$USER, but storage will actually occur in $SCRATCH.
Installing Conda Packages
Conda installs packages in:
$HOME/.condaBecause 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/RStore 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/RAlways 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/.juliaStore Julia environments in project space.
Example:
mkdir -p /project/xxxx_uksr/$USER/my_julia
ln -s /project/xxxx_uksr/$USER/my_julia /home/$USER/.juliaAlways 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-libMove 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