Linux ulimit命令
一台机器上可以有多个用户。系统的可用资源可能会被单个用户忽略(有意或无意)。这种情况可能会给系统上的所有其他用户带来麻烦。为了避免这种情况,我们需要为用户创建限制,以便他们只能得到他们需要的东西。 Linux ulimit 命令使我们能够限制不同用户的系统可用资源。该命令可以帮助根据要求以最合适的方式分配资源。
在本文中,我们将通过多个图例来帮助您了解 ulimit 命令在 Linux 中的实现。
示例#1:使用 ulimit 命令查找当前用户的可用资源
ulimit 命令的第一个基本用法将在此示例中进行介绍。我们将了解当前登录用户的 Linux 资源的可用性状态。
启动终端并编写以下命令以获取当前消费者的限制。
按Enter键查找输出。
如输出所示,当前登录的用户可以无限制地访问资源。
示例#2:查找当前登录消费者的详细资源可访问性
上面的示例为我们找到了用户可用资源的限制,但它没有为我们提供可访问资源的详细信息。
为了检查用户可用的所有资源的详细信息,我们需要使用 ulimit 命令编写 -a 。这将使我们能够访问当前消费者可用的所有资源。如果要查找当前登录用户以外的用户的可用资源的详细信息,则必须在 -a 标志后提供用户名。目前,我们正在为当前用户查找它,因此我们不需要编写用户名。
运行该命令后,我们将获得资源列表以及当前登录 Linux 用户的可用限制。此外,它还帮助我们使用 ulimit 命令提供的各种标志来查找特定资源的限制。
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15207
max locked memory (kbytes, -l) 502304
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) 15207
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
我们将在这里练习其中一些命令。
如果您想查看当前用户的核心文件大小的可用限制,您需要输入以下命令:
0
结果告诉我们,Linux 用户的核心文件大小的可用限制是0。
我们可以通过使用 -c 标志指定限制值来限制此文件大小。
现在,当前消费者的核心文件大小的可用限制被限制为 10。
要检查数据段大小,请使用带有 ulimit 命令的 –d 标志。
unlimited
现在,我们将更改此限制。
通过在终端上一一运行这些命令,我们将找到带有 -f 标志的文件大小、带有 -p 标志的管道大小以及带有 -u 标志的最大用户进程。
要检查文件大小限制,请编写以下命令:
unlimited
可以通过以下命令检查管道尺寸的用户限制:
8
您可以通过以下命令获取最大用户进程:
15207
同样,您可以通过使用特定资源的适当标志来单独查找当前用户的任何资源的可用性。
Linux 中的软限制和硬限制
Linux中的限制分为两类:软限制和硬限制。硬限制是仅由 root 用户为所有其他用户设置的限制。而软限制是任何用户都可以使用 ulimit 命令更改的限制,但只能调整到 root 用户设置的最大硬限制。
示例 # 3:使用 ulimit 命令查找硬限制
我们可以通过使用标志 -H 和 ulimit 命令来显示当前登录用户的硬限制值。为此,我们需要在终端上编写以下命令:
输出显示 root 用户为当前 Linux 用户设置的硬限制值。
我们还可以将上述标志与 –H 标志相结合来查找特定资源的限制。我们将在这里练习一些命令。
要找到堆栈大小的硬限制,我们需要在终端上编写以下命令:
unlimited
要检查管道尺寸的硬限制,请组合 –H 和 –p。
8
可以通过以下命令获得最大内存大小的硬限制:
unlimited
同样,您可以找到当前用户的任何系统资源的硬限制。
示例 # 4:使用 ulimit 命令查找软限制
除了检查用户的硬限制之外,您还可以找出软限制。要检查软限制,要使用的标志是 -S 和 ulimit 命令。
运行该命令将为我们提供当前登录 Linux 用户的软限制。
同样,对于硬限制,我们还可以通过给出适当的标志以及 -S 标志和 ulimit 命令来找到特定系统资源的软限制。
要获取打开文件的软限制,我们将运行以下命令:
1024
可以通过以下命令获取待处理信号的软限制:
15207
以同样的方式,您可以找到特定用户所需的任何系统资源的所有其他软限制。
结论
您已经从本教程中学习了如何使用 Linux ulimit 命令。我们已经讨论了 ulimit 命令的基本用法以及可用于直接查找当前用户可用的单个资源的标志。此外,本指南中还实践了两种类型的限制。软、硬限制与其他标志的组合通过 Linux 中的实际实现进行了解释。