PSF/AIX: Why is /var/psf/queuename/dcl/mca larger than the /var/psf filesystem that contains it and how to copy?
ITEM: RTA000045418
QUESTION:
Please explain what is happening. We have the psf working directory set
to use /psf ( we have a symbolic link from /var/psf to /psf). Everything
works fine. /psf was showing 6% full. The customer decided to
incorporate everything under /var and not have two temp spaces (/var and
/psf). So we took out the link to /psf. Then we tried to copy /psf to
/var/psf. What we found was that /var/psf was filling up before the
recursive copy was completed. /var is 3 times the size of /psf. When we
inspected further, we noticed that /psf was only using 6MB. Yet when we
looked at some individual files within /psf, we found that they were
bigger than the size of the filesystem which contained them.
Specifically, /psf (also known as /var/psf due to the link) contained
6MB of data according to the df command. However,
/var/psf/queuename/dcl/mba showed that it was 8MB with the ls command
and /var/psf/queuename/dcl/mcb showed that it was 10MB with the ls
command (as best I can recall). This would explain why when I dropped
the link and tried to copy the files to the /var/psf under the /var
filesystem that the filesystem would fill up. Can you explain why the
mca and mcb files were showing larger than the filesystem said they were
and how we can consolidate back to /var for both the /var/psf working
directory and the /var/spool/qdaemon and /var/spool/lpd queueing
directories. Thanks so much.
---------- ---------- ---------- --------- ---------- ----------
A:
The files under the /var/psf/printername/dcl directory are memory mapped.
As such, they are defined to be, say 6Meg, but they are sparse and only a
small amount of data is actually contained therein. Thus, DASD is not
wasted. If you use cp to copy any of these memory mapped files, the
target file will be all on disk since cp does not have the intelligence
to maintain the memory mapping setup. This explains your experience.
Now, what to do about it.
It sounds like you know how to undefine the symbolic links and get the
file systems back in order. That is good news. The additional piece
that you need to know is:
1. Bring down all instances of PSF (using psfctl -dt) before
doing anything.
2. Delete (yes, really erase) all of the files under each of the
/var/psf/printername/dcl directories. When PSF for that queue
is started up again, they will be recreated and all will be well.
Example: cd /var/psf/printer1/dcl
del *
mca mcb scb
del: Remove these files? Enter y or the ENTER key for
yes.
y
3. Copy all of the directories/files as was started before.
This time, there will be enough room because the dcl
files are out of the picture.
I hope this helps resolve the problem. If not, please reopen this
item.
---------- ---------- ---------- --------- ---------- ----------
This item was created from library item Q666036 CTLKN
S e a r c h - k e y w o r d s:
psf/6000 psf/aix dcl filesystem mca mcb psf aix /var /var/psf
WWQA: ITEM: RTA000045418 ITEM: RTA000045418
Dated: 10/1998 Category: PSF6000
This HTML file was generated 99/06/24~12:43:18
Comments or suggestions?
Contact us