- 论坛徽章:
- 0
|
在网上查到两种查看linux打开文件数量的查看方法,但结果不相同,linux查看文件打开数量是以那个文件或命令为标准呢?
我在google上搜索过关于ulimit命令的一些用法,其中有
ulimit -n 4096
也就是限制用户的最大文件打开数为4096个
在网上查了关于怎么查看文件打开数的文章大致有两种说法
/proc/sys/fs/file-nr
该文件与 file-max 相关,它有三个值:
已分配文件句柄的数目
已使用文件句柄的数目
文件句柄的最大数目
该文件是只读的,仅用于显示信息。
查看所有进程的文件打开数
lsof |wc -l
查看某个进程打开的文件数
lsof -p pid |wc -l
测试了下
在一台使用中的web服务器结果
-
- [root@RHEL-5 root]# lsof |wc -l
- 3603
- [root@RHEL-5 root]# cat /proc/sys/fs/file-nr
- 10577 7982 406214
- [root@RHEL-5 root]# ulimit -a
- core file size (blocks, -c) 0
- data seg size (kbytes, -d) unlimited
- file size (blocks, -f) unlimited
- max locked memory (kbytes, -l) 4
- max memory size (kbytes, -m) unlimited
- open files (-n) 8192
- pipe size (512 bytes, -p) 8
- stack size (kbytes, -s) 10240
- cpu time (seconds, -t) unlimited
- max user processes (-u) unlimited
- virtual memory (kbytes, -v) unlimited
复制代码
另一台没跑服务的应用服务器上是这样的
-
- [root@LT-101 root]# lsof |wc -l
- 446
- [root@LT-101 root]# cat /proc/sys/fs/file-nr
- 403 116 26214
- [root@LT-101 root]# ulimit -a
- core file size (blocks, -c) 0
- data seg size (kbytes, -d) unlimited
- file size (blocks, -f) unlimited
- max locked memory (kbytes, -l) 4
- max memory size (kbytes, -m) unlimited
- open files (-n) 1024
- pipe size (512 bytes, -p) 8
- stack size (kbytes, -s) 10240
- cpu time (seconds, -t) unlimited
- max user processes (-u) 2048
- virtual memory (kbytes, -v) unlimited
复制代码 |
|