Computing Services

Classroom Services & Room Scheduling Unit

Web Services

E-Learning & Instructional Technology

Distance Education

Related Sites

Accessibility Statement. Privacy Statement.

symbol for authentication required denotes that authentication is required.

When SAS Fills Up the /tmp Directory

Symptom:

You start UNIX SAS but you get an error message containing the text: "Work directory could not be created"

Explanation:

The /tmp directory, were SAS stores a lot of intermediate work files is full. The command 'df -k /tmp' will tell for sure if this is the case.

This is a common problem. When a SAS job crashes, it doesn't delete its work files from /tmp. It is up to the user to remove these old files. This is something that we want every user to know about before they run SAS because when /tmp is filled up, no one else can run SAS.

Solution:

Unfortunately, you can't always tell who is taking up all the space because the SAS work directories (/tmp/SAS_*) are protected to prevent anyone but the owner of the SAS job from accessing the files. You can do a full directory listing on /tmp (ls -al /tmp). If you see that you own a directory in /tmp which is named something like SAS_ followed by some other characters, then you can delete that directory and its contents yourself. If a previous run of your SAS job caused /tmp to fill up, then you have just solved the problem by removing your old work directory.

If removing your old files from /tmp has little impact on the free space or if you don't have any directories in /tmp, then you need to send mail to sph.help@umich.edu reporting that /tmp is full on that machine (don't forget to include the machine name).

If you run a SAS program again and it again fills up /tmp, you will see a new directory called something like SAS_... then you will need to must remove this directory and its contents so that other users are not prevented from running SAS in the future.

More of the story: Always check the status of /tmp whenever your SAS job has crashed or won't start and gives the error message above. The following commands can be used for this:

df -k /tmp
ls -al /tmp