Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^5: file handle limitation of 255

by eyepopslikeamosquito (Canon)
on Jul 16, 2010 at 02:00 UTC ( #849896=note: print w/ replies, xml ) Need Help??


in reply to Re^4: file handle limitation of 255
in thread file handle limitation of 255

I can assure you that Solaris 10 does not have some bizarre 255 limitation on process file descriptors, at least that's not what I've experienced, having used many Solaris 10 systems over the years. Besides, no modern Unix vendor could survive with such a ridiculous limit. It therefore appears that you have a broken Solaris 10 system and that your 255 file handle "limitation" can be fixed with proper Solaris 10 system administration. Based on a random Solaris 10 google, you seem to be doing the right thing with /etc/system. I am not a Solaris sysadmin though, so I suggest you ask Sun for technical support and/or ask for help on a Solaris 10 system administration forum. I hope it's not something silly like having to reboot and/or login/logout before the new file descriptor limit takes effect.


Comment on Re^5: file handle limitation of 255
Re^6: file handle limitation of 255
by radnus (Novice) on Jul 16, 2010 at 17:23 UTC
    It really is a nasty problem with Solaris, that needs some patching. (looks shady) Check: http://developers.sun.com/solaris/articles/stdio_256.html

      Wow. That link makes Sun look pretty bad. Notice however, that it's not an OS limitation, but a (32-bit) C runtime library one. From your link:

      The following discussion is relevant only in 32-bit applications, as 64-bit applications are immune to the limitation to 256 file descriptors.

      An obvious way to work around this limitation therefore is to use a 64-bit Perl. Or to build your own Perl. What version of Perl are you currently using? Who built it? It would help if you could run "perl -V" and post its output here.

      Update: For cheap thrills, I just did a little experiment and built perl 5.12.1 with default settings as a 32-bit executable with both the Solaris C compiler and with gcc. The Solaris compiler built perl suffered from the dreaded 256 file descriptor limit, while the gcc compiler built perl did not. This is as I expected because gcc uses the glibc C runtime library (RTL) and so does not suffer from the (appalling) Solaris C RTL 256 file descriptor limit. So, in addition to downloading or building a SPARC 64-bit perl (ActiveState and others should provide these for download) you could download or build a SPARC 32-bit gcc-built perl.

        If you read further, a workaround is provided for some versions of the OS.
        export LD_PRELOAD_32=/usr/lib/extendedFILE.so.1

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://849896]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (9)
As of 2014-10-24 09:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (131 votes), past polls