Skip to main content

GPU Memory Underclocking

⚠️ Warning This is a hardware issue, it can be caused by overheating or age. Treat this as a temporary solution and not permanent fix.

Background​

This issue could cause GPU Freezes, game crashes, or abnormal GPU behavior.

The Machine​

  • Type : Laptop
  • Model : ASUS TUF A15 FA506IC
  • GPU : Nvidia RTX3050

Solution​

Use LACT or run the following script.

This script will limit the VRAM, making it run with lower VRAM speed (in the range of 1000 and 5501).

Step 1: Create the script​

Create the file /usr/local/bin/gpu-stabilize.sh:

#!/bin/bash

# 1. Enable Persistence Mode (Fixes the warning you saw)
# This keeps the driver loaded so settings don't reset.
nvidia-smi -pm 1

# Uncomment this to reset nvidia configuration without restart or reboot
#nvidia-smi --reset-gpu-clocks # Reset GPU Clocks
#nvidia-smi --reset-memory-clocks # Reset VRAM Clocks

# 2. Lock the GPU Clocks
# We are capping the 'Boost' to prevent the crash.
#nvidia-smi --lock-gpu-clocks=1000,1200

# 3. Set a conservative Power Limit (Optional but recommended)
# The default power for TUF A15 FA506IC is 60W.
nvidia-smi -pl 45

# 4. Set VRAM Speed (Locking Memory Clocks)
# If this command is unsupported, the script will just move on.
nvidia-smi --lock-memory-clocks=1000,5501

Step 2: Make the script executable​

sudo chmod +x /usr/local/bin/gpu-stabilize.sh

Step 3: Create the systemd service​

Create the file /etc/systemd/system/gpu-stabilize.service:

[Unit]
Description=GPU Stabilize - Underclock GPU Memory
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/gpu-stabilize.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Step 4: Enable and start the service​

sudo systemctl daemon-reload
sudo systemctl enable gpu-stabilize.service
sudo systemctl start gpu-stabilize.service

Optional: Check service status​

sudo systemctl status gpu-stabilize.service