Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

poro

Yetkin
Katılım
6 Mart 2024
Mesajlar
192
Makaleler
2
Çözümler
4
Beğeniler
203
Debian'da Laptop RTX 4070 120 Watt ekran kartım en fazla 85 Watt güç çekebiliyor. 120'nin yanına bile yaklaşamıyor. Windows'ta 120'nin tamamını kullanabiliyordum. Driverları mı yanlış yükledim bir şeyi eksik mi yaptım anlayamadım bir türlü.
 
Çözüm
Tam bir çözüm sayılmaz ancak başkaları için bir yol haritası olması için yazıyorum. Mevcut tarih itibarıyla Debian depolarındaki en güncel NVIDIA sürücüsü sürümü 550.163.01. Anladığım kadarıyla sorun Debian veya sürücülerde. Fedora'ya geçtikten sonra Debian'da yaptıklarımı aynı şekilde birebir yaptım. nvidia-powerd sürücüsü ile 80 + 30 olarak 110 Watt'a kadar çıkabildim ki bu harika. Debian için bu değer yalnızca 80 + 5 olarak 85 Watt idi. Debian'da manuel sürücü güncellemek istediğimde siyah ekran ile karşılaştığım için durumun sürücü ile mi yoksa Debian ile mi alakalı olduğunu teyit edemedim.
Debian'da Laptop RTX 4070 120 Watt ekran kartım en fazla 85 Watt güç çekebiliyor. 120'nin yanına bile yaklaşamıyor. Windows'ta 120'nin tamamını kullanabiliyordum. Driverları mı yanlış yükledim bir şeyi eksik mi yaptım anlayamadım bir türlü.
LACT yükleyip kontrol edebilir misiniz? Limitleniyor olabilir.


Kurduktan sonra Power States kısmından görebiliyor olmalısınız.
 
LACT yükleyip kontrol edebilir misiniz? Limitleniyor olabilir.


Kurduktan sonra Power States kısmından görebiliyor olmalısınız.

Nerede hocam?

1769444262126.webp
 
X11 veya Wayland kullanıp kullanmadığınıza göre farklı "workaround"lar izleyerek GPU gücünüzü limitleyebileceğinizi düşünüyorum.



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.
 
Son düzenleme:
nvidia-smi çıktısını atar mısınız?
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.
Laptoplarda güç limitini aşamayabilir.
 
Laptoplarda güç limitini aşamayabilir.
Dediğinizin doğru, fakat ilgili Laptop üzerinde, istediğimiz sonucun direk varılamayacağına kanaat getirmek yerine, öncelikle konu sahibinin bir "workaround" denemesini daha uygun gördüm. Aksi bir şey demediğinizin ve "aşamayabilir" dediğinizin farkındayım, fakat konu sahibini daha "iyi" bir yola / çözüme yönlendirmek için, dediğiniz durumun her cihazda geçerli olamayabileceğini belirtmek istiyorum. Bu yüzden ilk önce bu çözümlerden biri veya birkaçının denenmesini daha uygun buluyorum. İşe yaramadığı takdirde, başka bir çözüme yönlendirmek istedim konu sahibini.
 
Dediğinizin doğru, fakat ilgili Laptop üzerinde, istediğimiz sonucun direk varılamayacağına kanaat getirmek yerine, öncelikle konu sahibinin bir "workaround" denemesini daha uygun gördüm. Aksi bir şey demediğinizin ve "aşamayabilir" dediğinizin farkındayım, fakat konu sahibini daha "iyi" bir yola / çözüme yönlendirmek için, dediğiniz durumun her cihazda geçerli olamayabileceğini belirtmek istiyorum. Bu yüzden ilk önce bu çözümlerden biri veya birkaçının denenmesini daha uygun buluyorum. İşe yaramadığı takdirde, başka bir çözüme yönlendirmek istedim konu sahibini.

Wayland kullanmıyorum, görüntüyü bozduğu için de kullanmayı düşünmüyorum o yüzden o kısmı pas geçtim. X11 için yazdıklarınızı denemiştim. Çalışmıyor maalesef. NVIDIA driver 525 (yanlış hatırlamıyorsam) bu sürümden sonra yazdığınız komutlar çalışmamaya başlamış sanırsam.


Bash:
~ > sudo nvidia-smi -pm ENABLED
Persistence mode is already Enabled for GPU 00000000:01:00.0.
All done.
~ > sudo nvidia-smi -pl 120
Changing power management limit is not supported in current scope for GPU: 00000000:01:00.0.
All done.
~ > nvidia-smi -q -d POWER

==============NVSMI LOG==============

Timestamp                                 : Mon Jan 26 22:46:54 2026
Driver Version                            : 550.163.01
CUDA Version                              : 12.4

Attached GPUs                             : 1
GPU 00000000:01:00.0
    GPU Power Readings
        Average Power Draw                : N/A
        Instantaneous Power Draw          : 9.82 W
        Current Power Limit               : 85.00 W
        Requested Power Limit             : N/A
        Default Power Limit               : 80.00 W
        Min Power Limit                   : 5.00 W
        Max Power Limit                   : 120.00 W
 
Wayland kullanmıyorum, görüntüyü bozduğu için de kullanmayı düşünmüyorum o yüzden o kısmı pas geçtim. X11 için yazdıklarınızı denemiştim. Çalışmıyor maalesef. NVIDIA driver 525 (yanlış hatırlamıyorsam) bu sürümden sonra yazdığınız komutlar çalışmamaya başlamış sanırsam.


Bash:
~ > sudo nvidia-smi -pm ENABLED
Persistence mode is already Enabled for GPU 00000000:01:00.0.
All done.
~ > sudo nvidia-smi -pl 120
Changing power management limit is not supported in current scope for GPU: 00000000:01:00.0.
All done.
~ > nvidia-smi -q -d POWER

==============NVSMI LOG==============

Timestamp                                 : Mon Jan 26 22:46:54 2026
Driver Version                            : 550.163.01
CUDA Version                              : 12.4

Attached GPUs                             : 1
GPU 00000000:01:00.0
    GPU Power Readings
        Average Power Draw                : N/A
        Instantaneous Power Draw          : 9.82 W
        Current Power Limit               : 85.00 W
        Requested Power Limit             : N/A
        Default Power Limit               : 80.00 W
        Min Power Limit                   : 5.00 W
        Max Power Limit                   : 120.00 W
Driver sürümünüz, 550.163.01 olarak gözüküyor paylaştığınız çıktıya göre.

530.41 Driver'ından beri var bu durum. NVIDIA, bazı dizüstü bilgisayar GPU'larının maksimum güç sınırını daha düşük bir değere kilitledi. Bu sürücü sayesinde, normal şartlarda nvidia-smi kullanarak güç sınırını manuel olarak değiştirebileceğimiz özellik de kaldırılmış oldu. Artık eskisi gibi değiştirememe sebebimiz de bu.

Yaşadığınız problemi, NVIDIA Driver'ını bu sürümden daha düşük bir sürüme "downgrade" ederek çözebilme şansınız mevcut, fakat bunu şimdilik (başka bir alternatifiniz kalmadığı sürece) tavsiye etmiyorum.

Bunun yerine, yukarıda paylaştığım Archwiki sayfasında bahsedildiği gibi, nvidia-powerd servisini aktif ederek "dynamic boosting" sayesinde, mevcut güç sınırını değiştirmeden, bu sınırın üstüne çıkabilme şansınız var. Fakat bu workaround ile bile, Windows'ta aldığınız güce ulaşamama şansınız da var.

Bu işlemi uygulamak için, ilgili sayfadaki "Configuration Steps" başlığı altındaki adımları uygulayın.

Eğer nvidia-powerd servisinin bulunamaması ile alakalı bir hata alırsanız, nvidia-powerd paketini edinmeniz gerekli. 550.163.01 sürümüne sahip driver'ı kullandığınıza göre, sürücünüze uygun olan paket bu olmalı:


Paketi edindikten sonra, adımları yeniden uygulayın.
 
Son düzenleme:
Driver sürümünüz, 550.163.01 olarak gözüküyor paylaştığınız çıktıya göre.

530.41 Driver'ından beri var bu durum. NVIDIA, bazı dizüstü bilgisayar GPU'larının maksimum güç sınırını daha düşük bir değere kilitledi. Bu sürücü sayesinde, normal şartlarda NVIDIA-smi kullanarak güç sınırını manuel olarak değiştirebileceğimiz özellik de kaldırılmış oldu. Artık eskisi gibi değiştirememe sebebimiz de bu.

Yaşadığınız problemi, NVIDIA Driver'ını bu sürümden daha düşük bir sürüme "downgrade" ederek çözebilme şansınız mevcut, fakat bunu şimdilik (başka bir alternatifiniz kalmadığı sürece) tavsiye etmiyorum.

Bunun yerine, yukarıda paylaştığım Archwiki sayfasında bahsedildiği gibi, nvidia-powerd servisini aktif ederek "dynamic boosting" sayesinde, mevcut güç sınırını değiştirmeden, bu sınırın üstüne çıkabilme şansınız var. Fakat bu workaround ile bile, Windows'ta aldığınız güce ulaşamama şansınız da var.

Bu işlemi uygulamak için, ilgili sayfadaki "Configuration Steps" başlığı altındaki adımları uygulayın.

Eğer nvidia-powerd servisinin bulunamaması ile alakalı bir hata alırsanız, nvidia-powerd paketini edinmeniz gerekli. 550.163.01 sürümüne sahip Driver'ı kullandığınıza göre, sürücünüze uygun olan paket bu olmalı:


Eki Görüntüle 221734

nvidia-powerd servisi yüklü. Yazıda tam detay vermemek benim hatam kusura bakmayın. Dediğiniz gibi Windows'taki güce ulaşamıyorum. 85'e limit koymuş aşamıyorum. Yabancı forum ve sayfalarda da sorunu yaşayan pek çok kişi var ama kimse tam bir çözüm bulamamış. Tam bir çözüm görmedim. Ve downgrade de evet pek mantıklı gelmiyor. 120 yerine 85 kullanmak biraz can sıkıyor ama yapacak bir şey yok gibi. İleride çözülür diye umuyorum. İlginiz için teşekkür ederim.