关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

在Linux服务器系统中找到用户的ulimit

发布时间:2023/11/3 15:02:24
香港云服务器

为了正常运行,我们在安装各种软件后,必须保证设置正确的ulimit值。Linux系统提供了限制资源数量的方法。为每个Linux用户账户设置的限制值。但是,系统的限制也是分别应用于该用户正在运行的每个进程。例如,如果某些阈值太低,系统可能无法使用Nginx/Apache或PHP/Python应用程序来服务网页。用NA命令查看或设置系统资源限制。让我们看看如何使用ulimit来控制shell和进程的可用资源。

如何在Linux系统中找到用户的ulimit?

ulimit Linux命令设置或显示用户进程资源限制。通常,限制是在/etc/security/limits.conf文件或systemd单元中定义的。

两种限制

所有的Linux限制分为软限制和硬限制。

软限制--所有用户都可以改变软限制,最高可到硬限制所设置的最大值。将 -S 选项传递给 ulimit。

硬限制--只有root用户才能更改esource硬限制。将 -H 选项传递给 ulimit。

查看Linux服务器用户账户的ulimit

语法如下,可以查看当前用户的所有软限制和硬限制。

ulimit -Sa ## Show soft limit ##

ulimit -Ha ## Show hard limit ##

列出用户名为“ tom”的所有硬 ulimit

您必须以root用户身份运行以下命令,或者至少可以通过sudo / su访问该帐户:

su - tom -c "ulimit -Ha"

su - tom --shell /bin/bash -c "ulimit -Ha"

## You can use the sudo command ##

sudo -u tom bash -c "ulimit -Ha"

sudo -u tom sh -c "ulimit -Ha"

查找名为“ jerry”的用户的所有软件 ulimit

再次,使用su命令或sudo命令以root用户身份运行它:

su - jerry -c "ulimit -Sa"

su - jerry --shell /bin/sh -c "ulimit -Sa"

## You can use the sudo command ##

sudo -u jerry bash -c "ulimit -Sa"

sudo -u jerry sh -c "ulimit -Sa"

为进程用户寻找'ulimit -a'的进程用户

Linux进程不过是程序的运行实例。例如,当您启动Firefox应用程序时,您创建了一个过程。但是,某些进程在后台运行的时间更长。通常,服务器进程在后台运行,并且您不能使用sudo命令或su命令来找到其限制。在此示例中,nginx在Debian Linux上以www-data用户身份运行,但是出于安全原因,默认情况下阻止对www-data用户帐户的shell访问。换句话说,以下su或sudo命令将失败100%:

$ su - www-data -c "ulimit -Sa"

This account is currently not available.

如何为进程找到ULIMIT

语法是: 首先找到nginx的PID(进程ID),与grep命令一起运行ps 命令: 示例输出:

cat /proc/PID/limits

ps aux | grep nginx

现在运行以下cat命令: 示例输出:

cat /proc/8868/limits

大多数开发者和系统管理员需要知道每个nginx进程的最大进程数和打开的文件数。简而言之,我们用 "ps aux | grep appname "找到PID,然后查看/proc/目录下的那个PID的 "limitors "文件。这样你就可以肯定的知道该进程适用于哪些值来调整性能。