Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How should one remove all potential artificial resource limitations for a process?

I just saw a case where a server application consumed resources so that some limitation was hit. The other shells into the same server etc were all extremely slow (waiting for something to free up for them; ie. prstat starting 5 minutes). It wasn't CPU/memory related problem so I think it has got something to do with ulimits / projects.

Already managed to set the maximum open files to 500 000 and it helped a little bit. However there is something else and I can not figure out what resource is maxed out. I can get some in-house administrator probably to check this but I would like to understand how I could make sure there shouldn't be any limitations!

If you think I am going the wrong way (would be better to figure out what limitation should be specfically tuned etc) please feel free to point me to the correct way. I know technical stuff - it's just Solaris 10 that is giving me headache :/

share|improve this question
I'd just caution about removing those limits, as the limits are typically in place to prevent a process from killing the server entirely. Sometimes those limits are what lets an administrator get into the system without a hard reset to fix the problem. No process should hog the entire server unless there's a problem with the application or the server is underpowered... – Bart Silverstrim Mar 31 '10 at 18:26
I have to point out that there is only one process running on the server in question. If it fails the rest doesn't matter anyways. Plus, hard resets are rarely needed when it is all in a local zone - it is a lot easier to restart a local zone :) – Anonymous Mar 31 '10 at 19:13

Solaris 10 uses "projects" if you want to manually manage resources on a per-user or per-group basis.

/etc/project will list the existing setup, which usually only limits the initial shared memory to 8GB for the "default" project. Nothing else gets limited by default. All users that are not root or system users are subject to the "default" project by, uh, default. id -p will show what project a user belongs to.

If you suspect ulimits are at play, ulimit -a will list the current user restrictions which you can then change.

The symptoms of the slowdown you describe do however make it sound like a physical limit as opposed to a configured limit. Solaris 10 is pretty sharp at managing itself these days.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.