linux打开文件数量问题

too many open files

出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值。

查看每个用户最大允许打开文件数量

ulimit -a

fdipzone@ubuntu:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

其中 open files (-n) 1024 表示每个用户最大允许打开的文件数量是1024

查看当前系统打开的文件数量

lsof | wc -l
watch "lsof | wc -l"

查看某一进程的打开文件数量

lsof -p pid | wc -l
lsof -p 1234 | wc -l

设置open files数值方法

ulimit -n 2048

fdipzone@ubuntu:~$ ulimit -n 2048
fdipzone@ubuntu:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 2048
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

这样就可以把当前用户的最大允许打开文件数量设置为2048了,但这种设置方法在重启后会还原为默认值。

永久设置方法

vim /etc/security/limits.conf
在最后加入
* soft nofile 4096
* hard nofile 4096

最前的 * 表示所有用户,可根据需要设置某一用户,例如

fdipzone soft nofile 8192
fdipzone hard nofile 8192

改完后注销一下就能生效。

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索memory
, 文件
, file
, 用户
, size
, 文件数量
数量
linux 文件打开数量、linux 文件数量、linux 查看文件数量、linux 文件数量统计、linux 文件数量限制,以便于您获取更多的相关知识。

时间: 2024-09-08 08:04:25

linux打开文件数量问题的相关文章

Linux文件共享(一)——进程与打开文件

Linux支持在不同进程间共享打开文件.为了说明文件共享,先来说明内核用于所有I/O的数据结构. 他们之间的关系决定了在文件共享方面一个进程对另一个进程可能产生的影响. 0.1和文件有关的对象 (1) inode(i节点): 保存一个文件的通用信息,每个inode有一个inode number,在文件系统中,一个inode number能够唯一地标识一个文件. (2) dentry(目录项对象):每个dentry代表路径中的一个特定部分.保存一个目录的链接信息.个人理解:描述一个文件和一个名字的

《Linux系统编程(第2版)》——第2章 文件I/O 2.1打开文件

第2章 文件I/O 本章以及后续的3个章节将介绍文件相关的内容.UNIX系统主要是通过文件表示的,因此这些章节的探讨会涉及UNIX系统的核心.本章介绍了文件I/O的基本要素,详细阐述了最简单也是最常见的文件交互方式--系统调用.第3章基于标准C库描述标准I/O,第4章继续探讨更高级和专业的文件I/O接口.第8章以文件和目录操作为主题结束了文件相关的探讨. 在对文件进行读写操作之前,首先需要打开文件.内核会为每个进程维护一个打开文件的列表,该列表称为文件表(file table).文件表是由一些非

如何在Linux系统上显示当前及子目录中的文件数量

在本指南中,我们将介绍如何在 Linux 系统上显示当前工作目录或任何目录及其子目录中的文件数量. 我们将使用 find 命令,它用于搜索目录层次结构中的文件,以及 wc 命令,它会打印每个文件或来自标准输入的换行符.单词和字节计数. 以下是我们在 find 命令中使用的选项,如下所示: -type - 指定要搜索的文件类型,在上面的情况下,f 表示查找所有常规文件. -print - 打印文件绝对路径. 以下是我们 wc 命令中使用的选项,如下所示: -l - 此选项打印换行符的总数,也即由

linux查看文件夹大小、文件个数的方法

linux 下查看文件个数及大小 ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某文件夹下文件的个数,包括子文件夹里的. ls -lR|grep "^-"|wc -l 查看某文件夹下文件夹的个数,包括子文件夹里的. ls -lR|grep "^d"|wc -l 说明: ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录.链接.设备文件等) gr

打开方式 自定义-如何利用快捷键打开文件

问题描述 如何利用快捷键打开文件 我的实际问题: 我想用txt打开html文件,现在我发现自己最快只能通过右键"用记事本打开"的方式,但是我认为这样太慢了,是否有更加快捷的方式(譬如直接按键盘ctrl+enter)就行? 我想我貌似没有说清楚,我要的效果是:在不使用其他软件的基础上,可以随时用txt或html任一方式打开,一方面可以编辑,一方面可以看效果. 拓展问题: 有没有一种方法自定义快捷键,在可以用任意方式打开任意文件的基础上更快更强,创造属于我们自己的世界^_^ ps:我的是w

Linux下文件分发的算法设计及C代码实现

需求描述 在Linux系统的某个源目录中有一批后缀相同的文件,编写程序将这些文件按照前缀分发到不同的目录中. 例如,源目录SourceDir中存放有三个后缀相同的文件File1_1.txt.File2_1.txt和File3_1.txt,按照前缀File1_.File2_和File3_将它们分别移动(分发)到目录FileDir1.FileDir2和FileDir3中. 算法设计 基于需求,可以采用如图1所示的程序流程: 图1 程序总体流程 特殊流程考虑 在编写程序的过程中,对于某些特殊流程的考虑

代码-fopen 打开文件失败 求教

问题描述 fopen 打开文件失败 求教 嵌入式linux ,我有一个进程reload ,里面不断去读取一些文件,但开机大概一个里后,就总是出错代码如下: fp = fopen("/proc/gpio","r"); if(fp) { .............. fclose(fp); } else printf("open gpio file error!"); 求教 fopen打开文件不成功的原因有哪些? 解决方案 查看具体错误信息,被占用或

文件读写-Java项目部署在Linux下文件写入的问题

问题描述 Java项目部署在Linux下文件写入的问题 一个java项目在windows下文件读写都没有问题,但是部署在Linux下的时候写入文件时有问题. 是要编辑一个文件,先打开了这个文件把里面的内容读出来,然后编辑,完了之后保存,如果打开编辑的时间超过了20秒,保存的时候就保存不上,也没有什么错误信息,如果不超过20秒,就可以保存成功.不是session的问题,session设置了30分钟.求各路大神前来指教啊 解决方案 你好,不知道你描述的问题还是我理解能力有所差异. 具我理解你的问题,

如何清理 Ubuntu 14.04 的最近打开文件历史列表

如何清理 Ubuntu 14.04 的最近打开文件历史列表 这个简明教程对Ubuntu 14.04历史文件清理进行了说明,它用于初学者. 要从dash搜索删除历史记录,请遵循以下程序. 转到系统设置(System Settings)并打开安全与隐私(Security & Privacy). 在文件与应用(Files and Applications)标签下,点击清除用户数据(Clear Usage Data). 你也可以关闭"记录文件与应用使用(Record file and Appli