Memory at 99% CPU1, memory hogging

Help needed: RAM hogging and shutdown error on Linux Mint

I’m experiencing two issues on my system, and I’m wondering if anyone else has encountered them.

System specs:

  • Device: Dynabook Portégé X30L-J (PCR12A-0J1001WP)
  • OS: Linux Mint 22.3 with Cinnamon 64-bit
  • Kernel: 6.17.0-23-generic
  • CPU: 11th Gen Intel Core i7-1185G7 @ 3.00GHz (4 cores)
  • GPU: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics]
  • RAM: 32.5 GB
  • Display Server: X11
  • Cinnamon: 6.6.7

Issues:

  1. High CPU usage: One core (CPU 1) is consistently running at 99% utilization, and I’m getting an error message about something hogging RAM.

  2. Shutdown error: When I shut down, a message appears briefly on screen that says something like “try using WQ unbounded” (or similar—it disappears too quickly for me to read it fully).

Additional info: I’ve tested this on a live boot of the latest Ubuntu and experienced the same problem, which suggests it’s not specific to Mint.

Has anyone else seen this? If you have, I’d appreciate any fixes or troubleshooting steps you’ve found helpful.

Cheers Ossie

3 Likes

Hi, @oswald_carter :handshake:
Welcome to the community!

1 Like

Hey Ossie,

Have a read of this, looks like the same root cause you’re hitting: https://community.intel.com/t5/Graphics/CRITICAL-TECHNICAL-ANALYSIS-Persistent-PSR-Synchronization/td-p/1744543

It’s a different symptom (flicker vs your pinned CPU) but it’s the same broken PSR handshake in the i915 driver, and the fix they landed on lines up with what I was going to suggest.

That “try WQ_UNBOUND” message is a kernel workqueue warning, and almost always the i915 driver getting stuck, which would also explain the pinned CPU1.

Run dmesg -w and watch it while it’s happening, or journalctl -k -b -1 | grep -iE "i915|workqueue" after a reboot to catch it from the previous boot. That wll confirm it.

So like in that link above you can also try i915.enable_psr=0 on the kernel line (edit the GRUB entry with e). If CPU1 calms down, make it permanent.

Edit: If that works, make it permanent, by editing /etc/default/grub, find the GRUB_CMDLINE_LINUX_DEFAULT line and add i915.enable_psr=0 inside the quotes, then run:

sudo update-grub and reboot

So your line would look something like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0"
5 Likes

Hi Hayden,
Thanks for getting back to me. I’ve noticed that my PC runs smoothly when plugged into mains power, but reverts to using 98% CPU1 when operating on battery. Additionally, my power settings have changed—I no longer have the three options I previously had. While this isn’t ideal, it’s okay.

2 Likes

Hi John, thanks for the invite to the community.
Ossie

2 Likes

Hi @oswald_carter That actually makes sense. On battery the CPU clocks down to save power, so that stuck process is eating a much bigger slice of a smaller pie. On AC it’s running at full speed so the same load does not consume as high a percentage of CPU.

So, it’s not really doing more work on battery, there’s just less headroom available on battery, so it shows up as 98% on one core. It may not be that one reason but that’s likely the reason.

You can see something a bit similar where my CPUs are max out on this device when it’s config to stay locked at 800 MHz even though it’s capable of 3600 MHz:

Did you apply that i915.enable_psr=0 option you mean? Or noticing something else?

And thanks for circling back here to follow up on this. :penguin:

2 Likes

I tried to send you a pix of what is happening but the sysyem would not let me.
I am not sure how to run that argument. Honestly I am a bit of a dummy when it comes to this stuff. This means any help is greatly appreciated.

1 Like

Do you mean the power saver - balanced - high performance options disappeared?

1 Like

Yes, but I was trying stuff…

1 Like

You can try again. Should work now.

1 Like

Sorry for the delay here is a pix of my Grub menu

2 Likes

I think the following is how my pc boots.

2 Likes

more info.


This appears to be lots of conflicting stuff. Due to my limited understanding I am scratching my head…

2 Likes

This is my CPU when power is disconnected and running on battery.

2 Likes

No worries @oswald_carter looks like you’ve already added i915.enable_psr=0 which is great. But there’s one issue with the file.

You’ve got nvme_core.default_ps_max_latency_us=0 on its own line, and that won’t work, it needs to be inside the quotes with the others, everything on the same line.

Out of curiosity, where did the nvme_core.default_ps_max_latency_us=0 come from? That’s an unrelated tweak for NVMe power state issues, just want to make sure you actually need it. Did you add it? It should be removed or reverted.

To fix this, open the file again:

sudo nano /etc/default/grub

Change the two lines so they become one line, exactly like this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0 nvme_core.default_ps_max_latency_us=0"

Then delete the orphan nvme_core.default_ps_max_latency_us=0 line below it.

Press Ctrl+O then Enter to save, then Ctrl+X to exit nano. Then run:

sudo update-grub

Reboot, unplug the charger, and see if CPU1 still pegs at 98%. If it does, we’ll have to dig further. If it calms down, we’ve got it.

Quick note: i915.enable_psr=0 is just a module parameter, it tells the i915 driver to skip PSR (a power saving feature). Worst case the driver ignores it or the system just boots without PSR.

2 Likes

Out of curiosity, where did the nvme_core.default_ps_max_latency_us=0 come from?
This came from my attempt of using Ai
After completing the menu and trying to update this is what happened.

2 Likes

This is what my updated grub looks like.

2 Likes

My system admin looks like this.


and this is not congruent with what I have done… I don’t think …

2 Likes

Two things @oswald_carter First, the file looks correct now, good job.

However, the update-grub is failing with that error 39/etc/default/grub: x: not found.

That usually means there’s a stray character or broken line somewhere in the file that bash can’t parse, so update-grub bailed out and didn’t actually apply your changes. That is the reason why your boot parameters screen still shows the old quiet splash Linuxacpi=noec instead of the new ones.

Can you paste the full contents of the file? Run this and paste the output:

cat /etc/default/grub

Also, that Linuxacpi=noec looks like a typo of acpi=noec from an earlier attempt, did you add that at some point? Once we can see the whole file we will be able to help you spot what’s breaking it.

1 Like

Hmmm, I really appreciate your help, clearly my skills are not this!

ossie@ossie-PORTEGE-X30L-J:~$ cat /etc/default/grub
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0 nvme_core.default_ps_max_latency_us=0"
GRUB_CMDLINE_LINUX=""
# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

x
X

ossie@ossie-PORTEGE-X30L-J:~$
2 Likes