Linux服务器怎么查看所有进程的文件打开数

发布时间:2021-09-10 09:07:18 作者:chen
来源:亿速云 阅读:1186

本篇内容介绍了“Linux服务器怎么查看所有进程的文件打开数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

文件是Linux系统中的一切事物的存在形式,计算机中的数据和硬件都是通过文件的形式进行管理,Linux的文件主要有普通文件、文件夹、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等类型,Linux  中的各种事物比如像文档、文件夹、键盘、监视器、硬盘、可移动媒体设备、打印机、调制解调器、虚拟终端等等都是定义在文件系统空间下的字节流。

因此在Linux系统上的web程序,在进行TCP连接时,系统为每个TCP连接创建一个socket句柄,而每个句柄也是一个文件句柄,所以web程序对文件的操作情况,是影响到服务器性能的重要指标,像网站在高流量高并发的场景下出现"Too  many open  files"的异常就是因为打开的文件数超过限制,而程序中对资源(包括图片、音视频资源)、网页、以及接口的请求在Linux系统里的表现为对文件的访问,如果打开文件数超出了系统限制(系统级和用户级)的数量,就会拒绝接下来的文件访问

当前用户级的文件数限制,可以通过 ulimit -n 来查看,如图:

Linux服务器怎么查看所有进程的文件打开数

而系统级别的文件数限制,则通过sysctl -a来查看,如下图:

Linux服务器怎么查看所有进程的文件打开数

一般系统***文件数会根据硬件资源计算出来的,如果强行需要修改***打开文件数可以通过ulimit -n  10240来修改,当这种方式只对当前进程有效,如果需要***有效则需要修改/etc/security/limits.conf(重启系统生效),如下图:

Linux服务器怎么查看所有进程的文件打开数

其中:

root :指定用户,如对所有用户,则写 *

soft:软限制

hard:硬件限制

nofile 是代表***文件打开数

除此之外,下面是一些打开文件数操作相关的指令,仅供参考:

1、查看所有进程的文件打开数:

lsof |wc -l

Linux服务器怎么查看所有进程的文件打开数

2、查看某个进程打开的文件数:

lsof -p pid |wc -l

Linux服务器怎么查看所有进程的文件打开数

3、查看系统中各个进程分别打开了多少句柄数:

lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more

Linux服务器怎么查看所有进程的文件打开数

“Linux服务器怎么查看所有进程的文件打开数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. linux服务器不能用top和ps查看进程怎么办
  2. TFRecord文件查看包含的所有Features代码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux 服务器

上一篇:Java应用程序的运行环境以及参数的传递

下一篇:怎么通过重启路由的方法切换IP地址

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》