max-file 表示系统级别的能够打开的文件句柄的数量。是对整个系统的限制,并不是针对用户的。
ulimit -n 控制进程级别能够打开的文件句柄的数量。提供对shell及其启动的进程的可用文件句柄的控制。这是进程级别的。

对于服务器来说,file-max和ulimit都需要设置,否则会出现文件描述符耗尽的问题。
一般如果遇到文件句柄达到上限时,会碰到"Too many open files"或者Socket/File: Can’t open so many files等错误。

为了让服务器重启之后,配置仍然有效,需要用永久生效的配置方法进行修改。
max-file:

查看系统级别的能够打开的文件句柄的数量,Centos7默认是794168
#cat /proc/sys/fs/file-max

794168

系统级打开最大文件句柄的数量永久生效的修改方法,修改文件,文件末尾加入配置内容:
#vim /etc/sysctl.conf

fs.file-max = 2000000

然后执行命令,使修改配置立即生效:
#sysctl -p

ulimit:

查看用户进程级的能够打开文件句柄的数量,Centos7默认是1024
这里设置的是当前shell的当前用户的打开的最大限制,如果当前用户打开多个shell,则每个shell都能打开该最大值

#ulimit -n

1024

进程级打开文件句柄数量永久生效的修改方法,修改文件,文件末尾加入配置内容:
这里限制一个用户的所有shell能打开的最大数:

#vim /etc/security/limits.conf

  • soft nofile 65535

  • hard nofile 65535

修改以后,需要重新登录才能生效。

如果需要设置当前用户session立即生效,还需要执行:

#ulimit -n 65535

对于服务器,一般修改进程级的最大打开文件句柄数即可(系统默认1024,有点小)。一般不需要调整系统级的最大数。
如果出现了达到系统级别最大限制时,也需要同步调整系统级的最大数的。

linux 中数据的含义 /proc/sys/fs/file-nr

[root@localhost logs]# cat /proc/sys/fs/file-nr
2112                                           0                             2100000

已分配文件句柄的数目     已使用文件句柄的数目      文件句柄的最大数目

转载于:https://blog.51cto.com/13718210/2359978

Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别的更多相关文章

  1. 设置Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别

    max-file 表示系统级别的能够打开的文件句柄的数量.是对整个系统的限制,并不是针对用户的. ulimit -n 控制进程级别能够打开的文件句柄的数量.提供对shell及其启动的进程的可用文件句柄 ...

  2. linux /proc/sys/fs/file-nr /proc/sys/fs/file-max /etc/security/limits.conf 三者的关联

    ulimit -n 对应 /etc/security/limits.conf 文件设置 问题: Can’t open so many files 对于linux运维的同学们,相信都遇到过这个问题. 在 ...

  3. /proc/sys/fs/file-max

    Linux的/proc/sys/fs/file-max决定了当前内核可以打开的最大的文件句柄数. 查看当前的值: cat /proc/sys/fs/file-max 这个值在kernel的文档里是这样 ...

  4. 查询修改linux 打开文件句柄数量

    查询系统支持最大可打开文件句柄数量: #vi /proc/sys/fs/file-max 查询当前连接用户最大可打开文件句柄数量: #ulimit -a 修改当前连接用户最大可打开文件句柄数量: #u ...

  5. stuff in /proc/sys/fs/

    This subdirectory contains specific file system, file handle, inode, dentry and quota information. 1 ...

  6. Difference between ulimit, lsof, cat /proc/sys/fs/file-max

    https://unix.stackexchange.com/questions/476351/difference-between-ulimit-lsof-cat-proc-sys-fs-file- ...

  7. Linux打开文件设置

    在某些情况下会要求增加Linux的文件打开数,以增加服务器到处理效率,在Linux下查看最多能打开的文件数量为: cat /proc/sys/fs/file-max 然后设置ulimit -n 文件数 ...

  8. 网络编程中TCP基础巩固以及Linux打开的文件过多文件句柄的总结

    1.TCP连接(短链接和长连接) 什么是TCP连接?TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议. 当网络通信 ...

  9. linux设置打开文件句柄数

    介绍 在Linux下有时会遇到Socket/File : Can't open so many files的问题.其实Linux是有文件句柄限制的,而且Linux默认一般都是1024(阿里云主机默认是 ...

随机推荐

  1. vue渲染src

  2. 1098 Insertion or Heap Sort (25分)

    According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...

  3. Redis 笔记(五)—— HASH 常用命令

    添加和删除键值对的散列操作 命令 用例和描述 HMGET HMGET key-name key [key ...] —— 从散列里面获取一个或多个键的值 HMSET HMSET key-name ke ...

  4. Python Count函数的应用

    Python Count函数的应用 通过LeetCode Origin:https://leetcode-cn.com/problems/robot-return-to-origin/ 学会了Pyth ...

  5. Java调用ARM模板执行Azure Rest建立VM过程

    Azure Resource Manager 提供一致的管理层,用于管理通过 Azure PowerShell.Azure CLI.Azure 门户.REST API 和开发工具执行的任务,所有工具使 ...

  6. 大O表示法是什么?

    1.什么是大O表示法: 1.在算法描述中,我们用这种方式来描述计算机算法的效率. 2.在计算机中,这种粗略的量度叫做 "大O" 表示法. 3.在具体的情境中,利用大O表示法来描述具 ...

  7. python 面向对象反射以及内置方法

    一.反射 什么是反射:可以用字符串的方式去访问对象的属性,调用对象的方法(但是不能去访问方法),python中一切皆对象,都可以使用放射. 反射的四种方法: hasattr:hasattr(objec ...

  8. 路由与交换,cisco路由器配置,基础知识点(二)

    1.进退用户/特权/全局模式 (1)从用户模式进入特权模式 enable (2)从特权模式进入全局配置模式 configure terminal (3)从其他模式回到特权模式 end (4)从特权模式 ...

  9. C语言数据结构队列

    #include<stdio.h>#include<stdlib.h>struct Node { int data;  Node *next;};struct Queue { ...

  10. javascript入门 之 ztree(五 自定义字体)

    <!--<!DOCTYPE html>--> <!--<HTML>--> <!--<HEAD>--> <!--<TI ...