Linux上修改open files数目
Linux系统上默认的open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够。
用 ulimit -a 命令可以查看 系统对各种参数的限制;
# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 257648
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 4096
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
由上面可以知道 open files 当前限制为 4096,ok,我们可以修改稍微大一点;
当你把open files的值增大到一定程度,你的Too many open files就不会再出现了。
修改方法:
(1)ulimit -HSn 102400
这只是在当前终端有效,退出之后,open files 又变为默认值。
(2)将ulimit -HSn 102400写到/etc/profile中,因为每次登录终端时,都会自动执行/etc/profile。
(3)令修改open files的数值永久生效,则必须修改配置文件:/etc/security/limits.conf. 在这个文件后加上:
* soft nofile 102400
* hard nofile 102400
这种方法需要重启机器才能生效。
(4)为了让一个程序的open files数目扩大,可以在启动脚本前面加上(1)中的命令。当程序是一个daemon时,可能这种方法无效,没有终端了。
影响open files数值的还有一个内核参数file-max,这是Linuxt系统的总限制。可以通过如下文式查看:
cat /proc/sys/fs/file-max
或者
sysctl -a | grep fs.file-max
对于服务器可以采用如下方法修改file-max:
(1)重启机器后恢复为默认值
echo 34166 > /proc/sys/fs/file-max
或者
sysctl -w "fs.file-max=34166"
(2)修改配置文件/etc/sysctl.conf, 在最后加上一行:
fs.file-max = 34166
然后sysctl -p 生效 或者 重启机器以后永久生效。
转载于:https://blog.51cto.com/very1024/1134327
Linux上修改open files数目相关推荐
- linux elf命令,实战:Linux上修改ELF文件的方法
7zip/bin/7za x -y -bd "-o/temp/94ac6fe8-1a16-43d8-8fa9-c4e2f2bd0445" "/downloadedPack ...
- linux上修改html,linux进程名修改
如何修改 Linux 中的进程名 在编写网络服务器程序时,为了响应客户端的请CSS布局HTML小编今天和大家分享,我们经常需要新建进程来处理业务流程:而且又是为了关闭某个非法请CSS布局HTML小编今 ...
- 怎么在linux上修改mysql端口映射_如何在Linux中更改默认的MySQL / MariaDB端口
在本指南中,我们将学习如何更改MySQL / MariaDB数据库在CentOS 7和基于Debian的Linux发行版中绑定的默认端口. MySQL数据库服务器在Linux和Unix下运行的默认端口 ...
- linux上修改ssh密码和mysql密码
修改ssh密码 sudo passwd root 修改mysql密码 方法1: 用SET PASSWORD命令 mysql -u root -p mysql> SET PASSWORD FOR ...
- Linux设置密码dictionary,Linux中修改密码出现it is based on a dictionary word解决方法
用passwd修改用户密码,常常提示"BAD PASSWORD: it is based on a dictionary word".实际上linux要求的密码验证机制是在/etc ...
- linux修改open files:ulimit、file-max
linux修改open files:ulimit.file-max linux系统默认的open files 为1024 ,如果程序报错 too many open files错误,就是因为open ...
- 2021-09-02 linux修改open files数
概要: linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够.这就需要修改ulimit和file- ...
- 如何用golang获取linux上文件的访问/创建/修改时间
在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat. 在golang的os包里已经把stat封装成了Stat函数,使用它比使用syscall要方便不少. 这是os.Stat的 ...
- boa linux arm修改网卡,Boa服务器在ARM+Linux上的移植
Boa服务器在ARM+Linux上的移植 一.Boa服务器介绍 Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右. 作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会 ...
- Linux修改open files数
原起 1.Linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够. 2.压力测试防止open fil ...
最新文章
- 面向对象设计模式纵横谈:Singelton单件模式(笔记记录)
- python中requests库的用途-python中requests.session的妙用
- 2021-03-04 Halcon初学者知识 【18】谈谈秩滤波(Rank filter)
- Longest Substring Without Repeating Characters
- JAVA——使用Spring Boot Scheduled时注入simple-robot Bot解决方案
- MySQL复习资料(八)——MySQL-事务
- java中的lombok_如何在Java中使用Lombok删除样板设置器吸气剂
- CSS常用的选择器和优先级的权重问题
- Git - Pull Request工作流
- 程序员是否应该创造面向 IDE 而非人类的编程语言?
- Java基础知识框图总结
- 微软:将向安卓和苹果iOS平台推出杀毒软件Defender
- 咸鱼ZTMR实例—PS2手柄
- 微信公众号网页开发测试环境搭建
- css防爆电机,防爆马达
- 自己动手开发编译器(三)有穷自动机
- win7磁盘清理_Win7系统使用久变慢怎么办?Windows7系统优化方法
- TortoiseSvn文件夹及文件图标不显示
- C语言/实现MD5加密
- 运行时服务(二)、warnings模块
热门文章
- Linux内存映射实现框架
- (六)洞悉linux下的Netfilteriptables:如何理解连接跟踪机制?(2)
- P-Associated-URI处理流程
- MESSAGE消息发送失败
- Dos系统功能调用表9号功能
- 脚注交叉引用序号不一样_著作权合理使用制度之“适当引用”的界定
- mysql 优化 整体思路
- linux服务器上使用apache部署静态html网页
- linux c 读txt文件内容,如何利用C/C++逐行读取txt文件中的字符串
- linux禁止root用户远程登录,linux禁止root用户远程登录