在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 把上面命令加到最后。(findsun提出的办法比较合理)
分享到:
相关推荐
linux的最大进程句柄数设置在Linux下,我们使用ulimit -n命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。
修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。 对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象...
如何知道进程打开了哪些文件句柄handle
Delphi枚举指定进程打开的文件句柄、Mutex、注册表等句柄。Delphi2006正常运行
列出打开了某个文件句柄的进程,找出谁在使用某个文件.zip
—查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 —-查看当前进程打开了多少句柄数 # lsof -n|awk ‘{print $2}’|sort|uniq -c|sort -nr|more 131 24204 57 24244 57 24231 …….. 其中第一...
通过窗口名获取程序所有控件句柄,并绘制句柄结构树。
原创,可以用于检测某个文件被哪些进程打开,并关闭这些进程(简易版的Unlocker)。实现方式是搜索操作系统的进程句柄表,再打开所有进程的打开句柄表进行搜索。内附说明。
查看哪个文件正在被哪个exe打开,占用中
找到一个受信任的进程(一个具有开放套接字句柄的进程)并使用进程注入来利用它的信任设置。 这是针对诸如 ZoneAlarm 之类的工具设计的,用户“信任”可以打开套接字。 当进程在内存中被改变时,磁盘上可执行文件的...
顶部窗口总是显示当前活动进程的列表(包括拥有它们的帐户的名称),而底部窗口中显示的信息取决于 Process Explorer 所处的模式:如果它处于句柄模式下,则可以看到顶部窗口中的所选进程打开的句柄;如果 Process ...
易语言双进程监视文件启动源码,双进程监视文件启动,进程数,创建帮助快照,首进程信息,关闭内核对象,打开进程,关闭句柄,终止进程,获取模块文件名,获取WIN目录,后进程信息
不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置...
GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数 GetCurrentDirectory 在一个缓冲区中装载当前目录 GetDiskFreeSpace 获取与一个磁盘的组织有关的信息,以及了解剩余空间的容量 ...
简介:FxProcessTool是一个强大的Windows进程查看管理工具,可查看、控制和结束所有进程。程序可以列举出进程的各项详细信息,可以检测是否存在隐藏进程或伪装程序,是目前较为完备的进程和任务管理工具之一。 具体...
多次打开一个leveldb句柄,当多个进程尝试一次使用同一leveldb数据目录时,透明升级为使用 ,并在主unix套接字关闭时重新选择一个新的master。 例子 通常,使用 ,当您尝试从多个进程中打开数据库句柄时,会出现锁定...
Process Explorer还具有强大的搜索功能,可以快速显示哪些进程打开了特定的句柄或加载了 DLL。 Process Explorer的独特功能使其可用于跟踪 DLL 版本问题或处理泄漏,并提供对 Windows 和应用程序工作方式的洞察。
Process Explorer让使用者能了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,process explorer可显示这些程序所调用的 DLL进程...8.能够挂起一个进程 9.能够杀死一个线程
进程资源管理器 还具有强大的搜索功能,可快速显示哪些进程打开了特定的句柄或加载了 DLL。 进程资源管理器的独特功能可用于跟踪 DLL 版本问题或处理泄漏,并提供 Windows 和应用程序工作方式的见解。