Erlang工具 ==================== :: // 支持的最大并发进程数(对应+P) erlang:system_info(process_limit). // 内存 erlang:memory(). // CPU erlang:system_flag(scheduler_wall_time, true). // 该函数返回[{调度器ID, BusyTime, TotalTime}] // BusyTime是调度器执行进程代码,BIF,NIF,GC等的时间 // TotalTime是cheduler_wall_time打开统计以来的总调度器钟表时间 erlang:statistics(scheduler_wall_time). // BusyTime/TotalTime Ts0 = lists:sort(erlang:statistics(scheduler_wall_time)). Ts1 = lists:sort(erlang:statistics(scheduler_wall_time)). lists:map(fun({{I, A0, T0}, {I, A1, T1}}) -> {I, (A1 - A0)/(T1 - T0)} end, lists:zip(Ts0,Ts1)). // 进程 // 当前进程数 length(processes()). // 端口数量 length(ports()). //指定进程的详细信息 erlang:process_info(Pid, message_queue_len). 获取端口信息 erlang:port_info/2 //OTP进程 sys:log_to_file(Pid, FileName): 将指定进程收到的所有事件信息打印到指定文件 sys:get_state(Pid): 获取OTP进程的State sys:statistics(Pid, Flag): Flag: true/false/get 打开/关闭/获取进程信息统计 sys:install/remove 可为指定进程动态挂载和卸载通用事件处理函数 sys:suspend/resume: 挂起/恢复指定进程 sys:terminate(Pid, Reason): 向指定进程发消息,终止该进程