文件句柄资源

2022-09-06 12:33:31 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

1、文件句柄限制

可通过执行以下命令,查看单个进程最多可使用的文件句柄数量:

代码语言:javascript复制
1 /# ulimit -n
2 1024

可通过执行以下命令,查看系统环境最多可使用的文件句柄数量:

代码语言:javascript复制
1 /# cat /proc/sys/fs/file-max
2 13139104

在5.11内核环境下,/proc/sys/fs/file-max值默认为系统内存(kB为单位)的10%。内核源码相关实现见下图

可通过更改/etc/sysctl.conf配置文件,永久修改/proc/sys/fs/file-max值来设定系统可打开的最大文件句柄数量。

代码语言:javascript复制
1 /# echo “fs.file-max = 6553500” >> /etc/sysctl.conf

或者直接修改/proc/sys/fs/file-max值大小来临时设置系统可打开的最大文件句柄数量,重启后失效。参考命令如下:

代码语言:javascript复制
1 /# echo “fs.file-max = 6553500” > /proc/sys/fs/file-max

可通过执行以下命令,查看系统当前打开的文件句柄数量以及可打开最大文件句柄数量。

代码语言:javascript复制
1 /# cat /proc/sys/fs/file-nr
2 14352        0        13139104

14352为当前系统打开的文件句柄数量,13139104为可打开的最大文件句柄数量。

(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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155437.html原文链接:https://javaforall.cn

0 人点赞