User avatar
RallyDarkstrike
Posts: 49
Joined: Fri May 22, 2020 7:53 pm

Re: Safe overclock settings for the RPi4?

Wed Oct 27, 2021 12:02 am

kerry_s wrote:
Tue Oct 26, 2021 9:25 pm
just skip the gpu, save the extra power for the cpu.
Will do! :)

Thanks all!

ganzgustav22
Posts: 330
Joined: Tue Feb 11, 2020 1:04 pm

Re: Safe overclock settings for the RPi4?

Wed Oct 27, 2021 11:50 am

kerry_s wrote:
Tue Oct 26, 2021 9:25 pm
just skip the gpu, save the extra power for the cpu.
With all the Pis before (Pi 0-3), overclocking the GPU would also speed up "CPU-only-tasks" like e.g. compressing an archive, kernel compiling etc.

Did that change with the Pi4? I think the CPU/GPU/RAM architecture is still very similar, so it should behave the same. But I've never tested it on the Pi4.

Solskogen
Posts: 94
Joined: Tue Sep 27, 2016 6:07 am

Re: Safe overclock settings for the RPi4?

Wed Oct 27, 2021 7:19 pm

If the over_voltage= options are not needed anymore, why are they still there?
https://www.raspberrypi.com/documentati ... ng-options
Does not say to enable, nor enable it, when overclocking...

User avatar
jahboater
Posts: 8370
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Safe overclock settings for the RPi4?

Wed Oct 27, 2021 9:23 pm

Solskogen wrote:
Wed Oct 27, 2021 7:19 pm
Does not say to enable, nor enable it, when overclocking...
Why not experiment?
Monitor the clock speeds, temperatures, and the voltage, and see for yourself how the firmware deals with it.

cleverca22
Posts: 6835
Joined: Sat Aug 18, 2012 2:33 pm

Re: Safe overclock settings for the RPi4?

Wed Oct 27, 2021 9:31 pm

some notes about changing clocks and thermals
i found that clock freq has almost nothing to do with heat generated
the core voltage is what affects how hot things get
the reason people think they are linked, is because the firmware will change the core voltage every time the freq changes

Code: Select all

root@pi400:~# cd /sys/devices/system/cpu/cpufreq/policy0
root@pi400:/sys/devices/system/cpu/cpufreq/policy0# echo userspace > scaling_governor 
root@pi400:/sys/devices/system/cpu/cpufreq/policy0# vcgencmd measure_clock arm ; vcgencmd measure_volts core
frequency(48)=600117184
volt=0.8600V
root@pi400:/sys/devices/system/cpu/cpufreq/policy0# cat scaling_available_frequencies 
600000 700000 800000 900000 1000000 1100000 1200000 1300000 1400000 1500000 1600000 1700000 1800000 
root@pi400:/sys/devices/system/cpu/cpufreq/policy0# echo 1800000 > scaling_setspeed 
root@pi400:/sys/devices/system/cpu/cpufreq/policy0# vcgencmd measure_clock arm ; vcgencmd measure_volts core
frequency(48)=1800457088
volt=0.9260V
root@pi400:/sys/devices/system/cpu/cpufreq/policy0# 
so the faster it runs, the more voltage it gets, which then results in it running hotter
the reason for that, is that it needs more voltage, to be stable at that higher clock

but also, too much voltage could damage the chip, so you dont want to just whack it to max

Solskogen
Posts: 94
Joined: Tue Sep 27, 2016 6:07 am

Re: Safe overclock settings for the RPi4?

Thu Oct 28, 2021 7:56 am

jahboater wrote:
Wed Oct 27, 2021 9:23 pm
Monitor the clock speeds, temperatures, and the voltage, and see for yourself how the firmware deals with it.
I sure did! And it crashed :-)
After I power cycled it, it worked however! (Thank you!) But my question is just what your sources are. After my attempt I'm quite sure that you are correct, but I still miss the sources. The Pi documentation isn't quite clear about it either. Are the overvolt-settings for something else, perhaps?

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 31871
Joined: Sat Jul 30, 2011 7:41 pm

Re: Safe overclock settings for the RPi4?

Thu Oct 28, 2021 8:19 am

It's quite difficult keeping the docs up to date with the current state of the clock firmware as its quite a moving target. I no longer deal with the docs either, so its no longer just a matter of me quickly editing it to fix up changes.
Principal Software Engineer at Raspberry Pi Ltd.
Working in the Applications Team.

Solskogen
Posts: 94
Joined: Tue Sep 27, 2016 6:07 am

Re: Safe overclock settings for the RPi4?

Thu Oct 28, 2021 9:45 am

Overclocking to 2.3GHz on my Pi4 did not go so well without

Code: Select all

over_voltage=8

User avatar
jahboater
Posts: 8370
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Safe overclock settings for the RPi4?

Thu Oct 28, 2021 10:05 am

cleverca22 wrote:
Wed Oct 27, 2021 9:31 pm
so the faster it runs, the more voltage it gets, which then results in it running hotter
the reason for that, is that it needs more voltage, to be stable at that higher clock
The voltage seems to be dependent on the temperature as well.
That is, my Pi4 with a good passive heat sink runs at lower voltages than another Pi4 with no heat sink.
(using the same SD card, both 8GB models).

So adding cooling reduces the temp, which enables a reduction in the voltage, which further reduces the temp.
A win win!

mcmanuf
Posts: 84
Joined: Wed Aug 22, 2012 12:29 am

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 7:35 am

jahboater wrote:
Thu Oct 28, 2021 10:05 am
cleverca22 wrote:
Wed Oct 27, 2021 9:31 pm
so the faster it runs, the more voltage it gets, which then results in it running hotter
the reason for that, is that it needs more voltage, to be stable at that higher clock
The voltage seems to be dependent on the temperature as well.
That is, my Pi4 with a good passive heat sink runs at lower voltages than another Pi4 with no heat sink.
(using the same SD card, both 8GB models).

So adding cooling reduces the temp, which enables a reduction in the voltage, which further reduces the temp.
A win win!
Hi.
I am experiencing something very strange.
New installation of Raspberry Pi OS(64bit) lite.
I have apt update and apt dist-upgrade . However not rpi-update, as I am being warned.

Code: Select all

#############################################################
WARNING: This update bumps to rpi-5.15.y linux tree
See: https://forums.raspberrypi.com/viewtopic.php?t=322879

'rpi-update' should only be used if there is a specific
reason to do so - for example, a request by a Raspberry Pi
engineer or if you want to help the testing effort
and are comfortable with restoring if there are regressions.

DO NOT use 'rpi-update' as part of a regular update process.
##############################################################

uname -a string gives me:

Code: Select all

root@rpi:~# uname -a
Linux rpi 5.10.92-v8+ #1514 SMP PREEMPT Mon Jan 17 17:39:38 GMT 2022 aarch64 GNU/Linux
When default speed (#arm_freq=1500 commented out in config.txt), I get the following cpu freq:

Code: Select all

root@rpi:~/scripts# ./pistats.sh
Time       Temp     CPU     Core         Health           Vcore    PMIC
08:18:41  48.7'C  1500MHz  500MHz  00000000000000000000  0.8625V  46.7'C
When arm_freq=1600

Code: Select all

root@rpi:~/scripts# ./pistats.sh
Time       Temp     CPU     Core         Health           Vcore    PMIC
08:26:36  62.3'C  1500MHz  469MHz  00000000000000000000  0.8625V  54.3'C
When arm_freq=1800

Code: Select all

root@rpi:~/scripts# ./pistats.sh
Time       Temp     CPU     Core         Health           Vcore    PMIC
08:23:22  62.8'C  1500MHz  424MHz  00000000000000000000  0.8625V  54.3'C
So strangely, core speed DECREASES and CPU freq. stays the same at 1500MHz.

User avatar
jahboater
Posts: 8370
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 8:41 am

mcmanuf wrote:
Mon Feb 28, 2022 7:35 am
So strangely, core speed DECREASES and CPU freq. stays the same at 1500MHz.
I assume you are using the same "heavy" workload ?

This command is sometimes useful:

Code: Select all

cat /sys/devices/system/cpu/cpufreq/policy0/stats/time_in_state
For interest;
Here is a C version of the pistat program that's light enough not to trigger the scaling governor.
Compile with "gcc -Os -s pistat.c -o pistat" and put it in /usr/local/bin/pistat (say):

Code: Select all

/*
 *  Raspberry Pi System Monitor
 *
 *  *** WARNING ***
 *  This code is lightweight to avoid triggering the frequency scaling governor.
 *
 *  It would be preferable to use the mailbox directly. However compared to the shell
 *  script this C version does one less call to vcgencmd (collects CPU and CORE in one go),
 *  removes the script overheads, and improves the presentation.
 *  Worst case execution time per sample (700MHz Pi1) 87ms.
 *
 *  USAGE:  pistat [delay [count]]
 *  Delay and count behave as vmstat see "man vmstat" for info.
 *
 *  LIMITS (without simple code change)
 *  MEMORY >= 256MB && MEMORY <= 128GB
 *  CPU >= 100MHz && CPU < 10GHz
 *  CORE >= 100MHz && CORE < 1GHz
 *  TEMP >= 10C && TEMP < 100C
 *  VOLTS < 10.0
 *
 *  Last delta: 29/12/2021
 */

#define _GNU_SOURCE 1

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <time.h>
#include <errno.h>

#define chr(c) (char)((c) | 48)
#define scan(p,r,c) ({ do --r; while( *p++ != c && r ); p[-1] == c; })
#define result(st) fgets(in, IOSIZE, fp); s = in + st
#define collect(com,st) fp = popen("vcgencmd " #com, "r"); result(st)
#define inline __inline__ __attribute__((always_inline))
#define error(s) { write(2, s "\n", sizeof(s)); _exit(1); }

typedef uint16_t u16;
typedef uint32_t u32;

#define IOSIZE 1024

static inline char *
utoa( char *p, u32 n )
{
  do
    *--p = chr(n % 10);
  while( n /= 10 );
  return p;
}

/*
 *  Get the Pi description including the memory size
 *  For example: Raspberry Pi 4 Model B Rev 1.4 8GB
 */
static char *
model( char * const in, char * const buf )
{
  const int fd = open("/proc/device-tree/model", O_RDONLY);
  if( fd < 0 )
    return in;
  char *tail, *p = in + read(fd, in, IOSIZE);
  close(fd);

  /*
   *  Get the Pi's memory size.
   *  Also properly validate vcgencmd (no checks are done for the periodic update).
   */
  errno = 0;
  FILE *fp = popen("vcgencmd get_config total_mem", "r");
  if( fp == NULL || errno )
    error("cannot run vcgencmd");
  fgets(buf, IOSIZE, fp);
  pclose(fp);
  if( memcmp(buf, "total_mem=", 10) )
    error("total_mem field missing");
  u32 mem = (u32)strtoul(buf + 10, &tail, 10);
  if( *tail != '\n' || mem < 256 || mem > 128*1024 || errno )
    error("total_mem field invalid");
  char *e = buf + 8;
  if( mem < 1024 )
    *e = 'M';
  else
  {
    mem /= 1024;
    *e = 'G';
  }
  e[1] = 'B';
  e = utoa(e, mem);
  *p++ = ' ';
  p = mempcpy(p, e, (size_t)((buf + 10) - e));
  fp = popen("vcgencmd get_mem gpu", "r");
  fgets(buf, IOSIZE, fp);
  pclose(fp);
  e = memchr(buf + 4, '\n', IOSIZE - 4);
  p = mempcpy(mempcpy(p, " (gpu ", 7), buf + 4, (size_t)(e - (buf + 4)));
  return mempcpy(p, "B)\n", 3);
}

  // Stats so far (time spent at each CPU frequency)
static char *
time_in_state( char *p, char *buf )
{
  const int fd = open("/sys/devices/system/cpu/cpufreq/policy0/stats/time_in_state", O_RDONLY);
  if( fd < 0 )
    return p;
  const ssize_t file_len = read(fd, buf, IOSIZE);
  close(fd);
  bool align = false;
  ssize_t rem = file_len;
  for( char *t = buf, *ptr = buf; rem > 0 && scan(ptr, rem, '\n'); t = ptr )
  {
    if( t[6] != ' ' )
    {
      align = true;
      break;
    }
  }
  rem = file_len;
  for( char *ptr = buf; rem > 0 && scan(ptr, rem, '\n'); buf = ptr )
  {
    size_t len = 7;
    if( buf[6] == ' ' )
    {
      if( align )
        *p++ = ' ';
      len = 6;
    }
      // discard last three zero's giving MHz to match values below
    p = mempcpy(mempcpy(p, buf, len - 3), buf + len, (size_t)(ptr - buf) - len);
  }
  return p;
}

  // bump 199.99 to 200
static inline void
inc( char *p, size_t len )
{
  u32 n = 0;
  do
    n = n * 10 + (*p++ & 15);
  while( --len );
  utoa(p, n + 1);
}

int
main( int argc, const char *argv[] )
{
  char buf[IOSIZE], in[IOSIZE];
  char *s, *p;
  u32 lines = 15, delay = 0, count = 1;
  size_t len;
  FILE *fp;
  time_t t;
  u16 tmp;

  if( argc > 1 )
  {
    char *tail;
    delay = (u32)strtoul(argv[1], &tail, 10);
    if( tail == argv[1] )
      error("invalid delay");
    if( argc > 2 )
    {
      count = (u32)strtoul(argv[2], &tail, 10);
      if( tail == argv[2] )
        error("invalid count");
    }
    else
      count = UINT32_MAX;
  }

    // headers
  write(1, in, (size_t)(time_in_state(model(in, buf), buf) - in));

  buf[5] = buf[2] = ':';

  for( u32 i = 1; i <= count; ++i )
  {
    memset(p = buf + 8, ' ', 64);

      // CPU MHz "frequency(48)=2100000000"
    collect(measure_clock arm core, 14);
    len = 3 + (s[9] != '\n');
    if( s[len] == '9' )
      inc(s, len);
    memcpy((p += 8) - len, s, len);

      // CORE MHz "frequency(1)=200000000"
    result(13);
    if( s[3] == '9' )
      inc(s, 3);
    memcpy((p += 8) - 3, s, 3);
    pclose(fp);

      // VOLTAGE "volt=1.2000V"
    collect(measure_volts, 5);
    len = 5 + (s[5] != '0');
    if( s[len-2] == '0' && s[len-1] == '0' )
      len -= 2;
    memcpy((p += 9) - len, s, len);
    pclose(fp);

      // TEMPERATURE "temp=39.0'C"
    collect(measure_temp, 5);
    memcpy((p += 8) - 4, s, 4);
    pclose(fp);

      // HEALTH "throttled=0x0\n"
    collect(get_throttled, 10);
    memcpy(&tmp, s + 2, 2);
    if( tmp == 0x0A30 )  // "0\n"
      memcpy((p += 8) - 3, "OK\n", 4);
    else
      p = stpcpy(p + 2, s);
    pclose(fp);

      // TIME
    time(&t);
    struct tm const * const now = localtime(&t);
    buf[0] = chr(now->tm_hour / 10);
    buf[1] = chr(now->tm_hour % 10);
    buf[3] = chr(now->tm_min / 10);
    buf[4] = chr(now->tm_min % 10);
    buf[6] = chr(now->tm_sec / 10);
    buf[7] = chr(now->tm_sec % 10);

      // Print record
    if( ++lines == 16 )
    {
      write(1, "Time         CPU    Core    Vcore    Temp   Health\n", 51);
      lines = 0;
    }
    write(1, buf, (size_t)(p - buf));

    if( i < count )
      sleep(delay);
  }
}


mcmanuf
Posts: 84
Joined: Wed Aug 22, 2012 12:29 am

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 10:41 am

I now ran the
https://github.com/ThomasKaiser/sbc-bench

And yes now it works perfectly, monitoring the CPU and core Freq..

However I am very surprised you can run it without throttling?
Do you use not passive cooling solution whatever?

I think in normal everyday life, it if possible. But running a thermal benchmark, I cannot believe how you could run it with no cooling solution.

Try running:

Code: Select all

sbc-bench -T 100
I think you will get throttling very quickly.

EDIT:
I even get throttling when running default 1500MHz. And ambient temperture is 25 deg celcius.
"10000000000000001000"
CPU temp gets above 82 deg, when running command I gave you.
Last edited by mcmanuf on Mon Feb 28, 2022 10:51 am, edited 1 time in total.

User avatar
jahboater
Posts: 8370
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 10:48 am

mcmanuf wrote:
Mon Feb 28, 2022 10:41 am
However I am very surprised you can run it without throttling?
Do you use not passive cooling solution whatever?
The main Pi4 I use (which is normally overclocked to 2.1GHz) is in this case:

https://thepihut.com/products/aluminium ... berry-pi-4

with a liquid metal TIM. It does not throttle under any circumstances.
(I live in the UK and the room temp is around 20-25C, I imagine if you lived in a very hot country with no air-con it might throttle).

mcmanuf
Posts: 84
Joined: Wed Aug 22, 2012 12:29 am

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 10:53 am

jahboater wrote:
Mon Feb 28, 2022 10:48 am
mcmanuf wrote:
Mon Feb 28, 2022 10:41 am
However I am very surprised you can run it without throttling?
Do you use not passive cooling solution whatever?
The main Pi4 I use (which is normally overclocked to 2.1GHz) is in this case:

https://thepihut.com/products/aluminium ... berry-pi-4

with a liquid metal TIM. It does not throttle under any circumstances.
(I live in the UK and the room temp is around 20-25C, I imagine if you lived in a very hot country with no air-con it might throttle).

Ohh thank you.
I thought you used no passive cooling whatsoever, and could absolutely not understand how.
Now it makes much more sense :)

I will get a case soon, and do more testing.

Did you just enter arm_freq=2100, or also add other parameters such as overvoltage?
Also which rev. board?

User avatar
jahboater
Posts: 8370
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 11:02 am

mcmanuf wrote:
Mon Feb 28, 2022 10:53 am
I will get a case soon, and do more testing.

Did you just enter arm_freq=2100, or also add other parameters such as overvoltage?
Also which rev. board?
I added these entries in config.txt

Code: Select all

arm_freq=2100
arm_freq_min=400
core_freq=700
core_freq_min=200
I do not add "over_voltage" because it makes the Pi run hotter.
Without over_voltage, the voltage changes automatically with the frequency and the temperature.
This means the Pi runs very cool when idle.

User avatar
jahboater
Posts: 8370
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 11:05 am

That sbc-bench thing failed to run on my Pi, there is a problem about a here doc in the script.

There is a good stress test in the repository - what temps do you get with this:

Code: Select all

sudo apt install stress-ng
then run:

Code: Select all

stress-ng --cpu 0 --cpu-method fft
On the 2.1GHz Pi4 it reaches here after some time (output from the C program above) ...

Code: Select all

$ ./pistat 10
Raspberry Pi 4 Model B Rev 1.4 8GB (gpu 76MB)
 400 12650040
 500 79898
 600 20132
 700 23208
 800 10876
 900 1516
1000 820
1100 379
1200 246
1300 0
1400 0
1500 0
1600 0
1700 0
1800 0
1900 0
2000 0
2100 194736
Time         CPU    Core    Vcore    Temp   Health
11:09:15    2100     700    0.972    71.1     OK
11:09:25    2100     700    0.972    71.1     OK
11:09:35    2100     700    0.972    70.1     OK
11:09:45    2100     700    0.972    70.6     OK

normal workloads such as compiling and testing software do not get anywhere near that temperature.

mcmanuf
Posts: 84
Joined: Wed Aug 22, 2012 12:29 am

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 11:14 am

jahboater wrote:
Mon Feb 28, 2022 11:02 am
mcmanuf wrote:
Mon Feb 28, 2022 10:53 am
I will get a case soon, and do more testing.

Did you just enter arm_freq=2100, or also add other parameters such as overvoltage?
Also which rev. board?
I added these entries in config.txt

Code: Select all

arm_freq=2100
arm_freq_min=400
core_freq=700
core_freq_min=200
I do not add "over_voltage" because it makes the Pi run hotter.
Without over_voltage, the voltage changes automatically with the frequency and the temperature.
This means the Pi runs very cool when idle.
Thank you.
So you actually also underclock your cpu and core. Why do you do that?
Is the 600Mhz limit on the PI not the "minimum" stable freq? You put it down to 400?
Why did you put in this line: core_freq_min=200 . Isnt this the default min freq anyways?

Also should there be a overclocking relationship arm_freq and core_freq. Like a sort of ratio?
Did you increase arm_freq first until stability limit, and then core_freq until stability limit?
Or you notch them both up simultaneously with a fixed ratio and test?
jahboater wrote: That sbc-bench thing failed to run on my Pi, there is a problem about a here doc in the script.

There is a good stress test in the repository - what temps do you get with this:

Code: Select all

sudo apt install stress-ng
then run:

Code: Select all

stress-ng --cpu 0 --cpu-method fft
On the 2.1GHz Pi4 it reaches here after some time (output from the C program above) ...

Code: Select all

Time         CPU    Core    Vcore    Temp   Health
11:04:28    2100     700    0.972    65.7     OK
11:04:38    2100     700    0.972    65.7     OK
11:04:48    2100     700    0.972    66.2     OK
11:04:58    2100     700    0.972    65.7     OK
11:05:08    2100     700    0.972    66.2     OK
11:05:18    2100     700    0.972    65.7     OK
11:05:28    2100     700    0.972    66.7     OK
11:05:38    2100     700    0.972    66.2     OK
11:05:48    2100     700    0.972    67.2     OK
11:05:58    2100     700    0.972    67.2     OK
11:06:08    2100     700    0.972    67.2     OK
11:06:18    2100     700    0.972    67.6     OK
11:06:29    2100     700    0.972    68.6     OK
11:06:39    2100     700    0.972    68.1     OK
11:06:49    2100     700    0.972    68.1     OK
11:06:59    2100     700    0.972    67.2     OK
Wow very nice results. Yeah I reach throttling also with this test.
Anyway will order case and make new tests.

Wonder how effective the thermal pads are compared to thermal paste.

User avatar
jahboater
Posts: 8370
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 11:29 am

mcmanuf wrote:
Mon Feb 28, 2022 11:14 am
So you actually also underclock your cpu and core. Why do you do that?
Is the 600Mhz limit on the PI not the "minimum" stable freq? You put it down to 400?
I underclock it only when idle. Most computers are idle most of the time so it seems a waste of electricity to run it faster than it needs.
Here is the same Pi4. I ran stress-ng for about 30 seconds and you can see the voltage changing with the load.
It does not do this with "over_voltage=" which seems to add a fixed increase to the voltage.

Code: Select all

Time         CPU    Core    Vcore    Temp   Health
11:14:18     500     229    0.840    56.0     OK
11:14:28     400     200    0.840    55.0     OK
11:14:38     400     200    0.840    55.0     OK
11:14:48     400     200    0.840    54.5     OK
11:14:58    2100     700    0.972    65.2     OK
11:15:08    2100     700    0.972    66.2     OK
11:15:18    2100     700    0.972    67.2     OK
11:15:28     400     200    0.840    55.0     OK
11:15:38     400     200    0.840    54.5     OK
11:15:48     400     200    0.840    53.5     OK
11:15:58     400     200    0.840    53.5     OK
11:16:08     400     200    0.840    53.0     OK
11:16:18     400     200    0.840    52.1     OK
11:16:28     400     200    0.840    52.1     OK
As for choosing 400MHz for the idle instead of 600MHz, the issue is response time.
When you run a program, it takes time for the governor to detect the high CPU utilization and increase the frequency.
So for a few milliseconds its running at the slow frequency. If you set arm_freq_min too low, it feels slightly less responsive (mostly on an old Pi model). The Pi4 is fast enough to be very responsive at 400MHz.
If you do:

Code: Select all

cat /sys/devices/system/cpu/cpufreq/policy0/stats/time_in_state
you will see how much time the Pi spends at idle.
mcmanuf wrote:
Mon Feb 28, 2022 11:14 am
Why did you put in this line: core_freq_min=200 . Isnt this the default min freq anyways?
You are right, it is the default. I will delete that line.
mcmanuf wrote:
Mon Feb 28, 2022 11:14 am
Also should there be a overclocking relationship arm_freq and core_freq. Like a sort of ratio?
Did you increase arm_freq first until stability limit, and then core_freq until stability limit?
Or you notch them both up simultaneously with a fixed ratio and test?
I have been running with 2.1GHz arm speed for a long time. I recently added the core boost as well.
I did not notice any obvious benefit. I don't know of any relationship between the two speeds but someone else might.
It seems good that, at idle, the CPU speed is 400 and the core speed is 200 (exactly double) but that might well be my imagination (that sort of thing, an exact multiple, has been important for computers I have used in the past, I have no idea if it matters for the Pi).
mcmanuf wrote:
Mon Feb 28, 2022 11:14 am
Wonder how effective the thermal pads are compared to thermal paste.
To use paste or liquid metal, the case must touch the top of the SoC chip.
Many cases do not, and have a small gap which must be filled with a pad or a shim.
I don't like that. Pad's vary (some actually insulate!!!!), and even a copper shim means there are two thermal interfaces to worry about.
There are various types of paste, I'm sure most are fine, I normally use arctic silver.
However liquid metal seemed to offer the best performance by far, but it is dangerous - it is conductive, so a mistake during application could damage the Pi. Pi's are so cheap compared to Intel PC's that I took the risk!

mcmanuf
Posts: 84
Joined: Wed Aug 22, 2012 12:29 am

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 11:48 am

Thank you so much for your very helpful and thorough answers.

In regard to:
jahboater wrote:
Mon Feb 28, 2022 11:05 am
That sbc-bench thing failed to run on my Pi, there is a problem about a here doc in the script.
I dont really understand why it does not run on your pi. The script just ran without any issues on my pi (RPI OS lite (64bit) bullseye)

The reason I like this benchmark, is there is a good result page, comparing between different SBC's.
https://github.com/ThomasKaiser/sbc-ben ... Results.md

Your very high overlock would definitely be valuable in the comparison table, in regard to encyrption, 7zip etc..

Also It would be very valuable to see what arm_freq=2100 / core_freq=500 would give of result, and arm_freq=2100 /core_freq=700

If you at any point in time, has some spare time, it would be greatly helpfull, to understand PI's capabilitys during overclock, and the affect of overclocking core. The arm_freq=1500 and arm_freq=1800 is already filled out in the table.

User avatar
jahboater
Posts: 8370
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Safe overclock settings for the RPi4?

Mon Feb 28, 2022 12:04 pm

What is it installing on my Pi without asking first ?
Installing needed tools. This may take some time...WARNING: Not able to execute cpuminer. Aborting.
Note my Pi4 has a standard (and recent) install of Raspberry Pi OS Full 64-bit.
Perhaps the problem is the 64-bit OS.

You will be able to test it yourself soon.

Return to “General discussion”