Provides control over the resources available to the shell and to processes started by
it, on systems that allow such control. The -H and -S options specify that the hard or
soft limit is set for the given resource. A hard limit cannot be increased by a non-root
user once it is set; a soft limit may be increased up to the value of the hard limit. If
neither -H nor -S is specified, both the soft and hard limits are set. The value of
limit can be a number in the unit specified for the resource or one of the special values
hard, soft, or unlimited, which stand for the current hard limit, the current soft limit,
and no limit, respectively. If limit is omitted, the current value of the soft limit of
the resource is printed, unless the -H option is given. When more than one resource is
specified, the limit name and unit are printed before the value
ulimit 是用来限制用户在当前会话的资源限制的,若新开一个会话,则用户的会话级资源限制又会回复到默认值。如果要想让用户的资源限制的修改同步到用户的每个限制,有两种做法
- 写入用户家目录的 profile or bashrc 中
- 修改limits.conf
通过 man limits.conf 查看limits.conf 文件介绍
The pam_limits.so module applies ulimit limits, nice priority and number of simultaneous login
sessions limit to user login sessions. This description of the configuration file syntax applies
to the /etc/security/limits.conf file and *.conf files in the /etc/security/limits.d directory.
由此可见,limits.conf 的修改会作用到pam_limits.so ,继而影响所有 login session ,我们使用sudo , 复制会话都会打开一个login session,因此,limits.conf 中nofile 的修改需要慎重,虽然根据man 手册,可以设置值为 -1,unlimited or infinity indicating no limit,但如果设置为-1,则会出现文章之前出现的问题。我这里还只是将nofile的值修改的太大就出现问题。
具体的内核参数的解释可以查看http://man7.org/linux/man-pages/man5/proc.5.html
/proc/sys/fs/file-max
- 操作系统级别的限制,所有进程打开的文件数之和不能超过这个值
/proc/sys/fs/file-nr
- 操作系统级别的参数,查看当前已经打开的文件数以及操作系统允许的最大值
/proc/sys/fs/nr_open
- 查看操作系统打开文件数总和的最大限制 /proc/sys/fs/file-max
- 查看操作系统单个进程打开最大文件数的限制 /proc/sys/fs/nr_open
- 在不超过 nr_open 的情况下修改limits.conf 的 软硬限制
- 若limits.conf 配置的值已经非常趋于 nr_open ,可以将内核参数 nr_open 设置得更大一点,同理,file-max 也需要设置的足够大。
起因:在重启nginx 过程中,发现有报 open file 限制的警告,于是没考虑太多,直接去修改/etc/security/limits.conf修改前* soft nofile 65536* hard nofile 65536修改后* sof...
之前编译安装的LNMP环境+phpmyamdin4.02的版本,今天突然出现这个问题:复制代码 代码如下:Fatal error: session_start(): Failed to initialize storage module: files (path: ) in /data/www/phpmyadmin/libraries/session.inc.php on line 83大致意思是session会话初始化的时候储存路径有误!第一反应就是查看php.ini的配置文件中的:复制代码 代码如下:session.save_path = “/tmp”默认前面是加的分号,表示不启用,我之前
一、修改方法
1.永久生效方法
(1)、修改/etc/security/limits.conf文件 在文件末尾添加如下内容,然后重启服务器或重新登录即可生效。重启后用查看命令进行查看,如果显示数字等于204800即证明修改成功。如果不成功请继续往下看。
修改配置命令:
vim /etc/se...
presto服务挂掉,在重启presto 过程中,发现有报 open file 限制的警告,于是没考虑太多,直接去修改/etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nofile 6553600
* hard nofile 6553600
保存退出,然后过了一段时间,发现节点无法登
使用的是公有云,最近要对k8s版本进行升级,在升级之后发发现从我们的web terminal 进入到容器,
拥有sudo权限的用户无法进行sudo命令,即使使用root通过docker exec 进入到容器,依旧无法sudo
sudo: pam_open_session: Permission denied
sudo: policy plugin failed session initialization
进入到容器中我们查看ulimit -a 如下
core file size
bash: fork: retry resource temporarily unavailable 的报错
用户能够使用的进程数太少和文件描述符太小导致,每一个文件描述符会和一个文件对应,但是很多文件描述符也会和一个文件对应。相同的文件可以被不同的进程打开,也可以被同一个进程打开多次。
一,系统层面的文件描述符
涉及到系统层面的,基本上都是通过修改内核参数来实现的,修改系统中的文件描述符可以通过下面两种方式来实现:
1,/proc/sys/fs/file-max,这个里面记录了系统中可以
Sudo: parse error in /etc/sudoers near line 125
Sudo: no valid sudoers sources found, quitting
Sudo: unable to initialize policy plugin
Sudo:解析第125行附近的 /etc/sudoers 中的错误
Sudo:找不到有效的sudoers来源,正在退出
Sudo:无法初始化
limits.conf文件限制着用户可以使用的最大文件数,最大线程,最大内存等资源使用量。
最近在测试环境部署hadoop集群和elastic集群,因此需要对limits.conf文件进行修改。
vim /etc/security/limits.conf
* soft nofile 1048576
* hard nofile 1048576
* soft mem...
正常情况下, /etc/security/limits.conf 的改动,重新登录就可以生效, 我遇到的问题最后的解决方案是重启虚拟机解决了,也参考了很多网上的文章,整理记录一下。
一、修改方法
1.临时方法
为了优化linux性能,可能需要修改这个最大值。临时修改的话ulimit -n 204800就可以了,重启后失效。
2.永久生效方法
(1)、修改/etc/security/limits.conf文件 在文件末尾添加如下内容,然后重启服务器或重新登录即可生效。重启后用查看命令进行查看,如果显示数字.
使用zabbix调用系统命令,检查时间同步,发现一直在报错,root 用户执行无异常,问题还是出现zabbix用户上面。
[zabbix@test-10-12 ~]$ sudo ntpdate time.test.com
sudo: pam_open_session: System error
sudo: policy plugin failed session initi...