1751972 Members
4905 Online
108784 Solutions
New Discussion юеВ

Re: limit command

 
SOLVED
Go to solution
Tarek
Super Advisor

limit command

A user asked me to modify some parameters of the limit command. I haven't understood yet what kind of parameters are, but they seem to be concerning shell and not kernel..is it right?? I saw that i can configure them in my .cshrc. However i tried to configure the datasize, which actually is set to 2015464 to unlimited but it doesn't work. Why? On another hp with same OS (hpux11) there's set (i think by default), datasize to unlimited.
This is the entry i have now:
cputime unlimited
filesize unlimited
datasize 2015464 KB
stacksize 81612 KB
coredumpsize 2097151 KB
descriptors 200 files
memoryuse unlimited
Can someone explain me what parameters are this? I haven't a man of limit.
Thanks in advance
Tarek
16 REPLIES 16
Sridhar Bhaskarla
Honored Contributor

Re: limit command

I haven't heard of any command called limit that can be used to limit the resources.

Some the of the terms you listed fall under kernel parameters, Some can be done by PRM (Process Resource Manager).

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
Sanjay_6
Honored Contributor

Re: limit command

A. Clay Stephenson
Acclaimed Contributor

Re: limit command

Hi:

The command you are looking for is 'ulimit'. It is a shell built-in so you need to man csh, or man sh_posix, or man ksh to see what the various settings do. There is also a ulimit system call. Man 2 ulimit for those details.

Typically, the absolute maximum limits are defined in the kernel (like maxdsiz,maxssiz,maxtsiz) these can be further limited by ulimit settings. The rule is that only a super-user can increase a ulimit value but only to the maximum the kernel allows. A regular user can only reduce a current ulimit setting.
If it ain't broke, I can fix that.
Santosh Nair_1
Honored Contributor

Re: limit command

I think the user is asking about the ulimit command...not the limit command. In any case, some of these limits can be changed dynamically if you're using the Posix Shell (/usr/bin/sh) or C-Shell (/usr/bin/csh). There are also kernel parameters associated with some of these limits, specifically:

ulimit kernel parameter
datasize maxdsiz
stacksize maxssiz
descripter maxfiles
Hope this helps.

-Santosh
Life is what's happening while you're busy making other plans
Sanjay_6
Honored Contributor

Re: limit command

Hi Tarek,

Sorry abt the earliaer posting. It got posted at the wrong place. It was an answer to some other question.

Sorry abt that.

Sanjay_6
Honored Contributor
Tarek
Super Advisor

Re: limit command

I'm talking about limit not ulimit.
If i issue ulimit i have this output:
unlimited
If i issue limit, i have the output i've told you about.
Thanks all again.
Roger Baptiste
Honored Contributor
Solution

Re: limit command

Hi,

The limit command is used to set a limit
on the resources being used by a shell and
the processes it spawns. For instance, if
one wants to limit the size of a core file
which a user process can dump, the limit
command would be handy to do it. Similarly,
the heapsize , max number of files etc can
be configured. The command name and features vary according to the shell.

For C shell, it is the "limit" command;
For K and Bourne shell, it is called "ulimit".

A user cannot increase a limit beyond the
"hard limit" (which is set by default and
can be changed only by the superuser).

>>However i tried to configure the datasize, >>which actually is set to 2015464 to >>unlimited but it doesn't work. Why?

try using limit -h option (-h is for
hard limit).

>>On another hp with same OS (hpux11) there's >>set (i think by default), datasize to >>unlimited.

The shell must be KSH which sets unlimited
by default.

>>This is the entry i have now:
cputime unlimited ->Maximum CPU seconds per process
filesize unlimited ->Largest single file allowed; limited to the size of the filesystem

datasize 2015464 KB -> Heap size
stacksize 81612 KB -> Max stack size
coredumpsize 2097151 KB -> Ah! max coredump
descriptors 200 files -> max open files
memoryuse unlimited ->max virtual mem size
This definitions are at shell level.

Do a man on ulimit or sh to get more details.
In ksh ulimit -a will give the defined values.
Another quirk i have seen is Bourne shell
does not take "unlimited" as an value.

Man on csh and search for limit to get
the options for csh's limit.

HTH
raj
Take it easy.
Tarek
Super Advisor

Re: limit command

Rajman,
your answer was perfect, but i still need more help. You wrote:
A user cannot increase a limit beyond the
"hard limit" (which is set by default and
can be changed only by the superuser).
Where can i change the default settings?
I tried limit -h datasize unlimited but it still didn't work. I also tried limit -h, same output.
Can you help me again or anyone else?
Thanks in advance
Tarek