Linux查看每个进程的Openfiles数量 您所在的位置:网站首页 查看文件个数怎么查 Linux查看每个进程的Openfiles数量

Linux查看每个进程的Openfiles数量

2023-09-17 17:22| 来源: 网络整理| 查看: 265

在Linux里,在/etc/security/limits.conf里有一个参数是nofile,作用是控制某用户的文件打开数量。可以使用ulimit -n的命令查看具体的限制,一但当前文件打开数达到nofile上限就无法再打开文件,从而使某些应用运行异常,如用户无法通过SSH登录系统。

通过我们可以使用lsof命令查看文件打开的具体情况,如用户、进程的信息。使用

lsof -p PID

可以查看某一个进程的文件打开数量

lsof -u UID

可以查看某一个用户的文件打开数量

但是发现好像没有一个参数可以知道所有进程的文件打开数量

所以我就写了个小脚本来统计一下所有进程的文件打开数量,从而可以得知到底是哪个进程出现问题,再作进一步的处理,脚本的具体内容如下

#!/bin/bash # psof.sh # Author: # # ####### # # ####### # # # ## # # # # # # # # # ### ##### # # # # # # # # # # # # # # # ## # # # ####### # # # # DATE: 2016-10-09 # DESCRIPTION: 计算每个进程的Openfiles tmpfile=/dev/shm/psof.txt echo "" > $tmpfile for pid in $(ps -eo pid | grep -v PID) do echo $pid":"$(lsof -p $pid|wc -l) >> $tmpfile ; done echo "PID : Openfiles" sort -nrk 2 -t: $tmpfile 同样,可以稍作修改用于统计所有用户的文件打开数量

抛砖引玉,以供参考



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有