066-生产环境su: failed to execute /bin/bash: Resource temporarily unavailable

 事件过程:接到应用同事电话,说应用帐户登录不上去bash

事件解决过程:登录机器,排查内存,磁盘问题,sshd 服务帐户,切应用用户报错。session

 

[root@sjdubbo4-a-szzb security]# su - vkapp
Last login: Fri Dec 15 10:15:59 CST 2017 on pts/1
su: failed to execute /bin/bash: Resource temporarily unavailable

 

编辑文件  vi /etc/security/limits.d/20-nproc.confapp

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     4096     #### 把4096改成65535    
root       soft    nproc     unlimited

 

 

/etc/security/ limits.conf的格式以下:ssh


username|@groupname       type        resource          limitide

* soft noproc 65535
* hard noproc 65535
* soft nofile 65535
* hard nofile 65535
vkapp soft noproc 65535
vkapp hard noproc 65535
vkapp soft nofile 65535
vkapp hard nofile 65535
# End of file

username|@groupname:设置须要被限制的用户名,组名前面加@和用户名区别。也能够用通配符*来作全部用户的限制。大数据

type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 代表系统中所能设定的最大值。soft 的最大值不能超过hard的值。用 – 就代表同时设置了 soft 和 hard 的值。ui

resource:
core – 限制内核文件的大小
date – 最大数据大小
fsize – 最大文件大小
memlock – 最大锁定内存地址空间
nofile – 打开文件的最大数目
rss – 最大持久设置大小
stack – 最大栈大小
cpu – 以分钟为单位的最多 CPU 时间
noproc – 进程的最大数目
as – 地址空间限制
maxlogins – 此用户容许登陆的最大数目code

要使 limits.conf 文件配置生效,必需要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
session required /lib/security/pam_limits.so进程

 

ulimit   [-acdfHlmnpsStvw]    [size]事件

参数详解:

-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前全部的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置建立文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置能够使用的常驻内存的最大值.单位:kbytes
-n size:设置内核能够同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes

在/etc/profile文件末尾加上如ulimit    -f    1000,这样每一个会话登录时都会生效。

 

继续切换应用帐户,恢复。

若是还不行 运行 ulimit -a  查看参数,得出结论

相关文章
相关标签/搜索