Solved

Change ulimit to allow file transfer

Posted on 2013-06-18
16
2,399 Views
Last Modified: 2013-06-19
Hello,

I'm trying to transfer a 23GB file back to my AIX box.  AIX Version 5.3.  I receive an error message which terminates the transfer.  "A file cannot be larger than the value set by ulimit".
I am logged in as root.  Can I change the value to allow the transfer?

Thank you.
0
Comment
Question by:cbones
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 7
16 Comments
 
LVL 23

Expert Comment

by:nemws1
ID: 39257581
What are your current limits?  Run as root:

ulimit -a

Open in new window

0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39257608
Hi,

first, run

lssec -f /etc/security/limits -s root -a fsize_hard

If you see "root fsize_hard=-1" then you can set your file size limit to "unlimited" by just issuing

ulimit -f unlimited

If the above "lssec" command returns no value or a value other than -1 issue

chsec -f /etc/security/limits -s root -a fsize_hard=-1

then use "ulimit -f unlimited" to set the limit to "unlimited".

Please be aware that if the target filesystem is "jfs" (as opposed to "jfs2") it must be enabled for large files, otherwise there is a hard 2 GB limit.

Check with

lsfs -q /mount/point

if "VFS" is "jfs" then "bf: true" must be displayed.

Please note that "bf" is a creation time option which cannot be set afterwards.
0
 

Author Comment

by:cbones
ID: 39257637
# ulimit -a
time(seconds)        unlimited
file(blocks)         unlimited
data(kbytes)         131072
stack(kbytes)        32768
memory(kbytes)       unlimited
coredump(blocks)     2097151
nofiles(descriptors) 2000
#

file errors out around 1GB with the error.

What can I check?

Thank you.
0
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39257649
Did you check the jfs type and "bf" (see my comment)?

What do you see with

quota

?
0
 

Author Comment

by:cbones
ID: 39257665
VFS          Size               Options
  jfs2         348127232    rw


 (lv size: 348127232, fs size: 348127232, block size: 4096, sparse files: yes, inline log: no, inli
ne log size: 0, EAformat: v1, Quota: no, DMAPI: no, VIX: no)
#
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39257670
Are you sure that it's "root" who performs the transfer?

Which transfer tool are you using? Which is the exact command?
0
 

Author Comment

by:cbones
ID: 39257684
I am using ftp to do the transfer.  

When I type whoami it returns root.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39257711
So you're doing this on AIX as root:

cd target_dir
ftp sourcehost
cd source_dir
get filename

right? If so, and if ulimit -f returns "unlimited" as you wrote, I can only assume a filesystem issue (corruption?), because everything should work just fine.

Is there something suspicious in

errpt | more

?
0
 

Author Comment

by:cbones
ID: 39257730
I am trying to ftp a file to the server.  I am doing an ftp to the aix box.  Changing to the directory I want to place the file.  Then doing a put to transfer the file to the box.

Nothing in the errpt that's  unusual.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39257739
So you're doing this on the source machine

cd source_dir
ftp aix_server
(log in as root) <-- This is important!
cd target_dir
put filename

Right?
0
 

Author Comment

by:cbones
ID: 39257767
That's correct.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39257777
Please make sure that the ulimit on AIX is indeed permanently set to unlimited by issuing

lssec -f /etc/security/limits -s root -a fsize

right after login and before issuing any ulimit command.

If it's still "-1" I must admit that I'm out of ideas.
0
 

Author Comment

by:cbones
ID: 39257788
Here is the output

# lssec -f /etc/security/limits -s root -a fsize
root fsize=
#
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39257802
Then:

lssec -f /etc/security/limits -s default -a fsize

If this gives an empty (or low) value too  - are you setting root's fsize limit in the .profile?

Please remember that profiles are not executed under FTP!
0
 

Author Comment

by:cbones
ID: 39257830
It did return an empty value.   I am setting this from the command line.  What do you mean in the profile?

# lssec -f /etc/security/limits -s default -a fsize
default fsize=
#
0
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 500 total points
ID: 39257845
Changing ulimit from the command line doesn't make the setting permanent - it will last just for your current shell session.
So if you were trying to get the file from the source sever this would be alright, but since you're tring to put it won't work.

Make the setting permanent:

chsec -f /etc/security/limits -s root -a fsize=-1

Now you can retry putting the file.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Recover Lacie Edmini data. 11 77
Disabling security updates Ubuntu 3 68
Migrating a Linux server to VMware 3 141
check the file dates in unix 14 77
Linux users are sometimes dumbfounded by the severe lack of documentation on a topic. Sometimes, the documentation is copious, but other times, you end up with some obscure "it varies depending on your distribution" over and over when searching for …
Google Drive is extremely cheap offsite storage, and it's even possible to get extra storage for free for two years.  You can use the free account 15GB, and if you have an Android device..when you install Google Drive for the first time it will give…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question