Linux 中使用 ulimit 控制系统资源使用

Ulimit 是基于 Linux 的操作系统中的命令行实用程序,用于分配和限制资源。 我们可以使用它来控制全局、组和用户级别的资源。 设置正确的限制将使我们的系统以最佳方式工作。 我们可以使用 ulimit 对进程使用的资源设置限制,以便只有服务器上的重要进程才能继续运行。

在这篇文章中,我们将向我们展示 Linux 中使用 ulimit 控制系统资源的使用。

先决条件

  • 云平台上的全新 Ubuntu 20.04 服务器
  • 在我们的服务器上配置的 root 密码

创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu 20.04 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到 Ubuntu 20.04 服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

基本语法

ulimit 命令的基本语法如下所示:

ulimit [option]

每个选项的简要说明如下所示:

  • -a:显示所有用户的限制。
  • -d:定义数据区的大小。
  • -c:定义核心转储的大小。
  • -e:用于定义优先级。
  • -s:定义最大堆栈大小。
  • -u:定义用户进程的最大数量。

默认情况下,所有资源限制都保存在文件 /etc/security/limits.conf 中。

如何使用 ulimit

要显示所有用户的资源限制,请运行以下命令:

ulimit -a

输出:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15237
max locked memory       (kbytes, -l) 64
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) 15237
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

要显示特定用户的资源限制,请运行以下命令:

ulimit -a root

输出:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15237
max locked memory       (kbytes, -l) 64
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) 15237
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

要显示当前用户的软限制,请运行以下命令:

ulimit -S

要显示当前用户的硬限制,请运行以下命令:

ulimit -H

要检查分配的最大用户进程数的硬限制,请运行以下命令:

ulimit -Hu

输出:

15237

要临时更改默认硬限制,请运行以下命令:

ulimit -u 20000

要永久更改硬限制,请编辑 /etc/security/limits.conf 文件:

nano /etc/security/limits.conf

添加以下行:

root    hard    nproc   20000

完成后保存并关闭文件。

要检查打开文件限制,请运行以下命令:

ulimit -n

要更改打开文件限制,请运行以下命令:

ulimit -n 1000

要检查最大内存大小限制,请运行以下命令:

ulimit -m

要更改最大内存大小限制,请运行以下命令:

ulimit -m 2000

在上述指南中,我们了解了如何使用 ulimit 命令限制系统资源。 ulimit 将帮助我们使系统以最佳性能运行。 今天就在我们的 VPS 主机帐户上试试吧!

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论