如何在Linux中使用ulimit命令
对于管理多用户系统的系统管理员,Linux中的ulimit命令是非常有用的命令。
他们需要控制用户正在使用的资源。
通过为每个用户设置限制可以简化此任务。
为此,Linux中的ulimit命令是必不可少的工具。
这个shell命令使我们能够检查和设置Linux系统上所有用户的资源限制。
设置正确的限制对确保系统以最佳状态运行大有帮助。
ulimit命令的基本用法和选项
ulimit命令是嵌入在shell中的工具。
要启动ulimit,我们只需在命令行中输入" ulimit"。
ulimit
如您在屏幕快照中所见,我们添加了-a标记以显示所有用户的限制。
Linux中的ulimit命令允许使用各种选项来检查和修改不同系统资源的限制。
这些标签如下表所示。
Tag | Usage |
-c | Specifies the size of core dumps, in number of 512-byte blocks |
-d | Specifies the size of the data area, in number of K bytes. |
-e | the maximum scheduling priority (nice) |
-s | the maximum stack size |
-u | the maximum number of user processes. |
-T | the maximum number of threads |
-b | the 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用户有权访问限制的修改。