当前位置: 首页 > 科技观察

Linux服务器性能的重要指标:打开文件数的限制

时间:2023-03-13 18:07:24 科技观察

Linux服务器性能的一个重要指标:打开文件数量的限制文件夹、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等类型,Linux中的各种东西如文档、文件夹、键盘、监视器、硬盘、可移动媒体设备、打印机、调制解调器、虚拟终端等都是定义在文件系统空间中的字节流。所以Linux系统上的web程序,在建立TCP连接时,系统会为每一个TCP连接创建一个socket句柄,而每个句柄也是一个文件句柄,所以web程序对文件的操作影响了性能服务器重要指标,如高流量高并发网站出现“Toomanyopenfiles”异常,是因为打开文件数超过限制,程序控制资源(包括图片、音视频资源))、网页和界面。请求在Linux系统中的表现是访问文件。如果打开文件的数量超过系统限制(系统级别和用户级别),它将拒绝下一个文件访问当前用户级别的文件限制。可以通过ulimit-n查看,如图:和系统级别的文件个数限制,可以通过sysctl-a查看,如下图:一般系统***文件个数会是根据硬件资源计算,如果需要修改***打开的文件数可以通过ulimit-n10240修改。当该方法只对当前进程有效时,如果需要使之生效,需要修改/etc/security/limits.conf(重启系统生效),如下图:其中:root:指定用户,如果是给所有用户,则写*soft:softlimithard:hardwarelimitnofile表示打开文件数另外,下面是一些与打开文件数相关的操作说明,仅供参考:1、查看所有进程的打开文件数:lsof|wc-l2、查看某个进程打开的文件数:lsof-ppid|wc-l3、查看进程中每个进程打开的句柄数系统:lsof-n|awk'{print$2}'|sort|uniq-c|sort-nr|more