Difference between revisions of "Disk Quotas"

m
Line 1: Line 1:
On the '''''CS Ugrad Net''''', the Ugrad accounts may be subject to disk quotas, which are limits on the total amount of data you are permitted to store in your home directory (or, in some cases, other directories).  If you exceed a quota, you will be unable to create new files or add to existing files until you reduce the total mount of disk space you're using to go below your quota.
+
On the '''''CS Ugrad Net''''', the Ugrad accounts may be subject to disk quotas, which are limits on the total amount of data you are permitted to store in your home directory (or, in some cases, other directories).  If you exceed a quota, you will be unable to create new files or add to existing files until you reduce the total amount of disk space you're using to go below your quota.
  
 
'''NOTE:'''  The '''''CS Grad/Research Net''''' does not currently have disk quotas enabled.  But, we ask that users on the CS Grad/Research Net be mindful that you are ''sharing disk space with much of CS''.
 
'''NOTE:'''  The '''''CS Grad/Research Net''''' does not currently have disk quotas enabled.  But, we ask that users on the CS Grad/Research Net be mindful that you are ''sharing disk space with much of CS''.

Revision as of 13:22, 17 May 2018

On the CS Ugrad Net, the Ugrad accounts may be subject to disk quotas, which are limits on the total amount of data you are permitted to store in your home directory (or, in some cases, other directories). If you exceed a quota, you will be unable to create new files or add to existing files until you reduce the total amount of disk space you're using to go below your quota.

NOTE: The CS Grad/Research Net does not currently have disk quotas enabled. But, we ask that users on the CS Grad/Research Net be mindful that you are sharing disk space with much of CS.

How Quotas Work on the CS Ugrad Net

Every account that is subject to a quota has a soft limit and a hard limit. For most of our CS Ugrad accounts, those are 8 GiB and 8.5 GiB, respectively. You cannot use more disk space than is given by your hard limit; once you hit that limit, all attempts to allocate more space (creating new files, making existing files larger, etc.) will fail.

If you exceed your soft limit, you will have a grace period of a week. During that period of time you may continue to create files and add to existing files as normal (as long as you don't hit your hard limit). If you remain above your soft limit for a full week, the soft limit begins to behave like a hard limit and you will be unable to use any additional space until you reduce your total disk usage below your soft limit.

If you cannot allocate more space (you've hit your hard limit or you've exceeded your soft limit for more than a week), you might not be able to log in via the GUI on our Ugrad computer lab Linux systems. If that happens, you will have to SSH in remotely and reduce your disk usage below your quota.

The CS Department has a notification system in place that will email your CS Ugrad account if you exceed your disk quota. This is a courtesy; you are ultimately responsible for keeping track of whether you're within the limits set for your account.

How to Check Your Quota on the CS Ugrad Net

Log in to one of the Linux Clients on the CS Undergrad Net and run the following command from the command line:

quota

If it doesn't print anything, you are not subject to any quotas. If it does print something, the output will look like this:

Disk quotas for user account (uid 12345):
     Filesystem   space   quota   limit   grace   files   quota   limit   grace
barley.cs.jhu.edu:/home
                 993776  4000000 4500000            9687       0       0

The numbers represent 1024-byte blocks. In the above example, the person is using 993776 blocks, which translates to roughly 970 MiB of data. The quota (aka soft limit) is 4000000 blocks, or just under 4 GiB. The hard limit is 4500000 blocks, or a little under 4.5 GiB.

How to Get Yourself Under Quota on the CS Ugrad Net

If you're over quota, the only way to get back under is to delete or shrink files until your total disk usage is reduced below your limit.

You can use the du command line program to see how much space individual files or directories are using. One of the simplest ways to invoke it is to run the following command from your home directory:

du -h | sort -h

This will show you every directory in your home directory (and every subdirectory of them and every subdirectory of those and so on) and how much space it and all of its contents occupies, with the largest directories shown last. The directories containing the most data are probably the best candidates to start cleaning out.

Another useful command is the following:

du -sh * .??* | sort -h

This version of running the du command lists all directories and all files in the current directory and their sizes. (The previous version of running the du command shows all directories, not just the ones directly in the current directory, and it doesn't list files directly; they simply get added to the size tally for the directory they're in.)

NOTE: If You Are Using A Cloud Drive (Dropbox, Google Drive, etc.)

If you have your CS Ugrad Linux account linked to a cloud drive such as Dropbox or Google Drive, please note that those services may download local copies of your cloud files into your Ugrad account. This is an extremely quick way to go over your CS Ugrad disk quota. We recommend you not link cloud drives with your Linux account (unless your cloud drive is very small and well within your CS Ugrad disk quota.) We cannot accomodate users' cloud data within our provided home directory disk resources.

If You Have .nfs Files

In some cases, you might see a file with a name starting with ".nfs" followed by a long string of numbers. This happens when a file is deleted while a running program is still using it. Our systems simply rename the file while the program runs. As soon as the program exits, the .nfs file will be removed.

If you need to figure out what program is using the file, you can use the lsof program, like this:

lsof .nfs000000003114807500000002

(Obviously, use the actual name of the file in your directory.) Its output will look something like this:

COMMAND  PID USER    FD   TYPE DEVICE  SIZE/OFF      NODE NAME
pv      9671 example  1w   REG   0,45 167772160 823427189 .nfs000000003114807500000002

The most useful information is at the beginning, giving the name and process ID of the running program.

This will only work on the system running the program. If, for example, you started a program on our ugradx system, you would only see useful information from lsof if you also ran it on ugradx. If you ran it on, say, ugradz, it would still see the .nfs file, but it wouldn't be able to find what program was using it.

If You Can't Find any Large Files

Sometimes the quota program will say that you're using a lot of disk space, but du doesn't show anything large.

One common cause for this is because of a quirk in Unix filesystem behavior. If a you delete a file while it's in use by a running program, the file will disappear from the directory, but it will still exist, invisibly using disk space until the running program exits. Even worse, if the program writes data to this deleted file, the extra data gets counted against your quota, even though you can't see the file. (Usually when you delete a file that's in use you'll get a .nfs file, as described above, but sometimes the file will just disappear entirely.)

You can use the lsof program to find files that have deen deleted but are still in use, like this:

lsof +aL1 /home

If you have any files in this state, it'll print something like this:

COMMAND   PID USER    FD   TYPE DEVICE  SIZE/OFF NLINK      NODE NAME
pv      16081 example  1w   REG   0,45 159907840     0 823427190 /home/example/inuse (barley.cs.jhu.edu:/home)

That will show the name of the program and the location where the file used to be before it was deleted. If you don't have any other way to stop the program, you can usually terminate it with the kill command, like this:

kill 16081

For the number, use the process ID (PID) from lsof's output.

This will only work if you run lsof on the same system where the other program is running. You might need to log into several systems to check things if you've used more than one for your recent work.

If You Still Can't Reduce Your Disk Usage

If the system insists that you're over quota but you can't figure out why, you can always email us at support@cs.jhu.edu for assistance.

If You Need a Larger Quota on the CS Ugrad Net

If your class projects or research require more disk space than your quota will allow, please contact support@cs.jhu.edu and detail the reasons your current quota is insufficient. (Note: Please do not request a larger disk quota to accommodate cloud drives such as Dropbox and Google Drive.) Please include the following information when requesting more disk space:

  • Your CS username
  • CS student status (ugrad? grad? concurrent?)
  • Your JHED ID
  • How much additional space you require.
  • Name and section of class you're taking that's requiring the extra space.
  • Name of the professor teaching the class.
  • How long you need the increased quota. After that, your quota will be reduced to its normal level, and you will need to be below that level to write files to your directory.

Quota increases are not guaranteed. Allow at least one full business day for your quota increase request to be processed.