Why am I getting an error message that there is “insufficient disk space”?
Using the STATATMP environment variable
Pete Huckelba, StataCorp
February 2003; updated December 2006
Some routines within Stata will use the preserve and restore
commands or will attempt to write temporary files to aid in processing. If
your machine is limited in hard-drive space, or if the partition is near its
capacity, Stata may report an error similar to
insufficient disk space
By default, Stata will save temporary files in the directory pointed to by
the TEMP (Windows) or TMPDIR (Linux/Unix) environment
variable. You also have the option of setting up the environment variable,
STATATMP, to point to a location other than the predefined variables
listed above. The usage of STATATMP is preferred because some
operating systems may not allow you to modify the path of TEMP or
TEMPDIR unless you have administrative or root access.
If your machine has free space on another physical drive or partition, you
can instruct Stata to save its files to that location to prevent the error.
Depending on the method used, you will have to terminate the current Stata
session and may have to log out or reboot the machine.
To verify the location of the temporary directory Stata is using, type the
following commands from within Stata:
. tempfile junk
. display "`junk'"
Ignore the filename and look at the directory—this is where Stata is
saving temporary files. Using your operating system's tools, you can verify
if that location is actually near its limit.
Using your favorite editor, create a file with the following contents:
- Windows users
You can then save that file as a batch (filename.bat) to your desktop
and run it as needed.
cd drive:\path\to\start in directory
- Linux/Unix users (shell independent)
After you have saved the file, you will need to make it executable by issuing
chmod u+x filename from your OS command line or terminal. You
can then run Stata with the modified environment by typing the name of the
file you just created.
cd /path/to/start in directory
- Windows 95/98/ME users will need to edit the autoexec.bat file located in
the root drive (generally C:\). It is recommended that you make a backup of
the autoexec.bat file so that you can easily revert the change if needed.
Simply add the line
in the area where the other environment declarations are made or at the end
of the file if there are not any other declarations. Next reboot the machine,
and Stata will use the STATATMP directory the next time it is called.
- Windows NT users should access the Control Panel by clicking Start,
Settings, and then Control Panel. Double-click the System icon and click
the Environment tab. Type STATATMP in the Variable box and specify the
path where the temporary files should be saved in the Value box. Click Set,
followed by the Apply button. Next reboot the machine, or log out and back
in, and Stata will use the STATATMP directory the next time it is
- Windows XP/2000/Vista users should open the Control Panel
(Vista users will have to switch to classic view via the link on the left-hand side of the Control Panel), double-click the
System icon and click the Advanced tab/link, and then select the Environment
Variables button. Under the User variables section for your login ID, click
New, enter STATATMP for the Variable Name, and specify a path for the
Variable Value. Click Ok to close the New User Variable Window, Ok to close
the Environment Variable window, and Ok again to close the System Properties.
Next reboot the machine, or log out and back in, and Stata will use the
STATATMP directory the next time it is called.
- Linux/Unix users can modify the shell profile located in their home
directory. Using an editor, csh and tcsh users can add
setenv STATATMP "/path/to/directory"
to their .cshrc or .tcshrc file. Bash users will need to add the declarations
in their .bashrc file. You can then re-source the environment or log out and
log back in to activate the change.
Note: Both of the methods listed above require that the directory exists
before attempting to set the environment variable.
Stata for Windows
Stata for Unix
Stata for Mac