1753274 Members
4889 Online
108792 Solutions
New Discussion юеВ

Re: limit command

 
SOLVED
Go to solution
Tarek
Super Advisor

Re: limit command

limit datasize unlimited
i have this error:
Can't remove limit.
limit -h datasize unlimited
i have no errors but value didn't change.
Tarek
Super Advisor

Re: limit command

please, any further help?
My user is unable to work using a software (Synopsys Cadence) because he needs to change limit datasize value. How can i do?
Regards,
Tarek
Roger Baptiste
Honored Contributor

Re: limit command

<i have this error:
Can't remove limit.
limit -h datasize unlimited
i have no errors but value didn't change.>>

Tarek,

The problem is with the Shell command format. CSH and KSH doesnt seem to
take the "unlimited" value to their
limit commands. Whenever i ran into this
problem, i made the User change their
SHell to Bourne shell (/usr/bin/sh or /sbin/sh) and then ran the ulimit
command . This takes the "unlimited" option.
# change the shell of the user (in thepassword file)
# Make sure what the ulimit option you need
to give by doing ulimit -a or ulimit command
# then ulimit


Another thing you can try is , instead
of giving unlimited, give some Large number.
for eg: limit datasize largenumber
or limit -h datasize largenumber

It should take it.

HTH
raj
Take it easy.
Tarek
Super Advisor

Re: limit command

Rajman,
thanks for your help, but it's still not working. The datasize depends from something but i don't know what. With csh on another ws, hpux11 as this, i have datasize unlimited, but here it isn't working. Also in this ws i have cputime, filesize and memoryuse set to unlimited.
I also tried with
limit -h datasize 3000000
output: limit: Value exceeds allowable limit.
User needs to work with csh, so i can't try with limit. I haven't understood a thing. When i issue limit -h it takes default values, right? Where are they set? Is there some file to modify??
Thanks
Tarek
Roger Baptiste
Honored Contributor

Re: limit command

Tarek,

The limit command calls
the ulimit system call which
the sets the values. This
values are applicable only
for the process/shell from
which it is called. It is
not global. I don''t think
it is stored in any file.
As for the defaults, they
are derived from the kernel
values.

<>

Datasize is derived from
maxdsiz kernel parameter.
More its value, more the limit
will be for the process.
Check what''s the maxdsiz
for your system and if necessary increase it.
That should increase the limit.

<>

I am not sure whether you
can set datasize as unlimited
becasue there is a finite
limit on the datasize.
Here unlimited could mean
that , use everything available.

<>

Yes, but the limits for
these params do not matter,
because cputime is controlled
by spinlock and cpu allocation
routines; filesize is set
by filesystem; memoryuse
is taken by memory management
system routines.

<limit -h datasize 3000000
output: limit: Value exceeds allowable limit. >>

Ok, that means it exceeds
your maxdsiz; and you cannot
run limit -h as normal user.

<>

Then, you would need to
increase the maxdsiz at kernel.

<< I haven't understood a thing. When i issue limit -h it takes default values, right? Where are they set? Is there some file to modify?? >>

Firstly, make sure what
the user requirement is.
Change the maxdsiz kernel
parm and then see how it
increases the limit defaults.

HTH
raj
Take it easy.
Tarek
Super Advisor

Re: limit command

I think that's it Rajman.
I need again your help, forgive me!!
I found the maxdsiz, but how can i increase it?
There is Formula/Value: 0X7B03A000
Calculated Value: 2063835136
I can only increase Formula/Value. How can i set the maximum value of this parameter, and how can i know which is the maximum value?
Thanks,
Tarek
Roger Baptiste
Honored Contributor

Re: limit command


From Docid: A5563482:

For HP-UX 10.20, the maximum data segment size for a process is 944 MB.

For HP-UX 11.0, the maximum data segment size is described below:
32-bit processors:

Minimum: 0x400000 (4 Mbytes)
Maximum: 0x7B03A000 (approx 2 Gbytes)
Default: 0x4000000 (64 Mbytes)

64-bit processors:

Minimum: 0x400000 (4 Mbytes)
Maximum: 4396972769279
Default: 0x4000000 (64 Mbytes

*********

So, yes 2Gb is maximum
Datasegment size you can
set on your system, if the
O/S you are using is 32-bit
(swlist |grep -i runtime will
tell you whether it is 32 or
64 bit o/s).

Try setting it to the
maximum of 2Gb and check.

Once again, make sure of the
user requirements. Many programs do not need that
much of dataseg size. There
is nothing like "unlimited"
dataseg. The vendorsupport
of the application they are
running should be able to
help you.

Changing dataseg will need
a reboot.

HTH
raj
Take it easy.