打赏

linux文件句柄

linux文件句柄数

1.获取系统打开的文件描述符数量

cat /proc/sys/fs/file-nr 
已分配的FD数量    已分配但尚未使用的FD数量  为系统可用的最大FD数量
已用FD数量=为已分配的FD数量 - 为已分配但尚未使用的FD数量

2 获取进程打开的文件描述符数量

pidof vim

3.查看线程占句柄数

ulimit -a

4.查看系统打开句柄最大数量

more /proc/sys/fs/file-max

5.查看打开句柄总数

lsof|awk '{print $2}'|wc -l

6.根据打开文件句柄的数量降序排列,第二列为进程ID

lsof|awk '{print $2}'|sort|uniq -c|sort -nr|more
# 查看打开的文件描述符
ll proc/1430/fd 

# 指定进程号,可以查看该进程打开的文件
lsof -p 27358
# 查看指定程序打开的文件
lsof -c sshd
# 查看指定目录下被打开的文件
lsof +D /home/ 或lsof +d /home/
# 查看端口连接情况
lsof -i :22
# 查看指定进程打开的网络连接
lsof -i -a -p 1535 //-i查看网络连接情况,-a查看存在的进程,-p指定进程
# 查看指定状态的网络连接
lsof -n -P -i TCP -s TCP:ESTABLISHED
 -n:no host names, -P:no port names,-i TCP指定协议,-s指定协议状态

7.修改linux单进程最大文件连接数

 # 修改临时生效
 ulimit -n 10240
 # 查看文件描述符限制
 ulimt -n
 -------------------------------------------------
 # 永久生效
 vi /etc/security/limits.conf 
abc hard nofile 10240
说明:
   abc:用户名,即允许test使用ulimit命令更改FD限制,最大值不超过10240,更改后abc用户的每一个进程(以abc用户运行的进程)可打开的FD数量为10240个

   hard:限制类型,有soft/hard两种,达到soft限制会在系统的日志(一般为/var/log/messages)里面记录一条告警日志,但不影响使用。hard,达到这个限制,有日志且会影响使用。

   nofile:限制的内容,nofile - max number of open files

   1024 :值
   -----------------------------------------------
   # 系统级别的修改
   echo "51200" > /proc/sys/fs/file-max
   cat /proc/sys/fs/file-nr
   # 永久生效
   echo "fs.file-max = 51200" >> /etc/sysctl.conf

参考链接

https://www.cnblogs.com/mfryf/p/5329770.html

http://www.ideabuffer.cn/2016/11/20/Linux配置调优:最大打开文件描述符个数/

https://www.jianshu.com/p/ea32136d4074

posted @ 2022-03-10 14:36  苍山落暮  阅读(788)  评论(0编辑  收藏  举报