linux 查看当前打开的文件数,linux停查看文件打开数

Linux文件句柄限制调整
本文介绍了如何在Linux系统中查看和调整文件句柄限制,包括通过ulimit命令临时修改、在profile文件中为特定用户设置及通过limits.conf和sysctl.conf文件全局永久配置的方法。

一、查看资源限定

ulimit -a 查看系统目前资源限制的设定。

二、修改资源限定

linux 打开文件句柄时可能出现“Too many open files”的提示,可以修改linux的最大文件句柄数限制:

1)ulimit -n 65535

在当前session有效,用户退出或者系统重新后恢复默认值

2)修改profile文件:在profile文件中添加:ulimit -n 65535

只对当个用户有效

3)修改文件:/etc/security/limits.conf,在文件中添加:(立即生效-当前session中运行ulimit -a命令无法显示)

* soft nofile 32768 #限制单个进程最大文件句柄数(到达此限制时系统报警)

* hard nofile 65536

使用通配符*表示所有用户,*号可以换成具体的用户名或者用户组的名称。

这个文件里的限制对root以外的用户在新登陆是立即生效,不用reboot。

soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。

nofile - 打开文件的最大数目, noproc - 进程的最大数目

4)修改文件:/etc/sysctl.conf。在文件中添加:

fs.file-max=655350 #限制整个系统最大文件句柄数

运行命令:/sbin/sysctl -p 使配置生效

三、查看文件打开数

/proc/sys/fs/file-nr

该文件与 file-max 相关,它有三个值:

已分配文件句柄的数目

已使用文件句柄的数目

文件句柄的最大数目

该文件是只读的,仅用于显示信息。

查看所有进程的文件打开数

lsof |wc -l

查看某个进程打开的文件数

lsof -p pid |wc -l

Linux系统中,查看当前打开文件通常可以通过多种方法来实现。以下是几种常用的方法: 1. 使用`lsof`命令 `lsof`(List Open Files)是一个列出当前系统打开文件的工具。通过它可以查看哪些文件被进程打开,也可以用来查看打开文件。使用`lsof`命令时,可以配合`-p`参指定进程号,或者使用`-i`来查看打开的网络连接,或者直接执行`lsof`来查看所有打开文件。 示例命令: ``` lsof | wc -l ``` 这条命令会输出所有打开文件量。 2. 使用`/proc`文件系统 Linux的`/proc`文件系统包含了系统运行时的各种信息,其中`/proc/sys/fs/file-nr`文件包含了打开文件的相关信息。通过查看这个文件,可以获得系统当前打开文件。 示例命令: ``` cat /proc/sys/fs/file-nr ``` 这条命令会输出三个字,第一个字就是当前打开文件的总。 3. 使用`ulimit`命令 `ulimit`命令可以显示或设置用户进程的资源限制,包括文件大小、进程据块大小等。使用`ulimit -n`可以查看用户级别的文件打开限制。 示例命令: ``` ulimit -n ``` 这条命令会显示当前用户的文件打开限制。 需要注意的是,上述方法中查看文件是不同的概念。例如,`lsof`可能包括了各种类型文件打开情况,而`/proc/sys/fs/file-nr`显示的是系统级别打开文件的总,包括了进程无法使用的文件句柄。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值