[httpd][daily] 查看并修改httpd的最大fd打开个数limit
重要提示: 请直接阅读步骤(6),如果不生效,再回头阅读(1)-(5)。
如题:
修改这个文件就行了:/etc/security/limits.conf
查看当前配置的方法:
1. 找到httpd的pid(中间那三个apache的)
[root@server-tong- ~]# ps -ef |grep httpd
root : ? :: /usr/sbin/httpd -DFOREGROUND
apache : ? :: /usr/sbin/httpd -DFOREGROUND
apache : ? :: /usr/sbin/httpd -DFOREGROUND
apache : ? :: /usr/sbin/httpd -DFOREGROUND
apache : ? :: /usr/sbin/httpd -DFOREGROUND
root : pts/ :: grep --color=auto httpd
2. 查看这几个进程当前使用的值
[root@server-tong- ~]# cat /proc//limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size unlimited bytes
Max core file size unlimited bytes
Max resident set unlimited unlimited bytes
Max processes processes
Max open files files
Max locked memory bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals signals
Max msgqueue size bytes
Max nice priority
Max realtime priority
Max realtime timeout unlimited unlimited us
3. 查看系统允许修改的最大值,以及用户名
[root@server-tong- ~]# cat /etc/shadow |grep apa
apache:!!:::::::
[root@server-tong- ~]# cat /proc/sys/fs/nr_open
查到,limit可以使用的最大值是1048576,用户名是apache
另外,需要提到的一点,我曾经尝试直接将这个值设置成unlimited, 结果导致了root无法登录。【大哭~~】,后来想办法进去之后,查看到报错如下:【tag:修改limit.conf之后 ssh失败 root无法登录 OS无法登录】
Dec :: server-tong- login: pam_limits(login:session): Could not set limit for 'nofile': Operation not permitted
Dec :: server-tong- login: pam_unix(login:session): session opened for user root by LOGIN(uid=)
Dec :: server-tong- login: Permission denied
Dec :: server-tong- login: pam_limits(login:session): Could not set limit for 'nofile': Operation not permitted
Dec :: server-tong- login: pam_unix(login:session): session opened for user root by LOGIN(uid=)
Dec :: server-tong- login: Permission denied
Dec :: server-tong- login: pam_limits(login:session): Could not set limit for 'nofile': Operation not permitted
Dec :: server-tong- login: pam_unix(login:session): session opened for user root by LOGIN(uid=)
Dec :: server-tong- login: Permission denied
Dec :: server-tong- login: pam_unix(login:auth): check pass; user unknown
Dec :: server-tong- login: pam_unix(login:auth): authentication failure; logname=LOGIN uid= euid= tty=tty1 ruser= rhost=
Dec :: server-tong- login: FAILED LOGIN FROM tty1 FOR (unknown), User not known to the underlying authentication module
Dec :: server-tong- login: pam_limits(login:session): Could not set limit for 'nofile': Operation not permitted
Dec :: server-tong- login: pam_unix(login:session): session opened for user root by LOGIN(uid=)
Dec :: server-tong- login: Permission denied
Dec :: server-tong- crond[]: pam_limits(crond:session): Could not set limit for 'nofile': Operation not permitted
Dec :: server-tong- crond[]: pam_limits(crond:session): Could not set limit for 'nofile': Operation not permitted
Dec :: server-tong- sshd[]: Received signal ; terminating.
4. 准备就绪后,我们现在来修改limit.conf文件吧!追加两行配置如下,并重启OS
[root@server-tong- ~]# tail -n3 /etc/security/limits.conf
apache hard nofile
apache soft nofile
# End of file
[root@server-tong- ~]#
5. 用2中的方法查看修改是否成功。
结果,令人尴尬的是,这个修改并不好使。。。。。
为什么呢? 因为我使用systemctl来管理httpd服务的启动的。所以当使用systemctl来start的时候,并不生效。但是手动执行/usr/bin/httpd是生效的。
这个时候我们需要步骤六,来搞定这一切
6. 修改 httpd.service文件
在 [Service] 章节增加如下一行:
LimitNOFILE=
重启服务。
详见:https://fredrikaverpil.github.io/2016/04/27/systemd-and-resource-limits/
更值得注意的一件事情是什么呢?
这里边,1到5的步骤都是可以省略的,直接改第六步就可以生效了。
完!
[httpd][daily] 查看并修改httpd的最大fd打开个数limit的更多相关文章
- 修改httpd端口
修改httpd端口 默认httpd端口为80,现在改成800 修改两个地方: 1.修改配置文件httpd.conf listen 把80改成需要的端口 2.修改配置文件httpd-vhosts.con ...
- CentOS时间的查看与修改
[http://www.centoscn.com/CentOS/help/2014/0805/3430.html] 1.查看.修改Linux时区与时间 一.linux时区的查看与修改 1,查看当前时区 ...
- 【转】linux查看及修改文件权限以及相关
linux查看及修改文件权限以及相关 查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有 ...
- linux文件权限查看及修改(实用)
查看Linux文件的权限:ls -l 文件名称 查看linux文件夹的权限:ls -ld 文件夹名称(所在目录) 修改文件及文件夹权限: sudo chmod -(代表类型)×××(所有者)×××(组 ...
- JavaWeb 学习006-4个页面,5条sql语句(添加、查看、修改、删除)
今天遇到的问题: 1. 在list页面上添加信息时候,跳转到doAdd页面后,点击保存按钮,能够跳转回list页面,但是新增的信息不能显示出来,就像是没有执行添加操作一样. 这是什么问题? ①是不是到 ...
- linux查看和修改当前系统时间
一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" ...
- MySQL系列:查看并修改当前数据库的编码
MySQL中,数据库的编码是一个相当重要的问题,有时候我们需要查看一下当前数据库的编码,甚至需要修改一下数据库编码. 查看当前数据库编码的SQL语句为: mysql> use xxx ...
- java笔记--查看和修改线程名称
查看和修改线程名称 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3893797.html "谢谢-- java是一种允许 ...
- java笔记--查看和修改线程的优先级
查看和修改线程的优先级 java中每一个线程都有优先级属性,在默认情况下,新建的线程的优先级与创建该线程的线程优先级相同.每当线程调度器选择要运行的线程时,通常选择优先级较高的线程. 注:线程的优先级 ...
随机推荐
- selenium面试题总结
2017年7月17日更新:已经更新部分答案 答案链接 今天有同学问到seleinum面试的时候会问到的问题,随便想了想,暂时纪录一下.欢迎大家在评论中提供更多问题. 去哪儿的面试题 selenium中 ...
- 关于python协程中aiorwlock 使用问题
最近工作中多个项目都开始用asyncio aiohttp aiomysql aioredis ,其实也是更好的用python的协程,但是使用的过程中也是遇到了很多问题,最近遇到的就是 关于aiorwl ...
- Python 简单入门指北(一)
Python 简单入门指北(一) Python 是一门非常容易上手的语言,通过查阅资料和教程,也许一晚上就能写出一个简单的爬虫.但 Python 也是一门很难精通的语言,因为简洁的语法背后隐藏了许多黑 ...
- 【小工具】根据定义的白名单字段进行Bean的拷贝
背景 Bean的拷贝一直有一些类可以使用,比如Apache的org.apache.commons.beanutils.BeanUtils或者Spring的org.springframework.bea ...
- python用matplotlib画折线图
折线图: import matplotlib.pyplot as plt y1=[10,13,5,40,30,60,70,12,55,25] x1=range(0,10) x2=range(0,10) ...
- 【iCore1S 双核心板_ARM】例程十七:FSMC实验——读写FPGA
实验现象: 先烧写FPGA程序,再烧写ARM程序,ARM程序烧写完毕后即开始读写RAM测试,测试成功,绿色ARM·LED亮,测试失败,红色ARM·LED闪烁. 核心代码: int main(void) ...
- 从零开始搭建FAQ引擎--深度语义匹配
从零开始搭建FAQ引擎--深度语义匹配
- java改单个插入为批量插入
单条insert into table value() 13W数据需要执行7小时 变成inert into table value(),(),(),(),() inert into table val ...
- 浅从System.Web.Http.Owin的HttpMessageHandlerAdapter看适配器模式
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.写在前面 适配器模式(Adapter) 可用来在现有接口和不兼容的类之间进行适配.有助于 ...
- tensorflow简单记录summary方法
虽然tf官方希望用户把 train , val 程序分开写,但实际开发中,明显写在一起比较简单舒服,但在保存数据到 summary 时, val 部分和 train 部分不太一样,会有一些问题,下面讨 ...