0

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 :/

2
  • 1
    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... Mar 31, 2010 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, 2010 at 19:13

1 Answer 1

1

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.

You must log in to answer this question.