GNU/Linux Güç Seçenekleri

Cevapla
Kullanıcı avatarı
TRWE_2012
Mesaj Panosu Yöneticisi
Mesaj Panosu Yöneticisi
Mesajlar: 884
Kayıt: 30 Ağu 2022 21:59
Konum: DÜZCE/Akçakoca
Meslek: MADEN MÜHENDİSİ
Teşekkür etti: 234 kez
Teşekkür edildi: 730 kez
İletişim:

GNU/Linux Güç Seçenekleri

Mesaj gönderen TRWE_2012 »

KOD İÇERİĞİ : (cpu_governor_zenity.sh)

Kod: Tümünü seç

#!/bin/bash

# Mevcut CPU frekans yöneticisini göster
current_governor=$(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor)

# Zenity ile mevcut governor'ı kullanıcıya göster
zenity --info --title="Mevcut CPU Governor" --text="Mevcut CPU frekans yöneticisi: $current_governor"

# Zenity ile seçim penceresi açarak kullanıcıdan yeni governor'ı seçmesini iste
selected_governor=$(zenity --list --radiolist --column="Seçim" --column="CPU Governor" \
    TRUE "performance (Yüksek Performans)" \
    FALSE "powersave (Düşük Güç Tüketimi)" \
    FALSE "ondemand (Dinamik Ayarlama)" \
    FALSE "conservative (Yumuşak Geçiş)" \
    FALSE "schedutil (Modern Dinamik Yönetim)" \
    --title="CPU Governor Seçimi" --height=250 --width=400)

# Kullanıcı bir seçim yaptıysa, governor'ı değiştir
if [ -n "$selected_governor" ]; then
    case $selected_governor in
        "performance (Yüksek Performans)")
            echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
            zenity --info --title="Seçilen CPU Governor" --text="Yüksek performans modu aktif edildi."
            ;;
        "powersave (Düşük Güç Tüketimi)")
            echo "powersave" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
            zenity --info --title="Seçilen CPU Governor" --text="Düşük güç modu aktif edildi."
            ;;
        "ondemand (Dinamik Ayarlama)")
            echo "ondemand" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
            zenity --info --title="Seçilen CPU Governor" --text="Dinamik ayarlama modu aktif edildi."
            ;;
        "conservative (Yumuşak Geçiş)")
            echo "conservative" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
            zenity --info --title="Seçilen CPU Governor" --text="Yumuşak geçiş modu aktif edildi."
            ;;
        "schedutil (Modern Dinamik Yönetim)")
            echo "schedutil" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
            zenity --info --title="Seçilen CPU Governor" --text="Modern dinamik güç yönetimi modu aktif edildi."
            ;;
        *)
            zenity --error --title="Geçersiz Seçim" --text="Geçersiz bir seçim yaptınız!"
            ;;
    esac
else
    zenity --error --title="Seçim Yapılmadı" --text="Hiçbir seçenek seçmediniz."
fi
KOD AÇIKLAMASI :

Giriş

Günümüzde, bilgisayar sistemlerinin enerji verimliliği ve performansı, kullanıcılar için önemli bir konu haline gelmiştir. Bu bağlamda, CPU frekans yöneticileri, işlemcinin çalışma modunu ayarlayarak güç tüketimini optimize etmeye yardımcı olur. Bu makalede, bir Bash script kullanarak CPU frekans yöneticisini nasıl yönetebileceğimizi inceleyeceğiz.

Script'in Genel Yapısı

Script, mevcut CPU frekans yöneticisini alarak başlar. Ardından, kullanıcıya mevcut güç yönetim seçeneklerini gösterir ve bir seçim yapmasını ister. Kullanıcının seçimine göre, script uygun CPU frekans yöneticisini ayarlayarak sistemin güç modunu değiştirir.

1. Mevcut CPU Frekans Yöneticisini Alma

Script, /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor dosyasını okuyarak mevcut CPU frekans yöneticisini alır. Bu bilgi, sistemdeki tüm CPU çekirdekleri için geçerlidir.

2. Eşsiz Yöneticileri Gösterme

Alınan CPU güç seçenek sonuçları, sort ve uniq komutları kullanılarak tek bir ifade hale getirilir. Bu, kullanıcıya yalnızca tek bir ifade (ortak) gösterilmesini sağlar.

3. Kullanıcı Arayüzü ile Etkileşim

Zenity aracı kullanılarak, kullanıcıya mevcut güç yönetim modunu gösteren bir bilgi penceresi açılır. Ardından, kullanıcıdan yeni bir CPU frekans yöneticisi seçmesi istenir.

Seçenekler arasında aşağıdaki modlar bulunmaktadır:

    Performance (Yüksek Performans): Bu mod, işlemcinin en yüksek frekansta çalışmasını sağlar. Oyunlar veya yoğun işlem gerektiren uygulamalar için idealdir, ancak enerji tüketimini artırır.

    Powersave (Düşük Güç Tüketimi): Bu mod, işlemcinin en düşük frekansta çalışmasını sağlar. Enerji tasarrufu sağlamak için uygundur, ancak performansı düşürebilir. Taşınabilir cihazlar için tercih edilir.

    Ondemand (Dinamik Ayarlama): Bu mod, işlemcinin yük durumuna göre dinamik olarak frekansını ayarlar. Düşük yük altında düşük frekansta çalışırken, yüksek yük altında frekansı artırır. Bu, enerji verimliliği ile performans arasında bir denge sağlar.

    Conservative (Yumuşak Geçiş): Bu mod, ondemand moduna benzer, ancak daha yavaş bir tepki süresine sahiptir. İşlemci yükü arttığında frekansı artırırken, yük düştüğünde daha yavaş bir şekilde frekansı düşürür. Bu, daha az ani değişiklikle daha stabil bir performans sunar.

    Schedutil (Modern Dinamik Yönetim): Bu mod, modern Linux çekirdekleri için tasarlanmıştır ve CPU zamanlayıcısı ile entegre çalışır. İşlemci yüküne göre dinamik olarak frekansı ayarlayarak, hem performansı hem de enerji verimliliğini optimize eder.

4. Seçim ve Uygulama

Kullanıcı bir seçim yaptığında, script bu seçime göre uygun komutu çalıştırarak CPU frekans yöneticisini değiştirir. Her bir mod için, kullanıcıya yapılan değişiklik hakkında bilgi veren bir Zenity bilgi penceresi açılır.

5. Hata Yönetimi

Eğer kullanıcı hiçbir seçim yapmazsa veya geçersiz bir seçim yaparsa, script uygun hata mesajları gösterir.

Sonuç olarak Özetle ;

Bu Bash script, kullanıcıların CPU frekans yöneticisini kolayca değiştirmelerine olanak tanır. Enerji verimliliği ve performans arasında denge kurmak isteyen kullanıcılar için pratik bir çözüm sunar. Zenity ile sağlanan grafik arayüz, komut satırı deneyimi olmayan kullanıcılar için bile erişilebilir hale getirir. Bu tür scriptler, sistem yönetimi ve optimizasyonu konusunda önemli bir araçtır.

NOT:

Buna uygun .desktop dosyası :  ( Linux Güç Seçenek Yöneticisi.desktop)

Kod: Tümünü seç

[Desktop Entry]
Version=1.0
Name=Linux Güç Seçenek Yöneticisi
Comment=CPU frekans yöneticisini değiştir
Exec=bash /cpu_governor_zenity.sh
Icon=system-cpu
Terminal=false
Type=Application
Categories=Utility;System;
StartupNotify=true
Yukarıdaki kodlamada "Exec=bash /cpu_governor_zenity.sh" satırını siz kendinize göre değiştirin.(tam yol)

EKRAN GÖRÜNTÜSÜ (SİSTEM : GNU/Linux Mint 21.1 x64 LXDE v11)

Resim
Verily We have granted thee a manifest Victory
Fetih Suresi - 1.Ayet


Resim
Resim

Etiketler:
Cevapla

“Bash Shell Betiklerimiz” sayfasına dön