Linux ulimit命令Linux ulimit命令Linux ulimit命令Linux ulimit命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux ulimit命令

一台机器上可以有多个用户。系统的可用资源可能会被单个用户忽略(有意或无意)。这种情况可能会给系统上的所有其他用户带来麻烦。为了避免这种情况,我们需要为用户创建限制,以便他们只能得到他们需要的东西。 Linux ulimit 命令使我们能够限制不同用户的系统可用资源。该命令可以帮助根据要求以最合适的方式分配资源。

在本文中,我们将通过多个图例来帮助您了解 ulimit 命令在 Linux 中的实现。

示例#1:使用 ulimit 命令查找当前用户的可用资源

ulimit 命令的第一个基本用法将在此示例中进行介绍。我们将了解当前登录用户的 Linux 资源的可用性状态。

启动终端并编写以下命令以获取当前消费者的限制。

omar@omar-VirtualBox:~$ ulimit

按Enter键查找输出。

unlimited

如输出所示,当前登录的用户可以无限制地访问资源。

示例#2:查找当前登录消费者的详细资源可访问性

上面的示例为我们找到了用户可用资源的限制,但它没有为我们提供可访问资源的详细信息。

为了检查用户可用的所有资源的详细信息,我们需要使用 ulimit 命令编写 -a 。这将使我们能够访问当前消费者可用的所有资源。如果要查找当前登录用户以外的用户的可用资源的详细信息,则必须在 -a 标志后提供用户名。目前,我们正在为当前用户查找它,因此我们不需要编写用户名。

omar@omar-VirtualBox:~$ ulimit -a

运行该命令后,我们将获得资源列表以及当前登录 Linux 用户的可用限制。此外,它还帮助我们使用 ulimit 命令提供的各种标志来查找特定资源的限制。

real-time non-blocking time  (microseconds, -R) unlimited

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

我们将在这里练习其中一些命令。

如果您想查看当前用户的核心文件大小的可用限制,您需要输入以下命令:

omar@omar-VirtualBox:~$ ulimit -c

0

结果告诉我们,Linux 用户的核心文件大小的可用限制是0。

我们可以通过使用 -c 标志指定限制值来限制此文件大小。

omar@omar-VirtualBox:~$ ulimit –c 10

现在,当前消费者的核心文件大小的可用限制被限制为 10。

要检查数据段大小,请使用带有 ulimit 命令的 –d 标志。

omar@omar-VirtualBox:~$ ulimit -d

unlimited

现在,我们将更改此限制。

omar@omar-VirtualBox:~$ ulimit –d 12

通过在终端上一一运行这些命令,我们将找到带有 -f 标志的文件大小、带有 -p 标志的管道大小以及带有 -u 标志的最大用户进程。

要检查文件大小限制,请编写以下命令:

omar@omar-VirtualBox:~$ ulimit -f

unlimited

可以通过以下命令检查管道尺寸的用户限制:

omar@omar-VirtualBox:~$ ulimit -p

8

您可以通过以下命令获取最大用户进程:

omar@omar-VirtualBox:~$ ulimit -u

15207

同样,您可以通过使用特定资源的适当标志来单独查找当前用户的任何资源的可用性。

Linux 中的软限制和硬限制

Linux中的限制分为两类:软限制和硬限制。硬限制是仅由 root 用户为所有其他用户设置的限制。而软限制是任何用户都可以使用 ulimit 命令更改的限制,但只能调整到 root 用户设置的最大硬限制。

示例 # 3:使用 ulimit 命令查找硬限制

我们可以通过使用标志 -H 和 ulimit 命令来显示当前登录用户的硬限制值。为此,我们需要在终端上编写以下命令:

omar@omar-VirtualBox:~$ ulimit –H

输出显示 root 用户为当前 Linux 用户设置的硬限制值。

unlimited

我们还可以将上述标志与 –H 标志相结合来查找特定资源的限制。我们将在这里练习一些命令。

要找到堆栈大小的硬限制,我们需要在终端上编写以下命令:

omar@omar-VirtualBox:~$ ulimit –Hs

unlimited

要检查管道尺寸的硬限制,请组合 –H 和 –p。

omar@omar-VirtualBox:~$ ulimit –Hp

8

可以通过以下命令获得最大内存大小的硬限制:

omar@omar-VirtualBox:~$ ulimit –Hm

unlimited

同样,您可以找到当前用户的任何系统资源的硬限制。

示例 # 4:使用 ulimit 命令查找软限制

除了检查用户的硬限制之外,您还可以找出软限制。要检查软限制,要使用的标志是 -S 和 ulimit 命令。

omar@omar-VirtualBox:~$ ulimit –S

运行该命令将为我们提供当前登录 Linux 用户的软限制。

unlimited

同样,对于硬限制,我们还可以通过给出适当的标志以及 -S 标志和 ulimit 命令来找到特定系统资源的软限制。

要获取打开文件的软限制,我们将运行以下命令:

omar@omar-VirtualBox:~$ ulimit –Sn

1024

可以通过以下命令获取待处理信号的软限制:

omar@omar-VirtualBox:~$ ulimit –Si

15207

以同样的方式,您可以找到特定用户所需的任何系统资源的所有其他软限制。

结论

您已经从本教程中学习了如何使用 Linux ulimit 命令。我们已经讨论了 ulimit 命令的基本用法以及可用于直接查找当前用户可用的单个资源的标志。此外,本指南中还实践了两种类型的限制。软、硬限制与其他标志的组合通过 Linux 中的实际实现进行了解释。

©2015-2025 艾丽卡 support@alaica.com