Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了默认的ulimit值设置在哪里? (linux,centos)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有两个CentOS 5服务器具有几乎相同的规格.当我登录并执行ulimit -u时,在一台机器上我获得无限制,而在另一台机器上我得到77824. 当我运行cron时: * * * * * ulimit -u > ulimit.txt 我得到了相同的结果(无限制,77824). 我试图确定这些设置在哪里,以便我可以改变它们.它们未在我的任何配置文件中设置(.bashrc,/ etc / profi
我有两个CentOS 5服务器具有几乎相同的规格.当我登录并执行ulimit -u时,在一台机器上我获得无限制,而在另一台机器上我得到77824.

当我运行cron时:

* * * * * ulimit -u > ulimit.txt

我得到了相同的结果(无限制,77824).

我试图确定这些设置在哪里,以便我可以改变它们.它们未在我的任何配置文件中设置(.bashrc,/ etc / profile等).这些不会影响cron)也不会影响/etc/security/limits.conf(它是空的).

我已经搜索了谷歌,甚至做了grep -Ir 77824 /,但到目前为止还没有发现任何事情.我不明白这些机器如何预设不同的限制.

我实际上不知道这些机器,但是对于一台限制为1024的不同(CentOS 6)机器,这个机器太小了.我需要运行具有更高限制的cron作业,而我知道如何设置它的唯一方法是在cron作业本身.没关系,但我宁愿在系统范围内进行设置,所以它并不像hacky那样.

谢谢你的帮助.这似乎应该很容易(不).

编辑 – 已解决

好的,我想出来了.这似乎是CentOS 6或我的机器配置的问题.在CentOS 5配置中,我可以在/etc/security/limits.conf中设置:

* - nproc unlimited

这将有效地更新帐户和cron限制.但是,这在我的CentOS 6盒子中不起作用.相反,我必须这样做:

@H_596_18@myname1 - nproc unlimited myname2 - nproc unlimited ...

事情按预期工作.也许UID规范适用,但通配符(*)肯定不在这里.奇怪的是,通配符可以用于nofile限制.

我仍然想知道认值实际来自哪里,因为认情况下,这个文件是空的,我看不出为什么我有两个CentOS盒的认值不同,它们具有相同的硬件并来自同一个提供者.

解决方法

这些“认”限制适用于:

> Linux内核在启动时(到init进程),
>继承,来自父进程的限制(在fork(2)时间),
> PAM用户会话打开时(可以替换内核/继承值),
>进程本身(可以替换PAM和内核/继承值,请参阅setrlimit(2)).

普通用户的流程不能超越硬限制.

Linux内核

在引导时,Linux为init进程设置认限制,然后由所有其他(子进程)进程继承.要查看这些限制:cat / proc / 1 / limits.

例如,最大文件描述符数(ulimit -n)的内核认值为1024/1024(软,硬),Linux 2.6.39中为has been raised到1024/4096.

您正在谈论的认最大进程数量约为is limited to

@R_193_10586@l RAM in kB / 128

对于x86架构(至少),但是发行版有时会更改认内核值,因此请检查内核源代码中的kernel / fork.c,fork_init(). “进程数”限制在那里称为RLIMIT_NPROC.

PAM

通常,为了确保登录时的用户身份验证,PAM与一些模块一起使用(请参阅/etc/pam.d/login).

在Debian上,负责设置限制的PAM模块位于:/lib/security/pam_limits.so.

该库将从/etc/security/limits.conf和/etc/security/limits.d/*.conf中读取其配置,但即使这些文件为空,pam_limits.so也可能使用硬编码的值,您可以在源代码.

例如,在Debian上,库has been patched认情况下,最大进程数(nproC)是无限制的,最大文件数(nofilE)是1024/1024:

因此,请检查您的CentOS’PAM模块源代码(查找RLIMIT_NPROC).

但请注意,许多进程不会通过PAM(通常,如果它们不是由登录用户启动的,例如守护进程和cron作业).

大佬总结

以上是大佬教程为你收集整理的默认的ulimit值设置在哪里? (linux,centos)全部内容,希望文章能够帮你解决默认的ulimit值设置在哪里? (linux,centos)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。