SDF 多用户环境中的个人责任

来自tutorials.sdfcn.org - sdf中文html教程
Gao66留言 | 贡献2025年8月19日 (二) 08:35的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

由于 SDF 的使命是支持公众教育、丰富文化生活、科学研究和娱乐活动的发展,因此我们鼓励您在使用您的会员级别所提供的众多资源时发挥创造性并大胆创新。在开展项目的同时,请注意资源的使用情况,以免对他人使用本系统造成负面影响。代码中的 Bug 或其他错误会时不时地吞噬 CPU,这样的错误是学习过程的一部分,但有意识地过度使用系统资源很可能会导致您的进程被杀死,甚至可能导致您的账户被锁定。幸运的是,如果你不小心超出了系统资源的合理份额,会有其他用户提醒你。

如果你想了解导致系统运行缓慢的原因,或者只是想监控自己的系统资源使用情况,"top"命令是一个很好的工具。在网上快速搜索 "unix 进程监控工具",还能找到很多其他工具。

如果您发现有人使用系统导致系统瘫痪,请联系用户并告知他们。电子邮件显然是联系他们的一种方式,或者尝试查看他们的 SDF 网站或 gopher 网站,了解其他联系信息。如果联系不上,请在 bboard 上发帖描述问题,其他人也许能提供帮助。

除了简单地监控资源使用情况外,您还可以设置限制,防止错误程序消耗过多资源。这对于系统资源使用限制较高的 MetaARPA 成员尤为重要。

大多数 shell 都有 ulimit 命令,可以用来查看或设置限制。参见 man 3 ulimit 或(在某些 shell 中)ulimit --help。该 shell 命令调用 C 运行库的 ulimit() 函数,而 ulimit() 本身又调用 Unix 系统的 getrlimit() 和 setrlimit() 函数。

使用 ulimit -a 将显示当前的所有限制:

[email protected] $ 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

从显示屏上可以看到,用户的 cpu 时间是无限的。要为 cpu 时间添加 1000 秒限制,请执行以下命令:

ulimit -t 1000

请注意,一旦设置,如果不杀死受限进程并启动一个新进程,就无法增加限制。如果直接从 shell 运行此命令,则需要退出 shell 并重新登录才能重置。


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