文件是Linux系统中的一切事物的存在形式,计算机中的数据和硬件都是通过文件的形式进行管理,Linux的文件主要有普通文件、文件夹、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等类型,Linux 中的各种事物比如像文档、文件夹、键盘、监视器、硬盘、可移动媒体设备、打印机、调制解调器、虚拟终端等等都是定义在文件系统空间下的字节流。
因此在Linux系统上的web程序,在进行TCP连接时,系统为每个TCP连接创建一个socket句柄,而每个句柄也是一个文件句柄,所以web程序对文件的操作情况,是影响到服务器性能的重要指标,像网站在高流量高并发的场景下出现"Too many open files"的异常就是因为打开的文件数超过限制,而程序中对资源(包括图片、音视频资源)、网页、以及接口的请求在Linux系统里的表现为对文件的访问,如果打开文件数超出了系统限制(系统级和用户级)的数量,就会拒绝接下来的文件访问
当前用户级的文件数限制,可以通过 ulimit -n 来查看,如图:
而系统级别的文件数限制,则通过sysctl -a来查看,如下图:
一般系统***文件数会根据硬件资源计算出来的,如果强行需要修改***打开文件数可以通过ulimit -n 10240来修改,当这种方式只对当前进程有效,如果需要***有效则需要修改/etc/security/limits.conf(重启系统生效),如下图:
其中:
root :指定用户,如对所有用户,则写 *
soft:软限制
hard:硬件限制
nofile 是代表***文件打开数
除此之外,下面是一些打开文件数操作相关的指令,仅供参考:
1、查看所有进程的文件打开数:
- lsof |wc -l
2、查看某个进程打开的文件数:
- lsof -p pid |wc -l
3、查看系统中各个进程分别打开了多少句柄数:
- lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
在近期召开的中共中央政治局常务委员会会议上,中央明确提出要加快5G网络、数据...
液体冷却曾主要用于大型机和超级计算机,现在开始可用于企业数据中心。我们看到...
决策支持系统是商业智能的一个子集,旨在帮助组织机构基于大量的数据分析来制定...
大多数公司都面临着这样一个时刻:数字化转型将成为其高管们的首要任务。通常,...
1.比起怒骂,沉默才是最彻底的失望 2.因为有了因为,所以有了所以。既然已成既...
Redis的三种集群方式概述 1、主从复制 原理 从服务器连接主服务器,发送SYNC(同...
随着存储行业专家对2020年的展望,大多数分析师预计数据存储市场将比2019年发展...
前言 本文的内容将专门对付内存管理,培养起有借有还的好习惯,方可消除资源管理...
服务器托管和服务器租用是现在比较常见的一种服务期使用形式,有些不太了解这方...
【51CTO.com快译】传统上,衡量数据中心的电力容量通常是由其最大IT负载或输入电...