本文主要是介绍Linux笔记(70)——文件描述符之ulimit命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当进程打开现有文件或创建新文件时,会受到文件描述符的限制。
Linux系统中经常出现错误too many open files
,说明你打开的文件数量超过文件描述符的限制。
查看文件描述符大小:
[root@centos7-190:mysql]$ ulimit -n
1024
修改文件描述符大小:
方法1,只对当前session有效:
ulimit -HSn 62235
方法2,永久有效:
在/etc/security/limits.conf加入
* - nofile 65535
内核参数对文件描述符也有限制,文件描述符的值不能大于内核的限制。
查看内核参数中文件描述符的值
[root@centos7-190:mysql]$ sysctl -a | grep file-max
fs.file-max = 1024
修改内核参数:
sysctl -w fs.file-max=65535
在实际开发中,如果你的应用出现“too many open files”的错误,要优先考虑你的程序中是否有打开过多文件而没有及时释放资源,其次再考虑修改文件描述符和系统内核参数。
我们可以使用lsof命令查看某个进程到底打开了多少个文件
lsof -p 进程号
这篇关于Linux笔记(70)——文件描述符之ulimit命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!