|
Home > Archive > Unix administration > April 2007 > ulimit for groups
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
|
|
| adam.carheden@gmail.com 2007-04-10, 1:25 pm |
| I need a way to limit the maximum memory used by a group of people
(i.e. ulimit for groups).
I have a server with 32G of memory but very little swap space. I have
users running processes that take up large amounts of memory (30+ G).
If I get a few large jobs running, the system becomes unresponsive,
presumably because sshd can't allocate enough memory to start a new
login process. I can still ping it, but ssh fails and console logins
give a "login timed out after 60 seconds" before the password prompt
appears.
ulimit, of course, comes to mind. I can set limits for individual
users in /etc/security/limits.conf, but if two different users each
run jobs that allocate 20G of memory, I'm in the same situation. Using
the @group syntax in limits.conf simply sets that limit for each user
in that group individually, not a combined limit for the entire group.
I need a solution to limit the maximum amount of memory allocated by
all user processes to <32G, while still allowing individual users to
allocate as much memory as is available.
Also, please don't suggest buying a drive for swap, as I've tried this
on another system and it just makes login fail half the time,
depending on if the system can access swap before before login times
out.
Also, user training isn't an option as users just don't listen.
| |
| Doug Freyburger 2007-04-10, 7:21 pm |
| adam.carhe...@gmail.com wrote:
>
> I need a way to limit the maximum memory used by a group of people
> (i.e. ulimit for groups).
"When you have a hammer, every problem looks like a nail".
> I have a server with 32G of memory but very little swap space. I have
> users running processes that take up large amounts of memory (30+ G).
> If I get a few large jobs running, the system becomes unresponsive,
To me this sounds like you need to wrap that program in a script
that submits to a batch queue so only one runs at a time. No
an issue of ulimit but an issue of preventing multiple runs. Or
wrap the whole set of programs to submit to batch queues.
Even better, good batch queuing software might be able to farm
the runs out to other boxes should any come available.
> Also, user training isn't an option as users just don't listen.
That's where the wrapper script comes in. Replace their program
with a wrapper that does the submission to the queue.
| |
| adam.carheden@gmail.com 2007-04-10, 7:21 pm |
| On Apr 10, 1:16 pm, "Doug Freyburger" <dfrey...@yahoo.com> wrote:
> adam.carhe...@gmail.com wrote:
>
>
> "When you have a hammer, every problem looks like a nail".
>
>
> To me this sounds like you need to wrap that program in a script
> that submits to a batch queue so only one runs at a time. No
> an issue of ulimit but an issue of preventing multiple runs. Or
> wrap the whole set of programs to submit to batch queues.
>
> Even better, good batch queuing software might be able to farm
> the runs out to other boxes should any come available.
>
>
> That's where the wrapper script comes in. Replace their program
> with a wrapper that does the submission to the queue.
Unfortunately it's not just one program. Various people run various
things. The current big one is Matlab, and I can't wrap the matlab bin
in a script because many people use it for may different things. With
my mpi users, I just use torque as a queueing system, but for those
nasty users who need to run non-parallel programs from the gui, I'm
stuck. Anyone else have any ideas? I can't be the first person in the
history of Unix to have this problem.
| |
| Doug Freyburger 2007-04-10, 7:21 pm |
| adam.carhe...@gmail.com wrote:
>
> The current big one is Matlab, and I can't wrap the matlab bin
> in a script because many people use it for may different things. With
> my mpi users, I just use torque as a queueing system, but for those
> nasty users who need to run non-parallel programs from the gui, I'm
> stuck. Anyone else have any ideas? I can't be the first person in the
> history of Unix to have this problem.
Certain programs scream for having their own workstations. Matlab,
SAS, Nastran, all VLSI tools and so on. If your folks are running
Matlab they really need it loaded locally. I take it there's no
funding
to do it right like that?
| |
| Michael Vilain 2007-04-11, 1:22 am |
| In article <1176246831.518164.262960@w1g2000hsg.googlegroups.com>,
"Doug Freyburger" <dfreybur@yahoo.com> wrote:
> adam.carhe...@gmail.com wrote:
>
> Certain programs scream for having their own workstations. Matlab,
> SAS, Nastran, all VLSI tools and so on. If your folks are running
> Matlab they really need it loaded locally. I take it there's no
> funding
> to do it right like that?
I don't know if Matlab can be configured this way, but we used to offer
a "development environment" for engineering desktops. All the tools
that needed to be accessed were on NFS servers and available via
automount. Each user had a "standard login" which we setup to correctly
point to the tools they needed.
Or is Matlab node locked and can only run on the server it's installed
on?
--
DeeDee, don't press that button! DeeDee! NO! Dee...
| |
| Michael Tosch 2007-04-11, 1:21 pm |
| adam.carheden@gmail.com wrote:
> I need a way to limit the maximum memory used by a group of people
> (i.e. ulimit for groups).
>
> I have a server with 32G of memory but very little swap space. I have
> users running processes that take up large amounts of memory (30+ G).
> If I get a few large jobs running, the system becomes unresponsive,
> presumably because sshd can't allocate enough memory to start a new
> login process. I can still ping it, but ssh fails and console logins
> give a "login timed out after 60 seconds" before the password prompt
> appears.
>
> ulimit, of course, comes to mind. I can set limits for individual
> users in /etc/security/limits.conf, but if two different users each
> run jobs that allocate 20G of memory, I'm in the same situation. Using
> the @group syntax in limits.conf simply sets that limit for each user
> in that group individually, not a combined limit for the entire group.
> I need a solution to limit the maximum amount of memory allocated by
> all user processes to <32G, while still allowing individual users to
> allocate as much memory as is available.
>
> Also, please don't suggest buying a drive for swap, as I've tried this
> on another system and it just makes login fail half the time,
> depending on if the system can access swap before before login times
> out.
>
> Also, user training isn't an option as users just don't listen.
>
In Solaris "projects" can assign system resources to users and groups.
man project
--
Michael Tosch @ hp : com
| |
| Doug Freyburger 2007-04-11, 1:21 pm |
| Michael Vilain <vil...@spamcop.net> wrote:
> "Doug Freyburger" <dfrey...@yahoo.com> wrote:
>
>
>
> I don't know if Matlab can be configured this way, but we used to offer
> a "development environment" for engineering desktops. All the tools
> that needed to be accessed were on NFS servers and available via
> automount. Each user had a "standard login" which we setup to correctly
> point to the tools they needed.
On one CAD network I managed I converted /opt to an indirect
automount table and then used NIS and netgroups to make
apps available by station. Nastran when to a few, Unigraphics
to all and so on. I built a big NFS server with every app on the
network (SGI, Solaris and SGI versions each exporting their own
/opt), populated a big /etc/exports file on them, then listed various
hosts in various netgroups NIS groups. A host can be in several
netgroups and can mount per all of those lists.
It is a very nice idea to have one UNIX box per engineer.
Especially now that Linux is available provided whatever apps
they need have a Linux port. If a company can't afford a
workstation per engineer the shoestring approach is going to
start costing lots of hours and eventually cost more than the
workstations would have cost.
> Or is Matlab node locked and can only run on the server it's installed
> on?
The last time I had Matlab users moving from station to station was
over a decade ago. I remember it having several options for licensing
at the time but that's so long ago it won't apply now.
| |
| adam.carheden@gmail.com 2007-04-11, 7:21 pm |
| On Apr 10, 5:13 pm, "Doug Freyburger" <dfrey...@yahoo.com> wrote:
> adam.carhe...@gmail.com wrote:
>
>
> Certain programs scream for having their own workstations. Matlab,
> SAS, Nastran, all VLSI tools and so on. If your folks are running
> Matlab they really need it loaded locally. I take it there's no
> funding
> to do it right like that?
Funding? No, not for individual workstations. It's a machine with 32G
of memory and 4 dual core Opterons. We would have bought more memory,
but Dell didn't have such a box available. We actually have two of
these, but they have to be shared by 15 or so users.
| |
| adam.carheden@gmail.com 2007-04-11, 7:21 pm |
| On Apr 11, 6:39 am, Michael Tosch <eed...@NO.eed.SPAM.ericsson.PLS.se>
wrote:
> adam.carhe...@gmail.com wrote:
>
>
>
>
>
> In Solaris "projects" can assign system resources to users and groups.
>
> man project
>
> --
> Michael Tosch @ hp : com
Thanks for the info. projects/rcap sounds like exactly what I need,
but from everything I can find on Google, it's a solars-only tool. Any
chance you know otherwise?
I think I'll attempt user training before I reinstall the OS and
everything on it. 
|
|
|
|
|