Skip to main content
Version: 7.26

Profiler

The Profiler tool shows CPU usage for each process running in RouterOS. It helps to identify which process is using most of the CPU resources. See the video about this feature.

[admin@MikroTik] > /tool/profile

Processes are grouped by type (classifiers), for example wireless, bridging or console, and each classifier's CPU usage is shown separately. Only the classifiers with running processes appear, so the rows depend on the device and the features in use.

On multi-core systems, the cpu parameter selects the view: cpu=total (the default) sums the usage of all cores, cpu=all shows every core separately with per-core cpuN summary rows, and cpu=<number> shows only that core. Both views are demonstrated in the example below. Without a duration, the profile keeps refreshing until you stop it; freeze-frame-interval (in seconds) sets how often a new frame is printed, and each frame shows the usage measured since the previous frame. With duration, the tool stops after the given number of seconds. The first one or two frames show only the total row before the sampled data arrives.

For a plain per-core load summary without the process split (for example for scripts), use /system/resource/cpu/print.

Find a busy process​

A runaway script keeps one core busy. In the summed view (cpu=total), 100% usage of one core of a 4-core router shows as 25%:

[admin@MikroTik] > /tool/profile cpu=total freeze-frame-interval=1 duration=5
Columns: NAME, USAGE
NAME USAGE
interface-mgmt 0%
bridging 0%
console 25.1%
resource-mgmt 0%
ssh 0%
total 25.1%

console consuming the CPU points at script or console session activity (here a script loop). The per-core view shows the exact core and its total in the cpuN rows:

[admin@MikroTik] > /tool/profile cpu=all freeze-frame-interval=1 duration=3
Columns: NAME, CPU, USAGE
NAME CPU USAGE
console 0 95.5%
cpu0 95.5%
console 1 0.5%
wireless 1 0.5%
kernel 1 0.5%
cpu1 1.5%
console 2 4%
certificate 2 0.5%
cpu2 4.5%
console 3 0.5%
cpu3 0.5%

Classifiers​

RouterOS processes are classified by type and the CPU usage of each type is displayed separately for ease of debugging. Besides the feature classifiers below, system rows such as kernel, ipc, interface-mgmt and resource-mgmt can also appear; anything without a classifier accounts under unclassified:

PropertyDescription
backupBackup service
bfdBFD service
bgpBGP service
bridgingBridging service
btestBandwidth test.
certificateCertificate service
consoleConsole
containercombined container usage
dhcpDHCP-Server and DHCP-Client services
diskstorage-related services
dnsDNS-related services
dudeThe Dude package services
e-maile-mail tool
encryptingencrypting processes
eoipEoIP
ethernetEthernet-related properties like link speed, auto-negotiation, duplex mode, monitor transceiver diagnostic information, etc.
fetcherFetch tool
filemanFile manager
firewallFirewall-related processes
firewall-mgmtFirewall Management: Filtering, NAT, Mangle
flashstorage-related services
ftpFTP Service
gpsGPS Service
graphingGraphing tool
greGRE
healthsystem monitoring, system health
hotspotHotspot service
idleFree CPU resources
igmp-proxyIGMP Proxy service
internet-detectDetect Internet tool
ip-poolIP Pool service
ipsecIPsec service: xfrm - set of statistics showing numbers of packets dropped by the transformation code and why. drivers/crypto - drivers that provide access to the hardware cryptographic accelerators. ipsec - processes that relate to the Internet Key Exchange (IKE) protocols, Authentication Header (AH), Encapsulating Security Payload (ESP).
kvmKVM virtual machine functionality
l7-matcherL7 matcher
lcdLCD Interfaces system
ldpLabel Distribution Protocol (LDP)
loggingLogging system
managementdifferent subsystems: scheduler, networking, file management, etc.
mplsMPLS-related features
neighbor-discoveryNeighbor discovery service
networkingcommon set of services included in the networking
ntpNTP service
ospfOSPF service
ovpnOVPN service
pimProtocol Independent Multicast
profilingProfiler service
queue-mgmtQueues: Simple queues, Queue tree, Queue types
queuingIntermediate Queuing
radiusRADIUS service
radvdIPv6 Router Advertisement daemon (radvd) service
remote-accessaccessing the device directly without logging into RouterOS
ripRouting Information Protocol
routingRouting-related services
serialserial console and terminal tool
sniffingpacket Sniffer tool
snmpSNMP
socksSocket Secure
spistorage-related services
sshSSH Server
sslSSL
supout.rifsupout.rif file generation
telnetTelnet service
tftpTFTP service
traffic-accountingTraffic-Flow log system
traffic-flowTraffic-Flow system
unclassifiedprocesses or services that are not defined by this classifier
upnpUPnP protocol
usbUSB features
user-managerUser Manager service
vrrpVRRP
web-proxyWeb Proxy
winboxWinbox
wireguardWireguard
wirelesscommon set of services using Wireless systems
wwwWebfig HTTP service
zerotierZeroTier

For all parameters, see the /tool/profile CLI reference.