[ SDF Public Access UNIX System .. Est. 1987 ]

join welcome faq status members projects store tour gopher abuse dialup minecraft social
tilde nihongo europa webmail gallery usermap irc tutorials software telnet ssh

Personal Responsibility on SDF's Multi-User Environment

As SDF's mission is to support the advancement of public education, cultural enrichment, scientific research and recreation, you are encouraged to be creative and bold in your use of the numerous resources available with your membership level. While you are getting to work on projects, just please keep an eye on your resource usage so that you do not adversely impact the enjoyment of this system by others. Bugs in your code or other errors can devour the CPU from time to time, and mistakes like these are part of the learning process, but conscious overuse of system resources will likely get your processes killed and, possibly, your account locked. Luckily you have your fellow users to alert you if you're accidentally exceeding a fair share of system resources.

The 'top' command is a great tool if you want to see what is causing system sluggishness, or if you just want to monitor your own system resource usage. A quick web search for "unix process monitoring tools" will give you a host of other tools as well.

If you observe system use that is bringing the system to its knees, please reach out to the user to let them know. Email is an obvious way to contact them, or try checking their SDF web or gopher site for other contact information. If that fails, make a post on bboard describing the problem and others may be able to help.

Beyond simply monitoring your resource usage, you can set limits that will prevent a misfiring program from consuming excessive resources. This is especially important for MetaARPA members who have higher limits on system resource usage.

Most shells have a ulimit command which can be used to view or set limits. See man 3 ulimit or (in some shells) ulimit --help. This shell command calls the C runtime library's ulimit() call which itself calls into the Unix system calls for getrlimit() and setrlimit().

ulimit -a will display all of your current limits:
user@fnord.sdf.org $ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 80133
max locked memory       (kbytes, -l) 65536
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 80133
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

You can see from this display that the user has unlimited cpu time. To add a 1000 second limit to cpu time, issue the following command:

ulimit -t 1000

Note that, once set, you cannot increase the limit without killing the limited process and starting a new one. If you run this command directly from the shell, you will need to log out of the shell and back in again to reset it.

$Id: multiuser-responsibility.html,v 1.5 2020/02/28 02:10:14 cmccabe Exp $

©1987-2065 SDF Public Access UNIX System, Inc. 501(c)(7)
(this page was generated using ksh, sed and awk)