5. 高级主机配置

本节介绍一些可选的配置选项,这些选项可以提高 Linux X 主机的性能。

5.1. 设置用户和组限制

与瘦客户端模型相关的危险之一是失控进程可能会耗尽主机系统上所有可用的系统内存和/或 CPU。当这种情况发生时,该系统的性能可能会下降,导致系统挂起、冻结以及许多其他普遍不良的后果。

幸运的是,Linux 提供了一系列工具来缓解此类问题。我们将要介绍的第一个工具是位于 /etc/security 中的 limits.conf 文件。 limits.conf 提供了为特定类型的系统资源(包括内存)指定用户和组级别限制的能力。在此文件中设置的限制是基于每个用户或每个组设置的。尽管可以在此文件中设置许多限制,但我们将在本教程中仅介绍其中一些。

limits.conf 的基本语法由单独的行组成,其值类型如下:(域) (类型) (项目) (值),其中域是用户或组,类型指的是硬限制或软限制,项目指的是被限制的资源,值指的是与设置的限制相关联的值。例如,设置以下值

guest           hard     priority        19

对名为“guest”的用户调度的作业优先级设置了硬限制。在这种情况下,guest 始终以尽可能低的优先级进行调度。

作为另一个示例,要为用户 guest 设置最大 CPU 时间为 10 分钟,请设置以下值

guest           hard     cpu             10

作为最后一个示例,要为名为 guest 的组设置 3 次失败登录的限制,请设置以下值

@guest	hard 	maxlogins	3

5.2. 更多限制

限制失控进程潜在影响的第二种方法是在每个进程的基础上设置限制。这可以通过在以下位置设置 ulimit 命令来实现/etc/profile.

要在系统内存为 1 GB 且虚拟内存为 500 MB 的系统上,为给定进程可用的最大内存量设置一个软限制,使其小于系统上的总内存量,您需要在以下位置设置以下值/etc/profile:

ulimit -S -m 1000000
ulimit -S -v  500000

设置此值后,系统将终止任何尝试占用超过您设置限制的资源的进程。