ID: Q126954
2.60 UNIX
The information in this article applies to:
NOTE: Microsoft does not support, endorse, or recommend SCO Unix or SCO Xenix. We provide the following information only as a convenience for our customers. Microsoft does not provide warranties of any kind on the following information, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.
For users of FoxPro on MS-DOS and Windows platforms, the error message "Too Many Files Open" is usually easy to correct by making some changes to the CONFIG.SYS or AUTOEXEC.BAT files and then rebooting the computer. However, to fix the same problem, FoxPro users under the UNIX operating system must tune the UNIX Kernel parameters, and then re-link the Kernel by shutting down and then rebooting the UNIX host machine.
WARNING: The information that follows illustrates a specific situation and is by no means the only Kernel configuration that would eliminate the "Too Many Files Open" error for the situation illustrated in this article. It is also important to note that tuning Kernel parameters is a complex and potentially dangerous process, and should be performed by experienced SCO administrators only.
By default, SCO sets up the host to support 60 files per user, 200 files system wide, and 100 locks system wide. This may be okay for most installations, but suppose you need to support 80 files per user?
What follows is a description of the process you need to follow to tune the Kernel on the SCO UNIX host to provide for two users opening 80 FoxPro tables simultaneously.
You could use an alternative method called the SYSADMSH (System Administration Shell) method if you prefer. For more information about using the System Administration Shell to tune the SCO UNIX Kernel, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q124715
TITLE : How UNIX Kernel Parameters Affect FoxPro for UNIX
1. Login on the console as root.
2. At the "#" prompt, type:
cd /etc/conf/cf.d; /etc/conf/cf.d/configure
3. At the configuration menu, select "3. Files, Inodes, and Filesystems."
4. At the NINODE parameter prompt for the maximum number of open inodes
systemwide, enter 600.
5. At the NHINODE parameter prompt for the inode hash table size,
enter 1024.
6. At the NFILE parameter prompt for the maximum number of open files
systemwide, enter 512.
7. Skip past the next three parameters (NMOUNT, CMASK, and ETRUNC). At
the NOFILES parameter prompt for the maximum number of open files per
process, enter 150.
8. Skip past the SHLBMAX parameter, and at the FLCKREC parameter prompt for
the number of records that can be locked by the system, enter 1024.
9. Skip past the remaining prompts, and come back to the configuration
menu. Press the "q" key.
10. You will be asked if you wish to update the system configuration files.
Press the "y" key. The system should pause. Then you should get a
message stating that the configuration files have been updated. At that
point, you should be back at the "#" prompt.
11. Re-link the Kernel by typing the following at the "#" prompt:
./link_unix
You will see a message stating that the UNIX Operating System will now
be rebuilt, and that this might take a few minutes.
12. When this is done you will see a message stating that the UNIX Kernel
has been rebuilt. You will then be asked if you want the new Kernel to
boot by default. Press the "y" key.
13. SCO UNIX will then let you know that the new Kernel has been installed.
Then you will be asked if you want to rebuild the Kernel environment.
Press the "y" key.
You will see the message: "Setting up new kernel environment." Then you
will be at the "#" prompt.
14. Perform an orderly shutdown of the system, and then reboot. The new
Kernel parameters will now be in effect.
These settings represent a worst case scenario. Hopefully, you would not
ever have to support two or more users who each need to have 80 tables open
at the same time.
Here's the reasoning behind the values presented above. Start with the maximum number of files that each user must have open at any one time, which in this case is 80. Now FoxPro tables can have other associated files like memo files and indexes, so for the worst case assume that all 80 files will have an associated memo file and one index (CDX) file, this brings the total to 240. You also have to allow for the files that FoxPro itself opens for operations.
The SCO products discussed here are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability.
Additional reference words: FoxUnix 2.60 KBCategory: KBSubcategory: FxenvOs
Keywords : kb3rdparty kbenv FxenvOs
Version : 2.60
Platform : UNIX
Last Reviewed: May 13, 1998