scm@dlcq15.datlog.co.uk (Steve Mawer) (07/23/90)
I have a situation on RT 6150 AIX V2.2.1 in which tracts of disk space go missing, and I'm completely baffled as to where it's going. I have a few (well lots of, actually,) user programs which connect via named pipes to a central server process. This central process connects via another named pipe to a process which talks via a TCP/IP socket to its equivalent on another machine. After the connections have been running for a while, there appear to be many blocks of filespace which cannot be accounted for. Everything happens in a /u partition mounted on /dev/hd1. On startup, `du /u' reports 31660 blocks used, while `df' reports 35260 free out of 67060, ie 31800 blocks used, a discrepancy of 140. I don't expect the two numbers to be *exactly* the same, but at least they're close :-). After connecting 36 user processes and leaving it running for two days, `du /u' reports 38808 blocks used, and `df' reports 23848 free, therefore 43212 blocks used. This is a discrepancy of 4404 blocks. I first suspected the named pipes, and found that although they typically have a size of 0 and therefore show no blocks to `du', the inode has up to eight 2K blocks allocated. If I shut down 1 user connection, the free space increases by the number of blocks allocated to that named pipe. However, if I add all the blocks in all the named pipes, I only get 344. The only way I can get back the rest is by stopping all my processes. Can anyone give me some pointers as to where the disk blocks are being used, as I'm trying to support a site where disk space is tight already, and restarting the system to recover space is unacceptable. -- Steve C. Mawer <scm@datlog.co.uk> or < {backbone}!ukc!datlog!scm > Voice: +44 1 863 0383 (x2153)