Too many open files and most recent CD

I have been using the “May 2001” installation CD. On large (200 mb) hard
drives, I get the “Too many open files” error during installation. If I were
to get the most recent QNX 4.25 installation CD, would this problem go away?

Thanks,

Kevin

Kevin Miller <kevin.miller@transcore.com> wrote:

I have been using the “May 2001” installation CD. On large (200 mb) hard
drives, I get the “Too many open files” error during installation. If I were
to get the most recent QNX 4.25 installation CD, would this problem go away?

Hm… that’s tricky during installation.

First thing to try – partition the disk, and give QNX a smaller partition
to install to.

After booting, there’s an (undocumented, I think) -H option to Fsys
that preconfigures some of the stuff that’s running out of room causing
the problem you’re seeing. There have been several postings in the
newsgroups, though I’m not sure where. A google search might come up
with a recommended number.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com

David,

Why can’t this be documented once and for all, in a logical place other
than scattered around these newsgroups and various websites? I know that
John Garvey has a little sigh each time this pops up. If this
information was readily available and easy to find, the question
wouldn’t be raised so frequently.

A usage message in Fsys would help, even if it means relasing a new one
that just does that. Perhaps an easy to find place on the QNX website
(knowledge base perhaps) also.

I really don’t think that a google search to find out such information
is acceptable. Not as a first resort anyway.

Regards,

Geoff Roberts

David Gibbs wrote:

Kevin Miller <> kevin.miller@transcore.com> > wrote:
I have been using the “May 2001” installation CD. On large (200 mb) hard
drives, I get the “Too many open files” error during installation. If I were
to get the most recent QNX 4.25 installation CD, would this problem go away?

Hm… that’s tricky during installation.

First thing to try – partition the disk, and give QNX a smaller partition
to install to.

After booting, there’s an (undocumented, I think) -H option to Fsys
that preconfigures some of the stuff that’s running out of room causing
the problem you’re seeing. There have been several postings in the
newsgroups, though I’m not sure where. A google search might come up
with a recommended number.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com

Geoff Roberts <ger_two@rttsdotcom.au> wrote:

David,

Why can’t this be documented once and for all, in a logical place other
than scattered around these newsgroups and various websites? I know that
John Garvey has a little sigh each time this pops up. If this
information was readily available and easy to find, the question
wouldn’t be raised so frequently.

A usage message in Fsys would help, even if it means relasing a new one
that just does that. Perhaps an easy to find place on the QNX website
(knowledge base perhaps) also.

I really don’t think that a google search to find out such information
is acceptable. Not as a first resort anyway.

You’re right. Our website does have QNX 4 docs on it, but they’re slightly
out of date (updating them is on my list of things to do). I’ll track
down the details about this and update the docs before putting a new
version on the website.


Steve Reid stever@qnx.com
Technical Editor
QNX Software Systems

Steve Reid <stever@sreid.ott.qnx.com> wrote:

You’re right. Our website does have QNX 4 docs on it, but they’re slightly
out of date (updating them is on my list of things to do). I’ll track
down the details about this and update the docs before putting a new
version on the website.

I’ve found John Garvey’s posting. Take a look at the thread “mounting MO
returns not enough memory” in this newsgroup.


Steve Reid stever@qnx.com
Technical Editor
QNX Software Systems

I’m not 100% sure, but isn’t there also a newer version of fdisk that’s
needed for partitioning larger disks (over 100G, or something like that)?

-Rob

Steve Reid wrote:

Steve Reid <> stever@sreid.ott.qnx.com> > wrote:

You’re right. Our website does have QNX 4 docs on it, but they’re slightly
out of date (updating them is on my list of things to do). I’ll track
down the details about this and update the docs before putting a new
version on the website.


I’ve found John Garvey’s posting. Take a look at the thread “mounting MO
returns not enough memory” in this newsgroup.


Steve Reid > stever@qnx.com
Technical Editor
QNX Software Systems

The (undocumented?) -H switch pre-allocates extra memory to Fsys. This
becomes necessary for LARGE hard drives, which need more space to read in
their .inodes table.

I just use “-H 1000000”. (i.e. 1 million). I’ve seen several numbers poked
around from 100k, 200k, etc., and “try different numbers until the problem
goes away…”

Since memory (usually) isn’t an issue, especially on a machine that now has
a 100GB+ drive, dedicating 1MB of memory to Fsys shouldn’t break the bank.
It seems to be an order of magnitude overkill, but who cares, anyway. As
long as the problem goes away!

Just my $0.02.

Jeff.


“David Gibbs” <dagibbs@qnx.com> wrote in message
news:dgcbib$hae$1@inn.qnx.com

Kevin Miller <> kevin.miller@transcore.com> > wrote:
I have been using the “May 2001” installation CD. On large (200 mb) hard
drives, I get the “Too many open files” error during installation. If I
were
to get the most recent QNX 4.25 installation CD, would this problem go
away?

Hm… that’s tricky during installation.

First thing to try – partition the disk, and give QNX a smaller partition
to install to.

After booting, there’s an (undocumented, I think) -H option to Fsys
that preconfigures some of the stuff that’s running out of room causing
the problem you’re seeing. There have been several postings in the
newsgroups, though I’m not sure where. A google search might come up
with a recommended number.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com

Hi,
We found that giving Proc “-p 1000” fixed the too many files open when we
make bootable CDs. It is actually the Proc process running out of
descriptors it seems. Different PCs/CDROMs seem to give different
behaviour.

David Gibbs wrote:

Kevin Miller <> kevin.miller@transcore.com> > wrote:
I have been using the “May 2001” installation CD. On large (200 mb) hard
drives, I get the “Too many open files” error during installation. If I
were
to get the most recent QNX 4.25 installation CD, would this problem go
away?



Hm… that’s tricky during installation.

First thing to try – partition the disk, and give QNX a smaller partition
to install to.

After booting, there’s an (undocumented, I think) -H option to Fsys
that preconfigures some of the stuff that’s running out of room causing
the problem you’re seeing. There have been several postings in the
newsgroups, though I’m not sure where. A google search might come up
with a recommended number.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com

Jeffrey Adler jeffadler.at.bigfoot.dot.com@127.0.0.1 wrote:

The (undocumented?) -H switch pre-allocates extra memory to Fsys. This
becomes necessary for LARGE hard drives, which need more space to read in
their .inodes table.

Why does everybody keep calling this “undocumented” :slight_smile:

use Fsys

-H mem_size Set size of internal heap memory (for larger disks). May
also be specified as “diskX” to set aside memory for X GB.

And my version of Fsys:
sin ver | grep Fsys32

/bin/Fsys Fsys32 4.24Y Apr 23 2002

regards,
rick

Darel Cullen wrote:

We found that giving Proc “-p 1000” fixed the too many files open when we
make bootable CDs. It is actually the Proc process running out of
descriptors it seems.

What is happening here is just a side-effect of “Proc -p”, since Fsys
will grow its heap in part based on the num_procs configuration (the
default sizing within Fsys of -i is 2 * num_procs and the default for
-l is num_procs, and those contribute to the Fsys heap guess). Unless
there is good reason to use -p1000 (like actually going to be running
1000 processes), you shouldn’t really do this, as it will increase in
proc many other resource sizes (process table, fd table, LDT selectors,
etc) and unnecessarily consume memory. Should directly use “Fsys -H”.

I’m still struggling with file corruptions that once seemed to be related to
the “too many files open” error message. I’ve set the “Proc -p 1000” in the
boot loader, I’ve set the “Fsys -f xxxx -i xxxx” options, I’ve used the
latest Fsys version 4.24Y and set the “Fsys -H disk20” option since I’m
using a 20GB drive, and I’m still left with file system corruption on large
size hard drives, at least with the 20GB drives. When I go back down to the
2GB to 6GB drives I’m not seeing the corruption. I’m now testing with
setting the partition in the 20GB drive to only 2GB and see how that goes.

All in all it seems to me that QNX4 filesystem was not designed or intended
for such large drives, I wish I could wave a magic wand and convert to QNX6,
and that all the changes made to Fsys have been bandaids to keep QNX4
working.

What I really want to know is how QNX4 handles inodes, filenames, etc. in
memory! Why is it that when I run the “ls -l /” command it gives me a
“readdir error, input/output error” and when I run “chkfsys -euf /” it
reports no errors, then when I run “ls -l /” immediately afterwards I no
longer get the readdir error? I’ve told chkfsys not to fix any errors, yet
after running it my problem goes away.

Any ideas?

Ivan


“John Garvey” <jgarvey@qnx.com> wrote in message
news:dgn86g$ja0$1@inn.qnx.com

Darel Cullen wrote:
We found that giving Proc “-p 1000” fixed the too many files open when
we
make bootable CDs. It is actually the Proc process running out of
descriptors it seems.

What is happening here is just a side-effect of “Proc -p”, since Fsys
will grow its heap in part based on the num_procs configuration (the
default sizing within Fsys of -i is 2 * num_procs and the default for
-l is num_procs, and those contribute to the Fsys heap guess). Unless
there is good reason to use -p1000 (like actually going to be running
1000 processes), you shouldn’t really do this, as it will increase in
proc many other resource sizes (process table, fd table, LDT selectors,
etc) and unnecessarily consume memory. Should directly use “Fsys -H”.

Ivan,

We’ve been running production QNX4 systems with well over 20G file
systems for years. In fact our current archive nodes are each
supporting 400G+ file systems, with no problems. The Fsys -H option is
the key. Don’t be afraid to over size the spec i.e. use -H24, as this
needs to accommodate everything Fsys may have to handle at any given
time, hard drives, floppies, CDs, etc.

Have you considered that you may have a bad drive/disk?

How did you do the QNX4 system install? If you’re doing it off the CD,
you may have to install to a smaller partition, get things upgraded to
the latest versions and then create a large partition for the remainder
of the drive after you’ve rebooted with the proper Fsys -H options set
in the boot image. The install CD doesn’t support large file systems.

And, as I mentioned in an earlier post, there’s a newer version of fdisk
out there that will handle large disks. Here’s the poop on the one I’ve
got here:

-rwxrwxr-x 1 root root 52369 Aug 22 2000 fdisk

cksum:
1343995797 52369 fdisk

-Rob

Ivan Bannon wrote:

I’m still struggling with file corruptions that once seemed to be related to
the “too many files open” error message. I’ve set the “Proc -p 1000” in the
boot loader, I’ve set the “Fsys -f xxxx -i xxxx” options, I’ve used the
latest Fsys version 4.24Y and set the “Fsys -H disk20” option since I’m
using a 20GB drive, and I’m still left with file system corruption on large
size hard drives, at least with the 20GB drives. When I go back down to the
2GB to 6GB drives I’m not seeing the corruption. I’m now testing with
setting the partition in the 20GB drive to only 2GB and see how that goes.

All in all it seems to me that QNX4 filesystem was not designed or intended
for such large drives, I wish I could wave a magic wand and convert to QNX6,
and that all the changes made to Fsys have been bandaids to keep QNX4
working.

What I really want to know is how QNX4 handles inodes, filenames, etc. in
memory! Why is it that when I run the “ls -l /” command it gives me a
“readdir error, input/output error” and when I run “chkfsys -euf /” it
reports no errors, then when I run “ls -l /” immediately afterwards I no
longer get the readdir error? I’ve told chkfsys not to fix any errors, yet
after running it my problem goes away.

Any ideas?

Ivan


“John Garvey” <> jgarvey@qnx.com> > wrote in message
news:dgn86g$ja0$> 1@inn.qnx.com> …

Darel Cullen wrote:

We found that giving Proc “-p 1000” fixed the too many files open when

we

make bootable CDs. It is actually the Proc process running out of
descriptors it seems.

What is happening here is just a side-effect of “Proc -p”, since Fsys
will grow its heap in part based on the num_procs configuration (the
default sizing within Fsys of -i is 2 * num_procs and the default for
-l is num_procs, and those contribute to the Fsys heap guess). Unless
there is good reason to use -p1000 (like actually going to be running
1000 processes), you shouldn’t really do this, as it will increase in
proc many other resource sizes (process table, fd table, LDT selectors,
etc) and unnecessarily consume memory. Should directly use “Fsys -H”.

We’ve set up 120 GB hard drives on our QNX4 production systems and we’ve had
no problems so far. At the begining we had to get rid of all the ‘too many
open files’ error by using Fsys -H disk120.
Documentation and procedures are not very clear though…

Regards,
Mauricio

“Rob Hem” <rob@spamyourself.com> wrote in message
news:dh170u$4jg$1@inn.qnx.com

Ivan,

We’ve been running production QNX4 systems with well over 20G file systems
for years. In fact our current archive nodes are each supporting 400G+
file systems, with no problems. The Fsys -H option is the key. Don’t be
afraid to over size the spec i.e. use -H24, as this needs to accommodate
everything Fsys may have to handle at any given time, hard drives,
floppies, CDs, etc.

Have you considered that you may have a bad drive/disk?

How did you do the QNX4 system install? If you’re doing it off the CD,
you may have to install to a smaller partition, get things upgraded to the
latest versions and then create a large partition for the remainder of the
drive after you’ve rebooted with the proper Fsys -H options set in the
boot image. The install CD doesn’t support large file systems.

And, as I mentioned in an earlier post, there’s a newer version of fdisk
out there that will handle large disks. Here’s the poop on the one I’ve
got here:

-rwxrwxr-x 1 root root 52369 Aug 22 2000 fdisk

cksum:
1343995797 52369 fdisk

-Rob

Ivan Bannon wrote:
I’m still struggling with file corruptions that once seemed to be related
to
the “too many files open” error message. I’ve set the “Proc -p 1000” in
the
boot loader, I’ve set the “Fsys -f xxxx -i xxxx” options, I’ve used the
latest Fsys version 4.24Y and set the “Fsys -H disk20” option since I’m
using a 20GB drive, and I’m still left with file system corruption on
large
size hard drives, at least with the 20GB drives. When I go back down to
the
2GB to 6GB drives I’m not seeing the corruption. I’m now testing with
setting the partition in the 20GB drive to only 2GB and see how that
goes.

All in all it seems to me that QNX4 filesystem was not designed or
intended
for such large drives, I wish I could wave a magic wand and convert to
QNX6,
and that all the changes made to Fsys have been bandaids to keep QNX4
working.

What I really want to know is how QNX4 handles inodes, filenames, etc. in
memory! Why is it that when I run the “ls -l /” command it gives me a
“readdir error, input/output error” and when I run “chkfsys -euf /” it
reports no errors, then when I run “ls -l /” immediately afterwards I no
longer get the readdir error? I’ve told chkfsys not to fix any errors,
yet
after running it my problem goes away.

Any ideas?

Ivan


“John Garvey” <> jgarvey@qnx.com> > wrote in message
news:dgn86g$ja0$> 1@inn.qnx.com> …

Darel Cullen wrote:

We found that giving Proc “-p 1000” fixed the too many files open when

we

make bootable CDs. It is actually the Proc process running out of
descriptors it seems.

What is happening here is just a side-effect of “Proc -p”, since Fsys
will grow its heap in part based on the num_procs configuration (the
default sizing within Fsys of -i is 2 * num_procs and the default for
-l is num_procs, and those contribute to the Fsys heap guess). Unless
there is good reason to use -p1000 (like actually going to be running
1000 processes), you shouldn’t really do this, as it will increase in
proc many other resource sizes (process table, fd table, LDT selectors,
etc) and unnecessarily consume memory. Should directly use “Fsys -H”.

Mauricio Bruno <maurbruno@shaw.ca> wrote:

We’ve set up 120 GB hard drives on our QNX4 production systems and we’ve had
no problems so far. At the begining we had to get rid of all the ‘too many
open files’ error by using Fsys -H disk120.
Documentation and procedures are not very clear though…

I’ve added John Garvey’s explanation about this to the entry for Fsys in
the QNX 4 Utilities Reference. The PDF docs on our website now include it,
and the HTML ones will soon.


Steve Reid stever@qnx.com
Technical Editor
QNX Software Systems

Thanks for the feedback. It’s beginning to look like my problems are self
induced. We’re looking at some low level interrupt routines that access the
serial ports. I’ve also implimented the -H option. This is not happening
on a single QNX system, but on dozens of systems we have in the field. Out
of over 2000 system running about 4-5% are seeing file corruption.

“Rob Hem” <rob@spamyourself.com> wrote in message
news:dh170u$4jg$1@inn.qnx.com

Ivan,

We’ve been running production QNX4 systems with well over 20G file
systems for years. In fact our current archive nodes are each
supporting 400G+ file systems, with no problems. The Fsys -H option is
the key. Don’t be afraid to over size the spec i.e. use -H24, as this
needs to accommodate everything Fsys may have to handle at any given
time, hard drives, floppies, CDs, etc.

Have you considered that you may have a bad drive/disk?

How did you do the QNX4 system install? If you’re doing it off the CD,
you may have to install to a smaller partition, get things upgraded to
the latest versions and then create a large partition for the remainder
of the drive after you’ve rebooted with the proper Fsys -H options set
in the boot image. The install CD doesn’t support large file systems.

And, as I mentioned in an earlier post, there’s a newer version of fdisk
out there that will handle large disks. Here’s the poop on the one I’ve
got here:

-rwxrwxr-x 1 root root 52369 Aug 22 2000 fdisk

cksum:
1343995797 52369 fdisk

-Rob

Ivan Bannon wrote:
I’m still struggling with file corruptions that once seemed to be
related to
the “too many files open” error message. I’ve set the “Proc -p 1000” in
the
boot loader, I’ve set the “Fsys -f xxxx -i xxxx” options, I’ve used the
latest Fsys version 4.24Y and set the “Fsys -H disk20” option since I’m
using a 20GB drive, and I’m still left with file system corruption on
large
size hard drives, at least with the 20GB drives. When I go back down to
the
2GB to 6GB drives I’m not seeing the corruption. I’m now testing with
setting the partition in the 20GB drive to only 2GB and see how that
goes.

All in all it seems to me that QNX4 filesystem was not designed or
intended
for such large drives, I wish I could wave a magic wand and convert to
QNX6,
and that all the changes made to Fsys have been bandaids to keep QNX4
working.

What I really want to know is how QNX4 handles inodes, filenames, etc.
in
memory! Why is it that when I run the “ls -l /” command it gives me a
“readdir error, input/output error” and when I run “chkfsys -euf /” it
reports no errors, then when I run “ls -l /” immediately afterwards I no
longer get the readdir error? I’ve told chkfsys not to fix any errors,
yet
after running it my problem goes away.

Any ideas?

Ivan


“John Garvey” <> jgarvey@qnx.com> > wrote in message
news:dgn86g$ja0$> 1@inn.qnx.com> …

Darel Cullen wrote:

We found that giving Proc “-p 1000” fixed the too many files open when

we

make bootable CDs. It is actually the Proc process running out of
descriptors it seems.

What is happening here is just a side-effect of “Proc -p”, since Fsys
will grow its heap in part based on the num_procs configuration (the
default sizing within Fsys of -i is 2 * num_procs and the default for
-l is num_procs, and those contribute to the Fsys heap guess). Unless
there is good reason to use -p1000 (like actually going to be running
1000 processes), you shouldn’t really do this, as it will increase in
proc many other resource sizes (process table, fd table, LDT selectors,
etc) and unnecessarily consume memory. Should directly use “Fsys -H”.