7 centos 查看程序文件数量_linux查看打开文件数

1

首先我们先来看最简单的方法,这种方法只是适用于有图形界面的linux操作系统,例如fedora操作系统。右击我们需要查看文件夹,然后点击属性选项,在弹出的属性框中找到内容所在一行,会列出此文件夹有多少项和其大小当然以上方法适用范围有限,只适用于图形界面的linux操作系统,下面小编介绍一种通用的方法,那就是使用命令行操作。你的linux操作系统可以没有图形界面,但总不会不能操作命令行吧,我们点击终端开始操作命令行。

2

我们使用ls命令,列出当前文件夹下的所有文件和文件夹,然后我们使用cd命令打开我们需要查看文件夹大小的文件夹,然后我们使用du -s命令,此时我们可能会看到一长串的数字,这就是我们先要的文件夹的大小,只不过显示的是文件夹的字节数。很多朋友可能不习惯字节数,不知道它到底是代表多大,此时我们可以再次使用du命令,只不过把后面的参数多加一个h,具体命令是du -sh,然后我们再来看看数值,是不是变了呢,已经变成了以M结尾的数字。当然du命令除了这种用法之外还有其他的用法,那就直接在du -sh /输入你想要查询的文件夹路径即可,输入命令即可看到,跟直接进入目录输入的结果是一致的。

3

linux打开文件数量的查看方法

在网上查到两种查看linux打开文件数量的查看方法,但结果不相同,linux查看文件打开数量是以那个文件或命令为标准呢搜索过关于ulimit命令的一些用法,其中ulimit -n 409也就是限制用户的最大文件打开数为4096,在网上查了关于怎么查看文件打开数的文章大致有两种说/proc/sys/fs/file-nr,该文件与 file-max 相关,它有三个值:已分配文件句柄的数目,已使用文件句柄的数目,文件句柄的最大数目,该文件是只读的,仅用于显示信息。

4

运行在Linux系统上的Java程序运行了一段时间后出现"Too many open files"的异常情况。这种情况常见于高并发访问文件系统,多线程网络连接等场景。程序经常访问的文件、socket在Linux中都是文件file,系统需要记录每个当前访问file的name、location、access authority等相关信息,这样的一个实体被称为file entry。“open files table”(图中橙色标识)存储这些file entry,以数组的形式线性管理。文件描述符(file descriptor)作为进程到open files table的指针,也就是open files table的下标索引,将每个进程与它所访问的文件关联起来了。

5

每个进程中都有一个file descriptor table管理当前进程所访问(open or create)的所有文件,文件描述符关联着open files table中文件的file entry。细节不表,对于open files table能容纳多少file entry。Linux系统配置open files table的文件限制,如果超过配置值,就会拒绝其它文件操作的请求,并抛出Too many open files异常。这种限制有系统级和用户级之分。

系统级:

系统级设置对所有用户有效。可通过两种方式查看系统最大文件限制

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

2 sysctl -a 查看结果中fs.file-max这项的配置数量

如果需要增加配置数量就修改/etc/sysctl.conf文件,配置fs.file-max属性,如果属性不存在就添加。

配置完成后使用sysctl -p来通知系统启用这项配置

用户级:

Linux限制每个登录用户的可连接文件数。可通过 ulimit -n来查看当前有效设置。如果想修改这个值就使用 ulimit -n,命令。

对于文件描述符增加的比例,资料推荐是以2的幂次为参考。如当前文件描述符数量是1024,可增加到2048,如果不够,可设置到4096,依此类推。

在出现Too many open files问题后,首先得找出主要原因。最大的可能是打开的文件或是socket没有正常关闭。为了定位问题是否由Java进程引起,通过Java进程号查看当前进程占用文件描述符情况:lsof -p $java_pid 每个文件描述符的具体属性 lsof -p $java_pid | wc -l 当前Java进程file descriptor table中FD的总量

END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值