发现,设置ulimit 值的时候,没有指定-H或者-S,两个限制都会设定相同的值。
现在的问题是,如果退出登录或者重新启动计算机,该值将被重置。请记住,要使生效,需要编辑用户的.bashrc或者.bash_profile配置文件,通过将ulimit命令行添加到文件的末尾,可以使参数生效。
[root@localhost~]#echo"ulimit-n2048">>~/.bashrc
<以上代码可复制粘贴,可往左滑>

方法二:使用PAM模块
最好通过名为pam_limits的PAM模块实现这种限制。需要通过编辑/etc/security/limits.conf文件来配置它。这个文件包含四个基本字段:
domain:描述了在哪些实体中应用限制。它可以是user、group(组名前面加@表示组)或匹配所有用户,使用(*)通配符。通配符不适应与root用户。
type:这里表示限制为硬限制还是软限制?硬限制是由系统管理员添加的,在任何情况下都不能超过,而用户可以临时超过软限制。还可以使用破折号-来表示一个限制是硬的和软的。请注意,软限制可以增加到硬限制的值
type:它指定被限制条目的类型。可以是core(限制核心文件大小(KB)),data(最大数据大小(KB)),fsize(最大文件大小(KB)),nofile(打开的文件描述符的最大数目),nproc(最大进程数),等类型。更多类型可以使用man limits.conf查看。
type: 这里使填写应用限制的数值。
下面实例可以对照了解一下。
[root@localhost~]#tail-12/etc/security/limits.conf
#
#
#*softcore0
#*hardrss10000
#@studenthardnproc20
#@facultysoftnproc20
#@facultyhardnproc50
#ftphardnproc0
#@student-maxlogins4
#Endoffile
<以上代码可复制粘贴,可往左滑>

要编辑所有用户打开文件的最大数量,可以在文件末尾添加以下行:
[root@localhost~]#vim/etc/security/limits.conf
*hardnofile20000
*softnofile15000
<以上代码可复制粘贴,可往左滑>

之后,需要编辑文件/etc/pam.d/login配置文件,在最后添加以下一条内容:
[root@localhost~]#vim/etc/pam.d/login
sessionrequiredpam_limits.so
<以上代码可复制粘贴,可往左滑>
