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  查看參數,得出結論

相關文章
相關標籤/搜索