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

Reply via email to