Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Upgrade to 2.3 CPU Running Harder

    Scheduled Pinned Locked Moved Problems Installing or Upgrading pfSense Software
    25 Posts 11 Posters 7.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pLu
      last edited by

      @robi:

      In the freeBsd patch quoted above they say

      These CPU speed control techniques are usually unhelpful at best.

      I can confirm this. On my Supermicro a1sri-2758f for example, enabling PowerD makes things worse. NAT throughput is only about 400Mbit/sec for the first 8-10 seconds - that's the time required for the CPU to scale up and allow NATting at 1Gbps. Enabling PowerD actually reduces performance, since network load appears in spikes, with CPU freq scaling all these spikes would be limited to 400 Mbit.

      How does sysctl hw.acpi.cpu.cx_lowest=C2 affect NAT performance (with PowerD off)?

      1 Reply Last reply Reply Quote 0
      • S
        SaschaITM
        last edited by

        I'm also having troubles with CPU usage/utilization after the 2.3 upgrade. I'm running pfSense on an old-ish Core2Duo HP notebook with a rather noisy fan. With 2.2.6, the fan would spin up only when system utilization was quite high, for example with fast transfers over a OpenVPN tunnel. With 2.3 the fan is spinning at an audible level all the time, and will spin up very often, even when the box is "idling". I've already tried the methods desribed in this thread, but can't get the system to be "quiet" again.

        One interesting thing is that the command "powerd -v" shows that the CPU is at its maximum freq nearly all the time, this looks like this: "load  14%, current freq 2000 MHz ( 0), wanted freq 3521 MHz". Every few seconds there's an entry like "changing clock speed from 2000 MHz to 1750 MHz", but the clock speed changes to the max again right after that (meaning the system doesn't stay at the lower frequency). This happens with "Adaptive" and "Hiadaptive".

        The problem with my and other systems is probably not only noise levels, but also heat generation. If the box is sitting in an enclosed space, excessive heat generation could lead to overheating over time.

        Is there anything that can be done to maybe decrease the max cpu frequency, or make powerd "ramp up" slower? It'd also be interesting to hear if other people also have this problem, and what the devs think about this issue.

        1 Reply Last reply Reply Quote 0
        • P
          pLu
          last edited by

          Saschal, try sysctl hw.acpi.cpu.cx_lowest=Cmax to lower temperature a little, but don't add it to System Tunables until you know it's stable. Also make sure you're running the latest BIOS.

          See sysctl dev.cpu.0.cx_usage dev.cpu.1.cx_usage

          1 Reply Last reply Reply Quote 0
          • provelsP
            provels
            last edited by

            @SaschaITM:

            One interesting thing is that the command "powerd -v" shows that the CPU is at its maximum freq nearly all the time, this looks like this: "load  14%, current freq 2000 MHz ( 0), wanted freq 3521 MHz". Every few seconds there's an entry like "changing clock speed from 2000 MHz to 1750 MHz", but the clock speed changes to the max again right after that (meaning the system doesn't stay at the lower frequency). This happens with "Adaptive" and "Hiadaptive".

            I may be able to help.  If you have already tried adding the below to loader.conf,

            hint.p4tcc.0.disabled="0"
            hint.acpi_throttle.0.disabled="0"
            
            

            leave it there because you'll need it and see what FreeBSD has chosen for the timecounter and what choices are available.

            
            [2.3-RELEASE][root@fw.local]/root: sysctl kern.timecounter.hardware
            kern.timecounter.hardware: i8254
            
            [2.3-RELEASE][root@fw.local]/root: sysctl kern.timecounter.choice
            kern.timecounter.choice: TSC(800) i8254(0) dummy(-1000000)
            
            

            In my case, TSC was initially chosen by FreeBSD.  I was able to change it to i8254 (the next lower quality) by adding kern.timecounter.hardware i8254 to System/Advanced/System Tunables tab.  You would add whatever the second quality is on your hardware.  Rebooted and powerd worked as expected.  My lowly VIA C7 box now ramps nearly immediately and starts throttling after 4-5 seconds.  Although this will probably result in a face/palm from anyone who knows FreeBSD, it worked for me!  :o

            Peder

            MAIN - pfSense+ 24.11-RELEASE - Adlink MXE-5401, i7, 16 GB RAM, 64 GB SSD. 500 GB HDD for SyslogNG
            BACKUP - pfSense+ 23.01-RELEASE - Hyper-V Virtual Machine, Gen 1, 2 v-CPUs, 3 GB RAM, 8GB VHDX (Dynamic)

            1 Reply Last reply Reply Quote 0
            • P
              pLu
              last edited by

              Interesting. See if you can enable HPET in BIOS, since it is preferred.

              kern.timecounter.choice: TSC(800) HPET(950) ACPI-fast(900) i8254(0) dummy(-1000000)
              
              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.