limit of files and subdirectories in AIX

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

There is a limit on the number of subdirectories, and it's approximately 32655. There is no practical limit on the number of files.

Your ls command lists files as well as directories - use a filtered ls or find command to limit the list to directories only.

Consider deleting unwanted jobs, using more than one project, or converting some of the dynamic hashed files (particularly RT_CONFIGxxx and RT_STATUSxxx) to static hashed.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Sreenivasulu
Premium Member
Premium Member
Posts: 892
Joined: Thu Oct 16, 2003 5:18 am

Post by Sreenivasulu »

As far as i know AIX uses JFS file system and it does not have a limit on the number of files .

Reference - http://www.search.com/reference/JFS_file_system

Regards
Sreeni
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

It does depend upon which file system the AIX administrators have created. Is it JFS2, JFS or another? In the past we've worked around this limitation by RESIZEing all RT_STATUSnnn files to static type 2 hashed files. Since Type 30 (Dynamic) files consist of a subdirectory with 2 visible and a hidden file, changing this to a static hashed file removes the directory and thus reduces the number of directories by the number of jobs ina project.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Sreenivasulu wrote:As far as i know AIX uses JFS file system and it does not have a limit on the number of files.
Ray said the same thing: "no practical limit on the number of files". The issue is specifically the number of subdirectories supported.
-craig

"You can never have too many knives" -- Logan Nine Fingers
Terala
Premium Member
Premium Member
Posts: 73
Joined: Wed Apr 06, 2005 3:04 pm

Post by Terala »

ArndW wrote:It does depend upon which file system the AIX administrators have created. Is it JFS2, JFS or another? In the past we've worked around this limitation by RESIZEing all RT_STATUSnnn files to static type 2 hashed files. Since Type 30 (Dynamic) files consist of a subdirectory with 2 visible and a hidden file, changing this to a static hashed file removes the directory and thus reduces the number of directories by the number of jobs ina project.

ArndW:

We have jfs2 filesystem and after we started deleting some old jobs and components, we were able to create and save new jobs.

Ray also mentioned resizing of RT_STATUS and RT_CONFIG files to static type 2. How did you achieve this , through a script? We have around 9000 jobs in our project and it would be helpful if I can get a script which would change the dynamic hashed files to static for all jobs.

Appreciate your help.
Thanks
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

I used UniVerse commands at previous sites, it takes just a couple of minutes of work but involves a bit of internal knowledge. I suggest doing the following - from UNIX, get a list of a RT_STATUSnnn and RT_CONFIGnnn file names and then create a text file in the format:

Code: Select all

RESIZE {filename} 2 1 1 
RESIZE {filename2} 2 1 1
...
then put that file into your shell cut-and-past buffer. Enter the dssh and make sure that you are in the right project (LOGTO {ProjectName}) then enter the commands
PTERM CASE NOINVERT
ED VOC RESIZESTATUSFILES
I
PA
{now paste the buffer}
<CR> {i.e. a carriage return on an empty line to shift the editor back to edit mode}
FILE

Now you should be back in the command prompt mode. To resize all the files ensure that nobody is logged in and enter 'RESIZESTATUSFILES'. You'll have to enter a 'N' when the execution pauses after the first screen.
Terala
Premium Member
Premium Member
Posts: 73
Joined: Wed Apr 06, 2005 3:04 pm

Post by Terala »

I am getting this message

>RESIZESTATUSFILES
Verb "PA" is not in your VOC

How can we add PA in VOC?

I tried this

>SET.FILE UV VOC UV.VOC
Q-pointer written to VOC file.
>COPY FROM UV.VOC TO VOC PA
Record "PA" not found in file "UV.VOC".
asorrell
Posts: 1707
Joined: Fri Apr 04, 2003 2:00 pm
Location: Colleyville, Texas

Post by asorrell »

Hmm - sounds like you have an extra PA in the command file.

Try editing it again and do a "P" command to print it on the screen. The PA command should be only in line 1. If it isn't then go to the bad line (type the line number in) and delete the bad line (hit "D") then file it.

The editor does have a HELP command - just hit return afterwards to get a list of commands and explanations.

You want the file to end up looking like this:
>ED VOC RESIZESTATUSFILES
3 lines long.

----: P
0001: PA
0002: RESIZE FIRSTFILENAME 2 1 1
0003: RESIZE NEXTFILENAME 2 1 1
Bottom at line 3.
----: Q
>


Also - before you do ANY of this - I'd recommend backing up everything first! Also - since you have been having problems that might cause integrity issues in the project - you might consider kicking everyone off and having the adminstrator run DS.CHECKER in the Admin Client on the project to insure the pointers are all cleaned up before you try any changes.
Andy Sorrell
Certified DataStage Consultant
IBM Analytics Champion 2009 - 2020
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Actually DS.CHECKER only checks for orphaned entries. I suspect what Arnd meant was the CLEAN.ACCOUNT utility.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Terala
Premium Member
Premium Member
Posts: 73
Joined: Wed Apr 06, 2005 3:04 pm

Post by Terala »

Yes the PA was coming as duplicate , I removed it. Thanks Andy.

I was able to resize the hashed file. I do not see the OVER.30, DATA and Type30 files inside it, now RT_STATUS is no more a directory and is static now.

What is the impact if we have all these dynamic Hashed files changed to Static Hashed files ( Can it be only done for RT_CONFIG, RT_STATUS) only?

Thanks
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

RT_BPnnn, RT_SCnnn, RT_SCTEMP and RT_BPnnn.O are directories and must remain so.

RT_CONFIGnnn and RT_STATUSnnn contain small and unvarying volumes of data, and so are good candidates for static hashed structure.

RT_LOGnnn is the job log, and would cause lots of headaches keeping it tuned if you converted it to static, so don't.

Do not attempt to restructure any D_*, DS_* and I_* entries.

Try to have fewer jobs per project. Think about having two or more "sibling" projects.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply