[olug] Argh!

Sam Tetherow tetherow at nicusa.com
Tue Dec 17 16:33:50 UTC 2002


I know what ulimit does, I don't see how it could be used to address the 
original problem which was poorly written applications that don't check 
to see if they have enough disk space to (re)write support/configuration 
files, or the secondary problem of what happens once your HD fills up.

Brian Roberson wrote:
> in case you dont have man pages installed...
> 
> 
> ulimit [-SHacdflmnpstuv [limit]]
>               Provides  control  over  the resources available to
>               the shell and to processes started by it,  on  sys­
>               tems  that  allow such control.  The value of limit
>               can be a number  in  the  unit  specified  for  the
>               resource,  or  the  value unlimited.  The -H and -S
>               options specify that the hard or soft limit is  set
>               for  the  given  resource.   A hard limit cannot be
>               increased once it is  set;  a  soft  limit  may  be
>               increased  up  to  the value of the hard limit.  If
>               neither -H nor -S is specified, both the  soft  and
>               hard limits are set.  If limit is omitted, the cur­
>               rent value of the soft limit  of  the  resource  is
>               printed,  unless the -H option is given.  When more
>               than one resource is specified, the limit name  and
>               unit  are  printed before the value.  Other options
>               are interpreted as follows:
>               -a     All current limits are reported
>               -c     The maximum size of core files created
>               -d     The maximum size of a process's data segment
>               -f     The  maximum  size  of  files created by the
>                      shell
>               -l     The maximum size that  may  be  locked  into
>                      memory
>               -m     The maximum resident set size
>               -n     The  maximum number of open file descriptors
>                      (most systems do not allow this value to  be
>                      set)
>               -p     The  pipe  size in 512-byte blocks (this may
>                      not be set)
>               -s     The maximum stack size
>               -t     The maximum amount of cpu time in seconds
>               -u     The maximum number of processes available to
>                      a single user
>               -v     The   maximum   amount   of  virtual  memory
>                      available to the shell
> 
>               If limit is given, it is the new value of the spec­
>               ified resource (the -a option is display only).  If
>               no option is given, then -f is assumed.  Values are
>               in 1024-byte increments, except for -t, which is in
>               seconds, -p, which is in units of 512-byte  blocks,
>               and  -n  and  -u,  which  are unscaled values.  The
>               return status is 0  unless  an  invalid  option  is
>               encountered,  a  non-numeric  argument  other  than
>               unlimited is supplied as limit, or an error  occurs
>               while setting a new limit.
> 
> 
> 
> 
> 
> ----- Original Message -----
> From: "Sam Tetherow" <tetherow at nol.org>
> To: <olug at olug.org>
> Sent: Monday, December 16, 2002 11:20 PM
> Subject: Re: [olug] Argh!
> 
> 
> 
>>And that would achieve?
>>
>>Brian Roberson wrote:
>>
>>
>>>one word...
>>>
>>>ulimit
>>>
>>>
>>>
>>>
>>>----- Original Message -----
>>>From: "Sam Tetherow" <tetherow at nol.org>
>>>To: <olug at olug.org>
>>>Sent: Sunday, December 15, 2002 11:24 PM
>>>Subject: Re: [olug] Argh!
>>>
>>>
>>>
>>>
>>>
>>>>You would have to check the source code for mozilla or gtfp but I would
>>>>bet what the author does is open the file for writing when they go to
>>>>save which will cause the file to be wiped.
>>>>
>>>>As for full memory and swap, many things write to log files or syslog
>>>>and most programmers do not take the time to handle this gracefully.
>>>>When say your /var partition fills up and syslog can no longer write to
>>>>file the os will buffer the writes in memory in the vain hope that some
>>>>disk space free up, when this doesn't occur, memory fills up, then swap
>>>>space, once swap is full the writes start failing, as well as any new
>>>>memory allocation.  Most programmers do not take the time to gracefully
>>>>handle a failed alloc beyond printf(stderr, "cannot allocation
>>>>memory\n"); exit;  But even those that do what is the proper behavior?
>>>>How will apache serve a file if it cannot allocate the memory to read
>>>>the file?    How is mysql suppose to handle a request if it cannot
>>>>malloc memory for the temporary buffers it needs to build the results
> 
> set?
> 
>>>>
>>>>
>>
>>
>>_______________________________________________
>>OLUG mailing list
>>OLUG at olug.org
>>http://lists.olug.org/mailman/listinfo/olug
>>
> 
> 
> _______________________________________________
> OLUG mailing list
> OLUG at olug.org
> http://lists.olug.org/mailman/listinfo/olug

-- 
------------------------------------------------------------------------
Sam Tetherow                           tetherow at nicusa.com
Director of Development
NIC Labs (PSSG)                        http://www.nicusa.com




More information about the OLUG mailing list