【故障案例】Linux系统root无法通过su切换到某个普通用户问题(报资源暂时不可用问题)(20201126)

故障原因:
原因:Linux系统会限制用户的最大进程数。应用程序占满进程数过后,执行任何命令都会报Resource temporarily unavailable。

一、故障现象

业务报障,某个普通用户不能ssh机器,请求协助排查。

二、排查过程及解决办法

经排查发现,failed to execute /bin/bash: Resource temporarily unavailable(资源暂时不可用)(Linux系统root无法通过su -切换到某个普通用户,但可以su -到其他普通用户):
在这里插入图片描述
在这里插入图片描述
经排查发现计算资源均为发现异常,df -hT命令未发现磁盘有写满等问题;

最后,网上百度搜索发现多个博客,与本次故障情况相似,于是决定采用网上这种方式:

#ulimit命令查看:
ulimit
ulimit -a
在这里插入图片描述
#查看其提供的ftp服务连接数情况
[kkloan@localhost ~]$ netstat -antlp|grep -v tcp6|grep 10.156.43.39:22|grep ESTABLISHED|wc -l
(No info could be read for “-p”: geteuid()=1001 but you should be root.)
5074
由此可见连接数已达5074,而系统默认设置ulimit -a最大仅为1024

解决方式如下:
解决方案1: 增加(Increase nproc value)
默认如下:nproc 值为4096;
egrep -v “$|#” /etc/security/limits.d/20-nproc.conf
在这里插入图片描述
(2)解决方法如下
vim /etc/security/limits.d/20-nproc.conf

  • soft nproc 65535 #将默认值1024改为65535
    root soft nproc unlimited

//nproc:表示max number of processes
//nofile:表示max number of open file descriptors
//hard/soft:soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错。

现在有个问题就是:
假设修改后:(以下是预设结论的)
1.对其他业务是否有影响??;–一般不会,我是改大的;
2.如何生效??–一般默认就生效了;

处理结果如下:(故障已恢复)
在这里插入图片描述
解决方案2:临时解决方案,就是把当前用户使用最大的进程,重启释放一些资源
$ pstree

结束,good luck to you!
在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值