如何在Linux中使用ulimit命令

时间:2020-02-23 14:40:37  来源:igfitidea点击:

对于管理多用户系统的系统管理员,Linux中的ulimit命令是非常有用的命令。

他们需要控制用户正在使用的资源。
通过为每个用户设置限制可以简化此任务。

为此,Linux中的ulimit命令是必不可少的工具。
这个shell命令使我们能够检查和设置Linux系统上所有用户的资源限制。
设置正确的限制对确保系统以最佳状态运行大有帮助。

ulimit命令的基本用法和选项

ulimit命令是嵌入在shell中的工具。
要启动ulimit,我们只需在命令行中输入" ulimit"。

ulimit

如您在屏幕快照中所见,我们添加了-a标记以显示所有用户的限制。

Linux中的ulimit命令允许使用各种选项来检查和修改不同系统资源的限制。
这些标签如下表所示。

TagUsage
-cSpecifies the size of core dumps, in number of 512-byte blocks
-dSpecifies the size of the data area, in number of K bytes.
-ethe maximum scheduling priority (nice)
-sthe maximum stack size
-uthe maximum number of user processes.
-Tthe maximum number of threads
-bthe maximum number of threads

这些是Linux中ulimit命令最常用的一些选项。
但是,可能很难记住所有这些标签在您的头上。

因此,如果您希望使用某个选项但不记得其功能,请使用–help标记获取该命令可用的所有选项的列表。

熟悉limits.conf

用户的所有资源限制都保存在名为limits.conf的文件中,其中包含所有用户限制的配置。
默认情况下,此文件保存在目录/etc/security/limits.d中,该目录可以容纳多个用户的资源限制配置。

让我们使用cat命令查看limits.conf文件

极限极限

其中配置文件处理四个参数:

  • 类型
  • 项目

让我们分别查看每个参数。

1.域参数

我们从"域"开始。
这定义了限制所属的域。
它可以是特定用户,一组用户甚至是通配符。
此处可用的两个通配符如下。

    • –这是域的默认条目
  • %–用于指定最大登录限制

这些帮助root用户定义用户或者要为其设置限制的用户组。

2.类型参数

接下来是"类型"。
这是指我们希望为用户设置的限制类型。
有两种类型的限制供我们选择。

  • soft-这些限制是用户可以使用ulimit函数超出的限制
  • 硬-这些限制由root用户固定,没有root访问系统权限的任何人都不能更改

请注意,任何种类的限制只能由具有root访问权限的用户设置。
如果需要,任何其他用户只能编辑为其设置的软限制。

3.项目参数

第三个参数指的是"项目"或者我们希望限制的资源。
可以通过写参考名称来选择资源。
这是资源及其参考名称的列表。

Ulimit Conf项目参数

4.值参数

最后一个参数指的是我们商品的"价值"或者实际限制。
每个值的单位与其对应的项目相关联。

让我们继续学习如何设置用户限制。

在ulimit文件中设置值

现在您了解了参数是什么,让我们设置一些限制。

假设要将" theitroad"的最大数据大小限制设置为4096kb,则可以在文件末尾以以下格式添加一行:

theitroad hard data 4096

设置/更改飞行限制

您也可以使用ulimit命令即时设置限制。
这将暂时

注意:设置系统上的资源限制是为了确保您的系统不会耗尽内存。
这些设置对于维持系统资源的平衡至关重要。
在没有适当知识的情况下编辑ulimit值可能会导致系统行为异常,甚至停止工作。

当您希望更改限制时,只需在Linux中调用ulimit命令,然后调用limit选项和您要设置的限制即可。
下面是一个示例。

ulimit -c unlimited

此命令会将您的核心文件大小限制(由-c标记表示)设置为"无限"。
使用此命令,您可以根据需要轻松设置任何系统资源的限制。

您可以使用带有相应标记的ulimit命令来验证更改,如本教程前面所示。

请记住,只有在limits.conf文件中将限制设置为软限制时,才可以更改限制。
对于硬限制,只有root用户有权访问限制的修改。