erlang:process_info(self(), heap_size). memory:进程占用内存的大小(单位是字节 bytes),这包括被调用的栈、堆和内部的一些结构数据。 1 erlang:process_info(self(), memory). priority:获取进程的当前优先级。 1 erlang:process_info(self(), priority). ...
[Erlang 0012]Erlang Process input queue一文我们提到使用erlang:process_info/1抓取进程运行时状态信息,有时我们需要把节点内所有的进程的信息都抓取下来,便于分析整个节点内进程的运行状态,特别是挑出一些异常的进程:比如有些进程的reduction值和其它进程相比大出好几个数量级,那这个进程需要好好检查一下了。 下面的...
1.进入 Erlang 终端 [root@rabbitpro03-fn ~]# erl 2.查看内存占用 1> erlang:memory(). 3.查看进程数量 2> erlang:system_info(process_count). 4.查看进程占用内存信息 3> spawn(fun()->etop:start([{output,text},{interval,5},{lines,20},{sort,memory}])end). 注: output:指定输出方式 inte...
4. 查看占用内存最高的进程状态 erlang:process_info(pid(0,12571,0)). [{current_function,{mod_player,send_msg,2}}, {initial_call,{erlang,apply,2}}, {status,waiting}, {message_queue_len,0}, {messages,[]}, {links,[<0.12570.0>]}, {dictionary,[]}, {trap_exit,false}, {error_handl...
memory()可以看到Erlang emulator分配的内存,有总的内存,atom消耗的内存,process消耗的内存等等。 Erlang process创建数量 线上系统发现主要内存消耗都在process上面,接下来要分析,是process内存泄漏了,还是process创建数量太多导致。 > erlang:system_info(process_limit). %%查看系统最多能创建多少process ...
3> erlang:process_info(P). 1. [{current_function,{erl_eval,receive_clauses,8}}, 1. {initial_call,{erlang,apply,2}}, 1. {status,waiting}, 1. {message_queue_len,0}, 1. {messages,[]}, 1. {links,[]}, 1. {dictionary,[]}, ...
使用recon库 recon:proc_count('memory',10) 自定义 List1 = erlang:processes(), List2 = lists:map(fun(Pid) -> {, V0} = erlang:process_info(Pid, current_function), {, V1} = erlang:process_info(Pid, memory), {V0, V1} end,List1), lists:sort(fun({, ...
erlang:process_info/1在ERTS中定位BIF的透明版本。 pinfo(Pid, Item) -> {Item, Info} | undefined | [] pinfo(Pid, ItemList) -> {Item, Info} | undefined | [] 类型 erlang:process_info/2在ERTS中定位BIF的透明版本。 pmap(FuncSpec, ExtraArgs, List1) -> List2 ...
Process可以是pid,也可以是一个整数元组(可以从中创建一个pid),也可以是Pid通过erlang:process_info(Pid)函数调用获取的进程的进程信息。 如果最初的调用是针对系统定义的某个行为(如gen_server或)gen_event,则会将其转换为更有用的信息。如果gen_server产生,则返回的Module是回调模块的名称,并且Function是init(...
io:format("~s~n", [element(2, process_info(Pid, backtrace))]).3. etop 分析内存、cpu占⽤进程,即使数⼗w进程node 也能正常使⽤ %进程CPU占⽤排名 etop() -> spawn(fun() -> etop:start([{output, text}, {interval, 10}, {lines, 20}, {sort, reductions}]) end).%进程Mem占...