很多同学在使用erlang的过程中, 碰到了很奇怪的问题, 后来查明都是文件句柄不够用了, 因为系统默认的是每个进程1024. 所以我们有必要在程序运行的时候, 了解这些信息, 以便诊断和预警.
下面的这个程序就演示了这个如何查看节点的可用句柄数目和已用句柄数的功能.
首先确保你已经安装了lsof, 我的系统是ubuntu可以这样安装.
root@ubuntu:~# apt-get -y install lsof
root@ubuntu:~# cat fd.erl
-module(fd).
-export([start/0]).
get_total_fd_ulimit() ->
{MaxFds, _} = string:to_integer(os:cmd("ulimit -n")),
MaxFds.
get_total_fd() -> get_total_fd(os:type()).
get_total_fd({unix, Os})
when Os =:= linux orelse
Os =:= darwin orelse
Os =:= freebsd orelse Os =:= sunos ->
get_total_fd_ulimit();
get_total_fd(_) -> unknown.
get_used_fd_lsof() ->
Lsof = os:cmd("lsof -d \"0-9999999\" -lna -p " ++
os:getpid()),
string:words(Lsof, $\n).
get_used_fd() -> get_used_fd(os:type()).
get_used_fd({unix, Os})
when Os =:= linux orelse
Os =:= darwin orelse Os =:= freebsd ->
get_used_fd_lsof();
get_used_fd(_) -> unknown.
start()->
io:format("total fd: ~p~n"
"used fd: ~p~n", [get_total_fd(), get_used_fd()]),
halt(0).
root@ubuntu:~# erlc fd.erl
root@ubuntu:~# ulimit -n 1024
root@ubuntu:~# erl -noshell -s fd
total fd: 1024
used fd: 10
root@ubuntu:~# ulimit -n 10240
root@ubuntu:~# erl -noshell -s fd
total fd: 10240
used fd: 10
root@ubuntu:~#
收工!
分享到:
相关推荐
查看句柄查看句柄查看句柄查看句柄查看句柄查看句柄
得到指定进程所占用的句柄数handle_NtQueryInformationProcess第二个参数为20.zip
收集的关于 ORA-12516 or ORA-00020 TNS 监听程序无法找到匹配协议栈的可用句柄
句柄查看精灵 3.0 句柄查看精灵 3.0
用来查看句柄的和用来结束句柄程序,和取句柄标题的
Linux Shell 网络层监控脚本(监控包括:连接数、句柄数及根据监控反馈结果分析)
在服务端不存在或没开启时,clientsocket反复连接服务端会导致程序句柄数急速增加,最后系统资源耗尽出错,本demo较好的解决了这一问题.
找了好久才找到的,用LabVIEW编写的,可以获取窗口句柄的一个函数,很好用
修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。 对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象...
非常好用的句柄工具,非常方便~ 需要的拿走吧
窗口句柄信息查看器
窗口句柄获取及API的调用: .版本 2 .程序集 窗口程序集1 .子程序 _按钮_点击按钮_被单击 .局部变量 父窗口句柄, 整数型 .局部变量 编辑框窗口句柄, 整数型 .局部变量 按钮窗口句柄, 整数型 .局部变量 临时文本, ...
C# 窗口句柄查看器 可以查看目前在运行的窗体的句柄
句柄查看工具procexp
可以查看到窗口的句柄,类名,鼠标所在位置,进程名,等
从网上找的 用vb6写的一个很完美的窗口句柄查询工具,还能自动生成查找代码。
句柄查看精灵v2.3
小巧的windows窗口句柄、窗口标题、窗口ID、父子窗口关系的查看工具,能够拖动到某个窗口(或子窗口)上即时查看窗口属性,非常方便。
Handle Tracer是一个英文的、免费的进程句柄获取查看 跟踪查看进程句柄的小工具 [10-05-2011] - v1.2.0.0 Added Accept EULA Updated Help File Minor fixes [04-03-2011] v1.0.0.0 Initial release
功能:可查看窗口和控件句柄、类名、标题、风格等信息,可向窗口发送文字,可控制窗口状态,如显示、隐藏、关闭、终止、抖动等,可以突破灰色的按钮。WSEdit(窗口样式修改器)用来修改窗口的样式信息,如是否可调整...