关于su: cannot set user id: Resource temporarily unavailable的问题

关于"su:不能切换用户id:资源暂时不可用"的问题

一、问题发生的背景:

在一台测试服务器上搭建一套应用环境,正在做着,当我开启了最后一个程序时,终端突然提示说命令不可用了,无论我做什么动作都直接拒绝。当时以为是这个终端出了问题,于是打算再开一个终端,却再也无法登陆上去了。

我就觉得很奇怪,一开始以为是这台服务器挂了,但是当我去平台查看时发现仍然是正常运转的,只是内存使用率较高。此时登陆的用户是root,而我搭建应用环境用的是普通用户,所以我想通过su命令切换回那个用户,当我执行了这个操作时,如题问题就出现了。

为什么root用户可以正常使用,而其他普通用户就不可以了呢?并且,错误提示是“资源暂时不可用”,是不是因为普通用户做了资源使用限制?因为这个问题是在我开了很多进程之后才出现的,所以有理由这样怀疑。

二、解决问题的思路:

通过上网搜索,了解到了能够控制用户资源的文件一般有两个,一是/etc/profile,二是/etc/security/limits.conf。

先来了解一下这两个文件:

1./etc/profile是环境变量配置文件,可能也有ulimit配置,不过在查看了我自己的后,发现这里并没有做特别的limit限制;

2./etc/security/limits.conf

domain:

是指限制的对象,可以是个人,也可以是组,组前面要加@符号,也可以设置为除root用户外的 任何人,用*号表示;

type:

是指类型,soft是当前系统生效的值,hard是系统可以设置的最大值;

item:

项目,是可以对什么项目做限制,如最大进程数,文件最大值;

value:

值,所设置的值的大小。

疑惑的是,在/etc/security/limits.conf配置文件中可以看到,进程数和打开文件数的最大值,已经开得够大了,可是为什么还会出现这种现象呢?

经过查找,发现Centos6.x版本后,还有一个配置文件对ulimit设置生效,就是/etc/security/limits.d/90-nproc.conf,果然,打开文件后发现,默认最大进程数只有1024,明显是不能满足我搭建应用环境的需求的。于是,把1024改成10240后,再执行su qjzh就成功了。同时,可以看到,对root是unlimited的。

解决这个问题的方法有两个:

1.把无用的进程杀掉;

2.把最大进程限制数调大。

另外,可以使用ulimit命令来临时设置各种资源限制,并且通过  ulimit -a  命令可以查看当前用户的各种限制值的大小。

时间: 2024-12-29 13:17:39

关于su: cannot set user id: Resource temporarily unavailable的问题的相关文章

su: cannot set user id: Resource temporarily unavailable

今天R&D所在主机出现su: cannot set user id: Resource temporarily unavailable资源不可用报错,直接通过其他机器ssh [email protected]时,提示 Write failed: Broken pipe. 进行排查发现机器内存使用已经没有了,进行临时的内存回收操作:sync ; sync 将内存数据刷新到磁盘 echo 3 > /proc/sys/vm/drop_caches 内存释放echo 0 > /proc/sys

cannot set user id: Resource temporarily unavailable

前阵子,Infra报告无法透过putty以及SecureCRT连接到数据库服务器,提示的错误为Resource temporarily unavailable.由于该服务器上有差不多有20个nstance,应该是超出了系统当前设置的值.关于超出资源限制的事之前有碰到过,只不过不是这个错误,而是open files: cannot modify limit: Operation not permitted.下面描述一下关于Resource temporarily unavailable这个错误及其

su切换用户报错cannot set user id: Resource temporarily unavailable

su: cannot set user id: 资源暂时不可用 登录root su - tomcat 报错: cannot set user id: Resource temporarily unavailable tomcat账号突然不可用. 根本原因是:linux操作系统默认最大允许进程数是1024. 随着应用的增加,我们的需求已超过了1024 曾经改过nproc配置: cat >> /etc/security/limits.conf << EOF *           so

RAC环境产生大量ons进程,导致用户进程资源耗尽,用户切换提示Resource temporarily unavailable

基本要素(时间.用户.问题) 用户才实施了LINUX5.8+11.2.0.4的RAC环境,使用一段时间后,当切换的grid用户的时候,提示Resource temporarily unavailable,如下: [[email protected] bin]# su- grid su: cannot set userid: Resource temporarily unavailable 但是我们在切换其他用户如oracle用户的时候,却能够正常切换,并且CRS集群使用正常,客户端的连接和用户的

-bash: fork: retry: Resource temporarily unavailable;centos6.5

Last login: Wed Jun 18 14:04:11 2014 from 1.1.1.135 -bash: fork: retry: Resource temporarily unavailable -bash: fork: retry: Resource temporarily unavailable -bash: fork: retry: Resource temporarily unavailable -bash: fork: retry: Resource temporaril

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)

出现这个问题的原因可能是有另外一个程序正在运行,导致资源被锁不可用.而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况. 解决方法:输入以下命令 sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock 之后再安装想装的包,即可解决 今天玩ubuntu的时候,在弄更新源的时候,突然出现以下错误: [1]+ Stopped                 sudo apt-get update[email pro

Resource temporarily unavailable

数据库版本:5.5.14 操作系统版本:contos 6.3 服务器256G内存,安装90个实例.通过脚本启动90个mysql数据库实例,会有几个实例无法启动,进程启动后直接被杀死.查看mysql日志如下: 140729 10:32:34 [ERROR] Can't create thread to kill server140729 10:46:35 mysqld_safe Starting mysqld daemon with databases from /export/data/mysq

E: 无法获取锁 /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)解决方法

/********************************************************************* * Author  : Samson * Date    : 09/20/2014 * Test platform: *              Linux ubuntu 3.2.0-58-generic-pae *              GNU bash, version 4.2.39 * *****************************

E: 无法获得锁 /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)解决方法

/********************************************************************* * Author  : Samson * Date    : 09/20/2014 * Test platform: *              Linux ubuntu 3.2.0-58-generic-pae *              GNU bash, version 4.2.39 * *****************************