[转]linux进程的最大文件数

来源:互联网 发布:mac 终端设置时间 编辑:程序博客网 时间:2024/05/16 07:34

因为最近项目上线,要求服务器支持10万并发的socket长连接,所以要改动Linux的一些配置,其中包括每个进程的能打开的最大句柄数,最大线程数,以及每个线程的堆栈大小等,下面这篇文章讲了如何修改系统的进程最大打开句柄数,文章有点老了,但质量很高。


How to increase file descriptors max limit on Linux

posted on february 27, 2008 in hacks, howto, linux with 7 comments  

Today my DBA reported that the server she was working on was spitting out “too many open files” errors and no new processes could be started.

This is a common problem with DB servers with heavy transactions. In my environment there are 6 DB instances running on the server. No quite the optimized setup I would say.

The fix was to increase the total file descriptors kernel parameter count in the /etc/sysctl.conf file. I doubled my limit from 8192 to 16384.

The walk through,

1. Find out what the current open file descriptor limit is.

(下面这里,我们的服务器查询的数字是160万多,哈哈)

~# more /proc/sys/fs/file-max~# 8192

or

~# sysctl -a | grep fs.file-max~# fs.file-max = 8192

2. View how many open file descriptors are currently being used.

~# more /proc/sys/fs/file-nr~# 8191

3. View how many files are open. The number returned might defer as 1 file descriptor can have multiple open files attached to it.

~# lsof | wc -l~# 10325

4. Edit the kernel paramneter file /etc/sysctl.conf and add line “fs.file-max=[new value]” to it.

~# vi /etc/sysctl.conffs.file-max = 331287

5. Apply the changes.

~# sysctl -p~# fs.file-max = 331287

Problem fixed.

0 0
原创粉丝点击