首页 > 系统服务 > 详细

Linux 文件句柄说明

时间:2020-01-17 23:02:42      阅读:65      评论:0      收藏:0      [点我收藏+]


Linux句柄

Linux中所有的事物或资源都是以文件的形式存在,比如消息、共享内存、连接等,句柄可以理解为指向这些文件的指针。

对于这些句柄,Linux是有数量限制的,单个进程默认可以打开的句柄数上限,可以用以下命令来查看:

$ ulimit -a

技术分享图片

查看某个进程的句柄数上限,命令是:

$ ulimit -a PID

技术分享图片

单个进程句柄数的修改(系统重启后会恢复默认值)

$ ulimit -n 句柄数

永久修改单个进程句柄数

$ cat >> /etc/security/limits.conf << EOF * soft nofile 102400 * hard nofile 102400 EOF

技术分享图片

说明:修改完成后,需要重新打开终端,使用 ulimit -a 查看句柄数

查询系统中指定进程占用的句柄数

$ lsof -n | grep [PID|进程名]| wc -l

查询系系统中进程占用的句柄数

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

文件类型有以下几种:
DIR:表示目录。
CHR:表示字符类型。
BLK:块设备类型。
UNIX: UNIX 域套接字。
FIFO:先进先出 (FIFO) 队列。
IPv4:网际协议 (IP) 套接字。

LINUX对能够打开的文件句柄的数量做了限制。限制是分为三个层面:系统层面,用户层面和进程层面。
如果某个进程打开的文件句柄超过限制,再打开文件就会报错。因此,在编程时,如果进程要占用大量文件句柄的话,
就要看看是否要调整最大可打开的文件句柄数,同时也要注意close释放掉不用的文件句柄。

系统层面

$ cat /proc/sys/fs/file-max

用户层面

$ ulimit -n

进程层面

$ cat /proc/PID/limits

 

Linux 文件句柄说明

原文:https://www.cnblogs.com/zhanggaofeng/p/12207429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!