X11 veya Wayland kullanıp kullanmadığınıza göre farklı "workaround"lar izleyerek GPU gücünüzü limitleyebilirsiniz.
Eğer X11 kullanıyorsanız (Bu adımlar size karışık veya uzun geldiyse,
bu scripti kullanarak, veya
GreenWithEnvy aracılığı ile X11 için bu adımları, otomatik olarak ve "daha kolay" yapabilirsiniz):
nvidia-smi aracını kullanarak, GPU'nuza ait güç limitini daraltıp genişletebilirsiniz.
İşlemi uygulamadan önce, GPU'nuza ait anlık güç limitlerini görüntülemek isterseniz,
nvidia-smi -q -d POWER komutunu çalıştırabilirsiniz. Ayrıca bu komutu kullanarak, GPU'nuzu minimum ve maksimum kaç Watts'a limitleyebileceğinizi de görüntülemiş olursunuz. Ardından mevcut olan limiti değiştirmek için, aşağıdaki komutları çalıştırın:
Kod:
sudo nvidia-smi -pm ENABLED
sudo nvidia-smi -pl 120
120 yerine, GPU'nuzu kaç Watt'la limitlemek istiyorsanız, o sayıyı yazın. Komutu girdikten sonra, Watt limitinin gerçekten değişip değişmediğini, yine
nvidia-smi -q -d POWER komutu ile kontrol edin.
Eğer herhangi bir hata almazsanız, ve yaptığımız ayarla beraber herhangi bir sorun yaşamazsanız, bunu kalıcı hale getirmek için, bilgisayarınızı her açtığınızda bu komutun yürütülmesini sağlayabilirsiniz.
Bunu birden fazla yolla yapabilirsiniz, fakat benim tavsiyem, bunu bir shell script oluşturarak şu şekilde yapmanız:
Öncelikle
/etc/sudoers dosyasını, herhangi bir metin düzenleyici kullanarak açın. Ardından dosyanın en altına, şu satırları yapıştırın:
Bash:
poro ALL=(ALL) NOPASSWD: /usr/bin/nvidia-persistenced
poro ALL=(ALL) NOPASSWD: /usr/bin/nvidia-smi
poro yerine, sisteminizdeki size ait kullanıcı adınız gelecek. Bu satırları yapıştırdıktan sonra,
home dizininizde
nvidia-pl.sh adlı bir shell script oluşturun. Ardından bu script'in içeriğini şu şekilde düzenleyin:
Kod:
#!/bin/bash
#Persistance modunu aktif edin
sudo nvidia-smi -pm ENABLED
#Güc kullanımını 120Watts'a limitleyin
sudo nvidia-smi -pl 120
Script'i kaydettikten sonra, bu script'i
chmod +x nvidia-pl.sh komutunu kullanarak yürütülebilir yapın. Artık tek yapmamız gereken,
crontab -e komutunu girip, şu şekilde bir satır eklemek:
@reboot sh /home/poro/nvidia-pl.sh
Yine
poro yerine sisteminizdeki size ait kullanıcı adını yazmanız gerek. Bunu yazdıktan sonra dosyayı kaydedin. Bunu yaptıktan sonra,
crontab -l komutuyla, eklemiş olduğumuz "cronjob"un gerçekten eklenip eklenmediğini kontrol edebilirsiniz.
Bütün bu adımları tamamladıktan sonra sisteminizi yeniden başlatın, yine
sudo nvidia-smi -q -d POWER komutunu çalıştırın ve Watts limitinin değişip değişmediğini doğrulayın. Eğer değer değiştiyse, başka bir işlem yapmamıza gerek yok
Eğer Wayland kullanıyorsanız:
Wayland üzerinde GPU'nuzun güç limitini değiştirmeyi, NVML kullanan herhangi bir aracı kullanarak, veya
Archwiki'de bahsedildiği gibi nvidia-ml-py kütüphanesini kullanan bir python script'i oluşturarak gerçekleştirebilirsiniz. Ben burada her iki türlü de nasıl yapabileceğinizi göstereceğim:
Eğer işlemi başka bir araç kullanarak GUI veya ile gerçekleştirmek isterseniz, aşağıdaki araçlardan herhangi birini kullanarak yapabilirsiniz:
Eğer işlemi manuel olarak, bir python script'i aracılığı ile gerçekleştirmek isterseniz, şu şekilde uygulayabilirsiniz:
Öncelikle
nvidia-ml-py wrapper'ını, python/pip kullanarak (
python3 -m pip install nvidia-ml-py) veya
paket yöneticinizi kullanarak edinin. Ardından
powerlimit.py adında bir python script'i oluşturun ve içine şu kod parçasını yapıştırın:
Kod:
#!/usr/bin/env python
from pynvml import *
nvmlInit()
# This sets the GPU to adjust - if this gives you errors or you have multiple GPUs, set to 1 or try other values
myGPU = nvmlDeviceGetHandleByIndex(0)
# The power limit can be set below in mW - 216W becomes 216000, etc. Remove the below line if you don't want to adjust power limits.
nvmlDeviceSetPowerManagementLimit(myGPU, 000000)
Yapıştırdıktan sonra, script'in, script'in içerisindeki Comment'lere dikkat ederek kendinize göre düzenleyin, ardından kaydedin. Ardından terminal üzerinden bu script'i çalıştırın (sudo python ./powerlimit.py) ve
sudo nvidia-smi -q -d POWER komutu ile güç limitinin değişip değişmediğini kontrol edin. Eğer değişmişse, bu script'in her sisteminizin açılışta yürütülmesini sağlarsanız, kalıcı olarak Watts limitini değiştirmiş olursunuz.