i-nodes - out of disk space on /tmp


 
Thread Tools Search this Thread
Operating Systems AIX i-nodes - out of disk space on /tmp
# 1  
Old 11-02-2008
Question i-nodes - out of disk space on /tmp

Usage:

We run test build jobs that login to our AIX machines and create many small files in /tmp. After these jobs complete, they delete their temporary files that they have created.

Issue:

After approximately a week /tmp appears to become full. Issuing the command “df –g /tmp” shows that there is free disk space (almost the entire disk is free) however the “%Iused” displays 99%, which prevents us from writing any new files to /tmp.

Workaround:
The only solution I’ve been able to find, is to reboot all of our AIX machines, once a week.

Environment:

Operating System Model Series CPU Type
AIX 5300-07-03-0811 JS20 Blade PowerPC_970FX
AIX 5200-08-00 JS21 Blade PowerPC_970MP
AIX 5200-08-00 JS21 Blade PowerPC_970MP
AIX 6100-01-01-0823 JS21 Blade PowerPC_970MP
AIX 5200-08-CSP-0000 JS21 Blade PowerPC_970MP
AIX 6100-01-01-0823 JS22 Blade PowerPC_POWER6
AIX 6100-01-01-0823 JS22 Blade PowerPC_POWER6
AIX 5300-07-00-0000 JS22 Blade PowerPC_POWER6
AIX 6100-01-01-0823 JS22 Blade PowerPC_POWER6
AIX 6100-01-01-0823 JS22 Blade PowerPC_POWER6
AIX 6100-01-01-0823 JS22 Blade PowerPC_POWER6
AIX 6100-01-01-0823 JS22 Blade PowerPC_POWER6
AIX 5200-08-CSP-0000 eServer pSeries PowerPC_POWER4
AIX 6100-01-01-0823 JS22 Blade PowerPC_POWER6
AIX 5200-08-01-0000 eServer pSeries PowerPC_POWER4
AIX 5200-09-04-0000 JS21 Blade PowerPC_970FX
AIX 5300-04-03 JS21 Blade PowerPC_970FX
AIX 5300-06-03-0732 eServer p5 PowerPC_POWER5
AIX 5300-04-03 eServer p5 PowerPC_POWER5
AIX 5300-04-CSP-0000 JS21 Blade PowerPC_970FX


More Information:

When I run the command “ncheck -i /tmp” when there are no files in /tmp:

# pwd
/tmp
# ls -la
total 216
drwxrwsrwt 2 sys sys 102912 Nov 02 08:12 .
drwxr-xr-x 26 root system 4096 Nov 02 07:51 ..
#

ncheck will respond with over 25000 lines of files, which looks like this:

664822 /bld_17450_aix_ppc-64/test/java/jre/bin/shared_test/copyright.o
664832 /bld_17450_aix_ppc-64/test/java/jre/bin/shared_test/jvmti/.
664808 /bld_17450_aix_ppc-64/test/java/jre/bin/shared_test/main.c
664809 /bld_17450_aix_ppc-64/test/java/jre/bin/shared_test/main.h
664842 /bld_17450_aix_ppc-64/test/java/jre/bin/shared_test/main.o
664810 /bld_17450_aix_ppc-64/test/java/jre/bin/shared_test/makefile

These are in fact files/folders which our test jobs created and then deleted.

Is my issue related to some feature of AIX that allows for file recovery?
If so, is there a way to disable this on /tmp?

Or is there a way to release these used i-nodes, without rebooting the system?
# 2  
Old 11-02-2008
the Files are being deleted even when there was a process holding on to it..

If I am right you are using rm -f (force option to delete the files)

Now what u can do to avoid reboots is

fuser -dV /tmp

that will show you the list of delete files holding on by a process..

u can get the corresponding process id and purge them.
# 3  
Old 11-02-2008
Yes, you are correct the jobs do issue "rm -rf " to clean out /tmp when they are done.

Unfortunately I have already rebooted all of these systems today, so “fuser” returned nothing.

I would have to assume that running “fuser” would return many processes still active.

Perhaps I'll have to write a script to terminate these processes, or tell the software developer to “fix” their code Smilie

Thanks for the help!
# 4  
Old 11-03-2008
When a file is created by a process it gets an inode number and as it is filled with content it gets diskspace allocated.

It is possible to delete a file from one process while it is opened (and written to) by another. A "ls" or similar command will not show this file anymore, still the diskspace (as well as the inode) occupied by the file will remain occupied as long as the process is running. When the process is killed the inode as well as the diskspace is relinquished immediately. In your case tell the software developers that their scripting is bad and/or their software is even worse, because they must somewhere open files which they do not close. Not cleaning up - that is: releasing the resources you allocate - is as bad a behavior in software development as it is in housekeeping

Historically speaking this is one of the worser pranks you could play on your "favourite" systems administrator: create a file (prefereably named with a nonprinting character like "0x255" for instance) in /tmp and write to it from an insuspiciously named background process. Then delete the file from the commandline while the process is running. Wait until /tmp is filled and watch your sysadmin going nuts trying to find what it is - because /tmp seems to be empty and even the list of open file handles will (because of the nonprinting character) not reveal at first glance what is the culprit here.

Ahh, if forgot: a reboot spoils the party therefore do this on a production system where a restart is not so easy to manage.

bakunin
# 5  
Old 01-24-2009
I found a workaround.... using /usr/sbin/slibclean
will clean up the system.

I also changed the access rights to this file so the user can issue this command.

-r-Sr-sr-x 1 root system 1860 Jun 21 2004 /usr/sbin/slibclean



"The slibclean command unloads all object files with load and use counts of 0. It can also be used to remove object files that are no longer used from both the shared library region and in the shared library and kernel text regions by removing object files that are no longer required."

Thanks for the help!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

The disk drive for /tmp is not ready yet or not present && the disk drive for /boot is not ready yet

Hi Team when I boot the server I get this 2 errors : the disk drive for /tmp is not ready yet or not present the disk drive for /boot is not ready yet or not present and its stay like that , I m using Ubuntu 12.04 please if someone have any idea how to fix that problem . (1 Reply)
Discussion started by: SULTAN01
1 Replies

2. Solaris

How to use space in /tmp to increase root?

Hello All, I have solaris server running, uname -a SunOS host 5.9 Generic_112233-12 sun4u sparc SUNW,Sun-Fire-280R Filesystem Size Used Available Capacity Mounted on /dev/md/dsk/d0 9.8G 8.7G 1.0G 90% / /dev/dsk/c1t1d0s3 4.3G 7.7M 4.2G ... (17 Replies)
Discussion started by: gull05
17 Replies

3. Solaris

Process holding /tmp space, need to know the process details

Hi , In a server /tmp has almost reached 75% and i can see the File system utilization is 48Mb only , so i believe some process is using the /tmp space. I would like to know which process is using /tmp space. # df -h /tmp Filesystem size used avail capacity Mounted on swap ... (9 Replies)
Discussion started by: chidori
9 Replies

4. Shell Programming and Scripting

disk space

Hi, I am new to shell scripting, and want to monitor disk space using shell script continously on server, which will shoot mail after crossing threshold limit Please suggest. Regards Manoj (1 Reply)
Discussion started by: manoj.solaris
1 Replies

5. Shell Programming and Scripting

Disk Space

Hi Guys i have a nice little piece of code then i need to modify so that is does not look at /Voulmes/* thanks sub disk_full { my $i = 0; open( DF, "df -l|" ); while (<DF>) { #chomp(); next if (/^\/proc\b/); $i++; next if ( $i == 1 ); ... (3 Replies)
Discussion started by: ab52
3 Replies

6. Shell Programming and Scripting

Disk Space

HI ... I am New to the Unix...I am trying to write a script to check the disk space. But i am not able to write it. I know the command to check the disk space df -k,but unable to write the script..Can any body help me... Thanks in advance... (3 Replies)
Discussion started by: Kingkon
3 Replies

7. Shell Programming and Scripting

/tmp out of space error

Hi , I am a documentum consultant and facing a problem with a shell script that launches an installer to install documentum . The problem i am facing is that , when i invoke the below script to install the software it says - The directory /tmp does not contain enough space to extract... (1 Reply)
Discussion started by: h.shergill
1 Replies

8. Solaris

/tmp: File system full, swap space limit exceeded

Can you help. My server sunning solaris 9 on x86 platform pretty much hung for a few hours... I could not use telnet or ssh to the box - it kept refusing connection. A few hours later - I was able to log in again. The server has not rebooted but here are the first errors in the messages log... (5 Replies)
Discussion started by: frustrated1
5 Replies

9. UNIX for Dummies Questions & Answers

available disk space on disk device???

Hello, Can someone please tell me which command to use to determine the available disk space on a given disk device? I have to write a shell script that compresses files and stores them in a specific location but I am not sure how "conservative" I should be? Thanks in advance! Al. (4 Replies)
Discussion started by: alan
4 Replies

10. UNIX for Dummies Questions & Answers

monitoring /tmp and /var/tmp for suspicous activity

Hello, does anyone have a script that can check the contents of the /tmp directory and for example e-mail the directory content if anything other than session files are present? Maybe there are better ways to monitor suspicous /tmp and /var/tmp activity, if so I'm listening :) (1 Reply)
Discussion started by: jamesbond
1 Replies
Login or Register to Ask a Question