Linux进程数,句柄数,文件描述符是什么

linux文件句柄数

linux文件句柄数

1、问题阐述:

too many open files:顾名思义即打开过多文件数。

不过这里的files不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。

2、产生的原因:

经常在使用linux的时候出现,大多数情况是由于程序没有正常关闭一些资源引起的,所以出现这种情况,请检查io读写,socket通讯等是否正常关闭。

3、经典案例:

很多项目上线不久运行了一段时间后,服务突然宕了,经检查日志,出现了too many open files 错误。

  • 1)统计各进程打开句柄数:lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr
  • 2)统计各用户打开句柄数:lsof -n|awk '{print $3}'|sort|uniq -c|sort -nr
  • 3)统计各命令打开句柄数:lsof -n|awk '{print $1}'|sort|uniq -c|sort -nr

tcp的65535个连接之迷

tcp的65535个连接之迷

Linux下高并发socket最大连接数所受的各种限制

Linux下高并发socket最大连接数所受的各种限制

在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:
[speng@as4 ~]$ ulimit -n

linux进程数和句柄数

linux进程数和句柄数

Linux 命令神器:lsof 入门

Linux 命令神器:lsof 入门

猜你喜欢

转载自blog.51cto.com/11114389/2417588