File size limit exceeded error under Linux and solution

by Vivek Gite · 8 comments

Q. I am trying to copy a file called act.dat and I am getting an error "file size limit exceeded" under Linux. How do I get rid of this error? In addition, I do have enough disk space to copy this file.

A. Your system administrator must have imposed limitation on your account for file size creation.. Just run ulimit command to find out file size limitation:

$ ulimit -a

Output:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
max nice                        (-e) 0
file size               (blocks, -f) 5000
pending signals                 (-i) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) unlimited
max rt priority                 (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 2047
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

The above output clearly stat that you can create file size upto 5MB limit. To change this limit or if you do not wish to have a limit you can edit your /etc/security/limits.conf file (login as the root):
# vi /etc/security/limits.conf
Look for your username and fsize parameter. Delete this line or set new parameter. For example consider following entry where I am setting new file size limit to 1 GB:

vivek       hard  fsize  1024000

Save the changes. Log out and log back in for the changes to take effect.

Now your limit is 1GB file size. If you do not want any limit remove fsize from /etc/security/limits.conf.

Featured Articles:

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 8 comments… read them below or add one }

1 Deepan.R 04.28.07 at 11:02 am

Hi,

I too facing the File size limit exceeded error under Linux. But as per the above suggested solution, the ulimit is not setted for the user root, in my case. But still Im getting the error while I connect my USB Hard Drive and try to copy files. No file can be copied more than 4.1GB…I need to copy some 23 GB files and I still have the space in USB.

Kindly inform me what can I do….Mean while, I am aslo searching the web for a solution.

Regards,
Deepan.

2 Chris 09.05.07 at 5:21 pm

Deepan.R:

This is probably due to the filesystem that your hard drive is formatted to. Each filesystem has a file size limit of its own. Chances are that the hard drive is formatted as FAT32, which has a 4GB max filesize. If you need it to be able to deal with larger files, consider reformatting to ext3(with a limit of between 16GB to 2 TB)) or something else.

3 Mani 09.20.07 at 2:41 pm

Hi,
I tried as per your suggestion.The explanation is very good. It worked well for me. Thanks a lot.

Regards,
Manigandan

4 Purna 04.24.08 at 3:37 am

try this command.
#dd if=/dev/zero of=/filesize bs=1024 count=xxxx // to create large file.
If this helps you to create expected filesize then filesystem/os does not limits you.

To create this sort of filesize you have to use LFS. becoz bydefault 32bit compilation is able to address at most 2^31 bytes(2GB).
1. open file with O_LARGEFILE flag or’ed with other falgs.
2. compile your code with -D_LARGEFILE_SOURCE -D_LARGEFILE_SOURCE64 -DLARGEOFFSET_BITS=64

5 Vasant 12.15.08 at 12:27 pm

suggestion of converting usb hdd to ext3 format is good. but that format will not be detected in windows xp. so how to come out this problem.

6 Stephen 04.09.09 at 10:02 pm

I ran into this, where the apparent limit was 16 GB. To cope with lots of little files, i’d gone out of my way to set up the ext3 filesystem with 1 KB blocks. ext3 with 1 KB blocks limits files to 16 GB. Here’s the schedule:

Ubuntu itself does not have file size limits — It depends what file system you are using the standard is ext3. My drive was under 256GB, so i went with 2 KB blocks.

Filesystem File Size Limit Filesystem Size Limit
ext2/ext3 with 1 KiB blocksize 16448 MiB (~ 16 GiB) 2048 GiB (= 2 TiB)
ext2/3 with 2 KiB blocksize 256 GiB 8192 GiB (= 8 TiB)
ext2/3 with 4 KiB blocksize 2048 GiB (= 2 TiB) 8192 GiB (= 8 TiB)
ext2/3 with 8 KiB blocksize (Systems with 8 KiB pages like Alpha only) 65568 GiB (~ 64 TiB) 32768 GiB (= 32 TiB)
ReiserFS 3.5 2 GiB 16384 GiB (= 16 TiB)
ReiserFS 3.6 (as in Linux 2.4) 1 EiB 16384 GiB (= 16 TiB)
XFS 8 EiB 8 EiB
JFS with 512 Bytes blocksize 8 EiB 512 TiB
JFS with 4KiB blocksize 8 EiB 4 PiB
NFSv2 (client side) 2 GiB 8 EiB
NFSv3 (client side) 8 EiB 8 EiB

7 Sam 07.16.09 at 5:36 pm

I love this Q & A stream. I had the file size limit problem and was able to quickly try all the tests proposed here. It is quite clearly a problem with the program I was using. (SoX as it happens.)

Thanks for an excellent diagnosis!

8 IvyAlice 07.21.09 at 2:47 pm

What I’m supposed to do when i got this message(when i’m root and i try to copy a too large file, I suppose) but an empty /etc/security/limits.conf file ? (not really empty, but just some comments)

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous FAQ:

Next FAQ:

nixCraft FAQ PDF Collection Now Available To All