How to make ulimit change permanent

ulimit -a gives the following output:

$ulimit -a
time(seconds)        unlimited
file(blocks)         2097152
data(kbytes)         131072
stack(kbytes)        16384
memory(kbytes)       unlimited
coredump(blocks)     32768
nofiles(descriptors) 400
vmemory(kbytes)      147456

Abot output means my system has maximum filesize limit as 1 GB, I want to make it 2GB, I think i'll make it double and then it would be

file(blocks)         4194304

But when I logout and login again, system shows the old limit ie file(blocks) 2097152, how to make this change for all users and permanent and please also confirm that filesize 4194304 blocks means 2GB or do I need some other figure.

Thanks in advance.

Depending on your OS, the solution will vary, for example on RH like distros you can set this in /etc/security/limits.conf

$uname -a
UnixWare unix1 5 7.1.1 i386 x86at SCO UNIX_SVR5

Try the following:

sadm -Fvxfs -o largefiles /test1       <----test1 is a mounted FS
cd /etc/conf/bin
#display current values 
./idtune -g HFSZLIM
./idtune -g SFSZLIM
#Set the kernel parameter for filesize limit to unlimited
./idtune HFSZLIM 0x7FFFFFFF
./idtune SFSZLIM 0x7FFFFFFF
./idbuild -B                           <----Rebuild the kernel
shutdown -g0 -y -i6                    <----Reboot the system