1.9k
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 |