linux查看进程打开的文件句柄以及如何修改教程

各位好,对于linux内的各个应用程序,都有一个文件句柄的限制。默认情况下一般的应用都完全足够应用,但是如何象squid、mysql、java等单进程处理大量请求的应用来说就有 点捉襟见肘了。如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too many files open”的错误提示。本篇下面简单介绍如何查看默认的设置大小,以及如何设置。

操作方法

  • 01

    首先我们开启系统,并且使用root账户登录,介绍大家如何查看本系统的文件句柄个数的大小。我们执行命令“ulimit -a”,其中oepn files 对应的即为本机文件句柄数。具体展示如下图所示。

  • 02

    下面我们可以根据进程ID进行统计各个进程打开了多少文件句柄数。统计用到了lsof工具,假如系统没有安装请自行安装。安装命令“yum install lsof”等待系统安装完毕。

  • 03

    待lsof软件安装完毕后,我们执行命令“lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more ”,等待运算结果,结果出来后,其中第一列展示的为打开的文件句柄个数,第二列为对应的进程号。

  • 04

    然后我们可以根据一个打开文件句柄过多的进程ID来确认是那个进程,本篇中演示我们使用进程ID为1239,执行命令“ps -ef | grep 1239”,可以得到程序的主要信息。

  • 05

    当然我们也可以根据进程ID,来查看该应用打开的文件句柄。具体命令为"lsof -p 1239 | wc -l"。具体展示如下图所示。

  • 06

    下面我们介绍如何修改默认的文件句柄个数,首先介绍一个比较简单的方法。我们采用命令“ulimit -HSn 65535”表示设置硬性以及软性大小都为65535。(该方法当时生效,一旦重启失效,建议加入开机启动项内)。

  • 07

    设置完毕后,我们进行查看,执行命令"ulimit -a"进行验证,可以看到以及修改为65535了。具体展示如下图所示。

  • 08

    下面介绍第二种修改方法,我们修改/etc/security/limits.conf,在文件最后添加两行 * soft nofile 65535 * hard nofile 65535 修改后进行保存。具体展示如下图所示。

  • 09

    最后我们重启系统进行验证,输入命令“ulimit -a”。可以看到修改成功(此方法系统重启不影响)。

(0)

相关推荐

  • Linux查看进程运行的完整路径

    Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls –l命令即可查看。 ll ...

  • Linux 查看进程 关闭进程

    使用Linux服务器,最常用的就是查看后台进程.关闭不用的进程 启动一个进程 01 先启动一个进程作为测试使用 查看启动的进程 01 可以使用以面命令来查看 ps -ef |grep tomcat 0 ...

  • linux查看进程命令

    操作方法 01 例如图一点击这个终端的图标,然后把终端先打开了的,已经有终端的,不用打开,例如服务器上. 02 然后输入[ps],可以查看当前的进行,但是显然不是我们想要的,可以输入这个[ps   - ...

  • CentOS看进程打开的文件或文件对应的进程的详解

    CentOS看进程打开的文件或文件对应的进程的详解

  • linux系统级别的能够打开的文件句柄的数file-max命令

    简单的说, max-file表示系统级别的能够打开的文件句柄的数量, 而ulimit -n控制进程级别能够打开的文件句柄的数量. man 5 proc, 找到file-max的解释: file-max ...

  • 如何查看linux中文件打开情况

    前言我们都知道,在linux下,"一切皆文件",因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof.linux下有哪些文件在 ...

  • linux命令大全之ps命令详解(查看进程结果)

    Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  • CentOS如何查看进程运行的完整路径?

    CentOS如何查看进程运行的完整路径? Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径, ...

  • CentOS如何查看进程运行的完整路径?CentOS查看进程运行的完整路径方法

    通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等.这时,我们需要通过以下的方法来查看进程的详细信息: Linux在启动一个进程时,系统会在/proc下创建一个 ...