我正在尝试为 Ubuntu 18.04.3 LTS 上的用户进程设置默认的优先级,limits.conf
并且我写入的所有内容limits.conf
都会被忽略。硬的好,软的好,硬优先,软优先,- priority
没关系,只是不起作用。
session required pam_limits.so
in/etc/pam.d/su
默认情况下未注释,我还尝试在 中进行更改后重新启动系统limits.conf
。
为什么会发生这种情况以及如何解决它?
示例1:
root soft nice -16
root hard nice -17
当我使用以下命令登录服务器时ssh [email protected]
我希望在top -o -NI
输出中看到至少一个 NI 为-16
或 的进程(我的 bash 登录会话) -17
。没有一个进程具有这种“nice”值。
示例2:
user123 soft nice 5
user123 hard nice 5
当我请求“http://主机名/benchmark.php“我希望在top -o %CPU
输出中看到 PHP FastCGI 进程,其良好程度为5
。我看到 PHP FastCGI 进程的良好程度为0
示例3:
user123 soft priority 25
user123 hard priority 25
当我请求“http://主机名/benchmark.php“我希望在top -o %CPU
输出中看到优先级为 的 PHP FastCGI 进程25
。我看到优先级为 的 PHP FastCGI 进程20
示例4:
user123 - priority 25
当我请求“http://主机名/benchmark.php“我希望在top -o %CPU
输出中看到优先级为 的 PHP FastCGI 进程25
。我看到优先级为 的 PHP FastCGI 进程20
答案1
示例 1. 的文档nice(2)
解释说“Nice值的范围是+19(低优先级)到-20(高优先级)“。当您将条目设置limits.conf
为-16
/-17
时,这实际上是一个上限,可以减少到我假设您看到的值。
示例 2、3、4。您的 Web 服务器可能没有调用 PAM 来更改用户 ID,因此limits.conf
不会被引用。