On Tue, Nov 14, 2000 at 02:04:03PM +1100, Rachel Polanskis wrote:
> This sounds like you have hit the 32bit limit with both cat and the
> filesystem. One solution is to run a 64bit OS ;)
Or *BSD, which has had 64-bit off_t etc since '95 or so, even
on 32-bit CPUs. Actual file sizes are limited by the
filesystems to 2^32 blocks, (2TB, I think), and mmap() is
limited to about 2G on 32-bit processors, naturally.
Pretty sure that recent Linux kernels can do similar things,
but don't know whether they just do all filesystem stuff with
uint64_t variables (long long in gcc), or whether they do 32-bit
block operations like the BSDs.
> I guess that doesn't help you much.... The only real workaround
> I can suggest is to cat the files so they are less than 2Gb. You won't
> really be able to do much more (AFAIK - I may be mistaken) as this
> is really a limitation of the OS, filesystem and the application (cat).
I haven't looked at cat's internals recently, but since this
sort of operation (cat) usually goes to stdout, the limitation
should be just what you can do with an open file descriptor.
> We have similar problems with certain Oracle software that
> also balks when it hits the 2GB limit. My suggestion is to upgrade
> to Oracle 8i on Solaris 7 or 8, but of course this is Linux.
>
> Does Linux have a 64bit implementation on the appropriate CPUS?
Pretty sure it does. The BSDs do too.
--
Andrew
--
SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
More Info: http://slug.org.au/lists/listinfo/slug