ERLANG recon使用示例

来源:互联网 发布:免费java教程视频下载 编辑:程序博客网 时间:2024/05/16 12:45

标签(空格分隔): erlang recon


    • recon使用
      • reconproc_count
      • reconinfo
      • reconnode_stats_print
      • reconbin_leak
      • Port Info

recon使用

recon:proc_count

(dbdn@192.168.1.78)2>recon:proc_count(message_queue_len, 10).[{<0.69.0>,0,  [dbdn_sup,   {current_function,{gen_server,loop,6}},   {initial_call,{proc_lib,init_p,5}}]}, {<0.68.0>,0,  [{current_function,{application_master,loop_it,4}},   {initial_call,{application_master,start_it,4}}]}, {<0.67.0>,0,  [{current_function,{application_master,main_loop,2}},   {initial_call,{proc_lib,init_p,5}}]}, {<0.63.0>,0,  [gproc_pool,   {current_function,{gen_server,loop,6}},   {initial_call,{proc_lib,init_p,5}}]}, {<0.62.0>,0,  [gproc_bcast,   {current_function,{gen_server,loop,6}},   {initial_call,{proc_lib,init_p,5}}]}, {<0.61.0>,0,  [gproc_monitor,   {current_function,{gen_server,loop,6}},   {initial_call,{proc_lib,init_p,5}}]}, {<0.60.0>,0,  [gproc,   {current_function,{gen_server,loop,6}},   {initial_call,{proc_lib,init_p,5}}]}, {<0.59.0>,0,  [gproc_sup,   {current_function,{gen_server,loop,6}},   {initial_call,{proc_lib,init_p,5}}]}, {<0.58.0>,0,  [{current_function,{application_master,loop_it,4}},   {initial_call,{application_master,start_it,4}}]}, {<0.57.0>,0,  [{current_function,{application_master,main_loop,2}},   {initial_call,{proc_lib,init_p,5}}]}]

recon:info

(dbdn@192.168.1.78)14> recon:info(0,63,0).[{meta,     [{registered_name,gproc_pool},      {dictionary,          [{'$ancestors',[gproc_sup,<0.58.0>]},           {'$initial_call',{gproc_pool,init,1}}]},      {group_leader,<0.57.0>},      {status,waiting}]}, {signals,     [{links,[<0.59.0>]},      {monitors,[]},      {monitored_by,[]},      {trap_exit,false}]}, {location,     [{initial_call,{proc_lib,init_p,5}},      {current_stacktrace,          [{gen_server,loop,6,[{file,"gen_server.erl"},{line,360}]},           {proc_lib,init_p_do_apply,3,               [{file,"proc_lib.erl"},{line,239}]}]}]}, {memory_used,     [{memory,1404},      {message_queue_len,0},      {heap_size,233},      {total_heap_size,233},      {garbage_collection,          [{min_bin_vheap_size,46422},           {min_heap_size,233},           {fullsweep_after,65535},           {minor_gcs,0}]}]}, {work,[{reductions,26}]}](dbdn@192.168.1.78)15> recon:info(0,63,0, memory_used).{memory_used,[{memory,1404},              {message_queue_len,0},              {heap_size,233},              {total_heap_size,233},              {garbage_collection,[{min_bin_vheap_size,46422},                                   {min_heap_size,233},                                   {fullsweep_after,65535},                                   {minor_gcs,0}]}]}(dbdn@192.168.1.78)16> recon:info(0,63,0, message_queue_len).{message_queue_len,0}

recon:node_stats_print

(dbdn@192.168.1.78)21> recon:node_stats_print(2, 2).{[{process_count,53},  {run_queue,0},  {error_logger_queue_len,0},  {memory_total,7253048},  {memory_procs,2562688},  {memory_atoms,160023},  {memory_bin,4408},  {memory_ets,172444}], [{bytes_in,0},  {bytes_out,0},  {gc_count,1},  {gc_words_reclaimed,232},  {reductions,5506},  {scheduler_usage,[{1,0.0},{2,1.0},{3,0.0},{4,0.0}]}]}

recon:bin_leak

(dbdn@192.168.1.78)28> recon:bin_leak(4).[{<0.29.0>,-3,  [user_drv,   {current_function,{user_drv,server_loop,5}},   {initial_call,{user_drv,server,2}}]}, {<0.32.0>,-1,  [{current_function,{shell,shell_rep,4}},   {initial_call,{erlang,apply,2}}]}, {<0.0.0>,0,  [init,   {current_function,{init,loop,1}},   {initial_call,{otp_ring0,start,2}}]}, {<0.3.0>,0,  [erl_prim_loader,   {current_function,{erl_prim_loader,loop,3}},   {initial_call,{erlang,apply,2}}]}]

Port Info

recon:tcp().recon:udp().recon:sctp().recon:files().recon:port_types(). recon:inet_count(recv_oct, 5).recon:inet_count(recv_oct, 5).
0 0
原创粉丝点击