首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解Linux文件句柄限制的差异

问理解Linux文件句柄限制的差异
EN

Server Fault用户
提问于 2017-06-29 03:05:21
回答 1查看 578关注 0票数 0

据我了解,Linux中有两个限制(文件句柄)

  1. 在一个过程层面上。这是由/etc/security/limits.conf文件控制的。我把这个调到64k了

  1. 在系统层面。这可以在/proc/sys/fs/file-nr上查看

尽管有这种配置,但我的文件句柄已经用完了。除了定期监视文件/proc/sys/fs/file-nr之外,还有其他方法来判断故障的原因是在进程级别还是在系统级别?

EN

回答 1

Server Fault用户

发布于 2017-06-29 09:02:21

这是一个程序的大量打开文件。首先,我会检查程序本身是否有故障。打开文件后是否正确关闭文件?

检查运行程序的用户是否对进程没有软限制:

代码语言:javascript
复制
$ ulimit -Sn
1024

使用lsof,您可以看到进程的所有打开文件。

代码语言:javascript
复制
lsof -p <PID>

也改变了系统的宽限制。它们在/etc/sysctl.conf (fs.file-max )中,它将是永久的。

要查看当前的限制:

代码语言:javascript
复制
cat /proc/sys/fs/file-max
1624748

或

代码语言:javascript
复制
# sysctl fs.file-max
fs.file-max = 1624748

若要更改系统范围的限制,将在重新启动后消失。

代码语言:javascript
复制
# sysctl -w fs.file-max=2000000
fs.file-max = 2000000
# sysctl fs.file-max
fs.file-max = 2000000# 
cat /proc/sys/fs/file-max
2000000
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/858481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档