Monday, July 11, 2011

ulimit to set linux resource for testing

Recently I started using ulimit. I can seriously recommend ulimit utility as an awesome tool. Its location is /usr/bin/ulimit. Before begining let me accept that the better title for this post would have been 'how to use ulimit on linux' or 'setting resource limit and unset using ulimit', or better still, 'what is ulimit?'. [Huh..but what is wrong with my title ;) ]

Coming back, You can use 'ulimit' to set or display a resource limit. The available options are listed below. The limit for a specified resource is set when the limit is specified. The value of limit can be a number in the unit specified with each resource, or the value unlimited. I dedicate this post to my fellows in my team. My team including my manager is really great.

Back to the ulimit, the various ulimit Command options are as follows:

Lists all of the current resource limits.
The number of 512-byte blocks on the size of core dumps.
The number of K-bytes on the size of the data area.
The number of 512-byte blocks on files that can be written by the current process and its child processes (files of any size may be read). On file systems (such as vxfs file systems) that support large files, setting this limit to unlimited represents the largest file size supported on the file system. See ``Notices'', below.
The number of K-bytes on the size of physical memory.
The number of file descriptors plus 1.
The number of K-bytes on the size of the stack area.
The number of CPU seconds to be used by each process.
The number of K-bytes for virtual memory.
If no option is given, -f is assumed; that is, you can specify a limit with or without the preceding -f option, and both cases are interpreted as an attempt to raise the file size limit.

There is a provision of hard and soft limit. i have never tried that, but in case yo want to explore more you can search ulimit man pages. or can even refer Click

I am attaching screenshot of ulimit -a option. this would clearly show all the limits currently set:

There are two important operands:

1) limit
Gives the resource-specific limit to use as the new resource limit.

2) unlimited
Sets the largest allowable resource limit. It is necessary to set limit to the value unlimited for access to large files.

It is important to note that ulimit works across all flavors of linux. Even on WindRiverLinux. This comes as a very handy tool for QA people testing on unix environments. Once set, you can reset the limits again using the same command. You can also make it unlimited. Following two scenarios are of great use while testing:
1) ulimit -c unlimited: this will make maximum possible space available for making core dumps. This will help fruitful core dump creations to be consumed both by the QA and dev people.
2) ulimit -v unlimited. this will make maximum possible space available for virtual memory. So this can also regulate or simulate low memory conditions.

I guess this much is enuff. Rest you can explore. Please do not forget clicking on a few Advertisements. Google will give ranking and points to my blog, you will get good contents always. ;) rest you know!!!

1 comment:

  1. i m new on computer. this works on my apple too.
    good trick