Home Article Benchmark a Raspberry Pi Using Vcgencmd

Benchmark a Raspberry Pi Using Vcgencmd

by shedboy71

Vcgencmd is a useful command has multiple options to measure clock speeds, temperatures, voltages. It is built in and has many parameters

Measure Clock Speeds

Description Command
Get Arm CPU core speed vcgencmd measure_clock arm
Get GPU core speed vcgencmd measure_clock core
Get H.264 block speed vcgencmd measure_clock h264
Get image sensor pipeline speed vcgencmd measure_clock isp
Get 3D block speed vcgencmd measure_clock v3d
Get UART speed vcgencmd measure_clock uart
Get PWM block (analog audio output) vcgencmd measure_clock pwm
Get SD card interface clock speed vcgencmd measure_clock emmc
Get pixel values vcgencmd measure_clock pixel
Get analogue video encoder speed vcgencmd measure_clock vec
Get HDMI clock vcgencmd measure_clock hdmi
Get display parallel interface clock speed vcgencmd measure_clock dpi
user@raspberrypi:~ $ vcgencmd measure_clock arm 
frequency(48)=600117184

Measure Voltages

We can measure the voltages of the VideoCore chip, RAM and the voltages, currents in use on the many power sources, including the Power Management IC.

Description Command
Get VideoCore voltage vcgencmd measure_volts core
Get RAM core voltage vcgencmd measure_volts sdram_c
Get RAM I/O voltage vcgencmd measure_volts sdram_i
Get RAM Phy voltage vcgencmd measure_volts sdram_p
Read PMIC voltages vcgencmd pmic_read_adc
user@raspberrypi:~ $ vcgencmd measure_volts core
volt=0.8688V

System Configuration Info

Description Command
Returns system configuration vcgencmd get_config int
Returns memory split for Arm CPU vcgencmd get_mem arm
Returns memory split for GPU vcgencmd get_mem gpu
user@raspberrypi:~ $ vcgencmd get_config int
arm_64bit=1
arm_boost=1
arm_freq=1500
audio_pwm_mode=514
auto_initramfs=1
camera_auto_detect=1
config_hdmi_boost=5
core_freq=500
core_freq_min=200
disable_commandline_tags=2
disable_fw_kms_setup=1
disable_l2cache=1
disable_overscan=1
display_auto_detect=1
display_hdmi_rotate=-1
display_lcd_rotate=-1
dvfs=3
enable_gic=1
force_eeprom_read=1
force_pwm_open=1
framebuffer_ignore_alpha=1
framebuffer_swap=1
gpu_freq=500
gpu_freq_min=250
init_uart_clock=0x2dc6c00
lcd_framerate=60
mask_gpu_interrupt0=3072
mask_gpu_interrupt1=25635
max_framebuffers=2
over_voltage_avs=-11250
pause_burst_frames=1
pciex4_reset=1
program_serial_random=1
total_mem=2048
hdmi_force_cec_address:0=65535
hdmi_force_cec_address:1=65535
hdmi_pixel_freq_limit:0=0x11e1a300
hdmi_pixel_freq_limit:1=0x11e1a300

System Throttle Status

When the Raspberry Pi hits around 80 degrees Celsius, it will enter thermal throttle. We can test for this

Description Command
Returns the system’s throttle state as a bit-pattern. vcgencmd get_throttled

The return value uses the following bit table

System Throttle Status Bit Table

Description Bit Hex Value
Under-voltage detected 0 0x1
Arm frequency capped 1 0x2
Currently throttled 2 0x4
Soft temperature limit active 3 0x8
Under-voltage has occurred 16 0x10000
Arm frequency capping has occurred 17 0x20000
Throttling has occurred 18 0x40000
Soft temperature limit has occurred 19 0x80000

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More