在Linux下,我们使用ulimit -n命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。
对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象squid、mysql、java等单进程处理大量请求的应用来说就有点捉襟见肘了。如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too many files open”的错误提示。如何知道当前进程打开了多少个文件句柄呢?下面一段小脚本可以帮你查看:lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more
在系统访问高峰时间以root用户执行上面的脚本,可能出现的结果如下:
# lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more
131 24204
57 24244
57 24231
56 24264
其中第一列是打开的文件句柄数量,第二列是进程号。得到进程号后,我们可以通过ps命令得到进程的详细内容。
ps -aef|grep 24204
mysql 24204 24162 99 16:15 ? 00:24:25 /usr/sbin/mysqld
哦,原来是mysql进程打开最多文件句柄数量。但是他目前只打开了131个文件句柄数量,远远底于系统默认值1024。
但是如果系统并发特别大,尤其是squid服务器,很有可能会超过1024。这时候就必须要调整系统参数,以适应应用变化。Linux有硬性限制和软性限制。可以通过ulimit来设定这两个参数。方法如下,以root用户运行以下命令:ulimit -HSn 4096
以上命令中,H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄数量。个人觉得最好不要超过4096,毕竟打开的文件句柄数越多响应时间肯定会越慢。设定句柄数量后,系统重启后,又会恢复默认值。如果想永久保存下来,可以修改.bash_profile文件,可以修改 /etc/profile 把上面命令加到最后
分享到:
相关推荐
linux的最大进程句柄数设置在Linux下,我们使用ulimit -n命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。
修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。 对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象...
linux系统级别的能够打开的文件句柄的数file-max命令.docx
设置Linux打开文件句柄/proc/sys/fs/file-max和ulimit -n的区别表示系统级别的能够打开的文件句柄的数量.是对整个系统的限制,并不是
这个数字说明了一个普通用户能够在一个单独会话中所能打开最大的文件数目。注意。如果是root,以下操作不能使ulimit -n的输出增加。因为用户root用户不受这个ulimit限制。只有普通用户才会受这个限制。
—查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 —-查看当前进程打开了多少句柄数 # lsof -n|awk ‘{print $2}’|sort|uniq -c|sort -nr|more 131 24204 57 24244 57 24231 …….. 其中第一...
当文件被打开访问时,操作系统临时分配一个名为文件句柄的数字。主内存的一个特殊区域是为文件句柄预留的,这个区域的大小决定了一次可以打开多少个文件。
Linux⽂件存在程序找不到⽂件 ⽂件存在程序找不到⽂件 1. 编码格式 编码格式 程序运⾏时的编码格式和传输... ⽂件句柄数 ⽂件句柄数 极端情况下,操作系统打开的⽂件句柄数达到上限,没有可⽤的⽂件句柄⽤于打开⽂件。
在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。...
在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket...
# 查看当前进程打开了多少个文件句柄呢 lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more # 禁止接收从 DNS 服务器发送过来并包含 googleusercontent 的包 iptables -I INPUT -p udp --sport 53 -m string -...
) 200>LOCKFILEflock 需要保持打开锁文件,对于第二种使用方式并不方便,而且 -s 方式指定文件句柄可能冲突。好处是不需要显式的解锁,进程退出后锁必然释放。 2. liblockfile1 的 dotlockfile 号称最灵活可靠的...
这将检测到任何具有打开文件句柄的应用程序,但不会检测到已打开,缓冲文件以供显示,然后关闭句柄的应用程序(即可能向用户显示文件但不再打开文件的应用程序)文件的句柄)。 的Unix 在macOS和Linux上Opened使用...
3.2.3 最大文件句柄数 75 3.2.4 网络参数 76 3.2.5 Oracle用户能够打开的文件句柄的最大数 77 3.2.6 Oracle用户能够执行的进程的最大数 78 3.3 磁盘管理 79 3.3.1 磁盘分区 79 3.3.2 逻辑盘卷管理 80 3.3.3 LVM术语 ...
一、 修改操作系统文件句柄大小 1 二、 调整JVM启动内存 1 三、 关闭默认搜索引擎 1 四、 数据库连接池调整最佳实践 2 五、 调整TCP接受预备连接数 4 六、 修改日志记录规则 4 七、 打开Novell认证器层次结构缓存 5 ...
但是是否释放传输文件打开的句柄了? 3.6 端口数据抓包. nc -vv -w 2 -o test.txt www. 80 21-15 , command "" unr 3.7 telnet,自动批处理。 ★★★★★我要重点推荐的东西就是这个. nc ...
#include <linux/fs.h> // 文件系统头文件。定义文件表结构(file,buffer_head,m_inode 等)。 static char printbuf[1024]; // 静态字符串数组。 extern int vsprintf (); // 送格式化输出到一字符串中(在...
这里我们不妨理解为返回的 usb_dev_handle 指针是指向设备的句柄,而行参里输入就是需要打开的设备。 usb_close 函数定义: int usb_close(usb_dev_handle *dev); 与usb_open相对应,关闭设备,是必须调用的...
1.1.网关架构1.2.nginx命令和信号控制nginx-sstop快速关闭,不管有没有正在处理的请求nginx-squit优雅关闭方式,推出前完成已经接受的连接请求nginx-cnginx配置文件...n查看liunx最多同时打开的文件句柄数,可通过linux