PowerTOP - Linux'ta Güç Tüketimini Analiz Edin ve Yönetin


İyi bir Linux makinesinin, özellikle de dizüstü bilgisayarların en önemli özelliklerinden biri, pil ömrünü uzatma açısından güç yönetimidir.

Linux'ta pil performansınızı izlemenize ve takip etmenize yardımcı olabilecek yardımcı programlar vardır, ancak çoğumuz hâlâ güç tüketimini yönetmek ve pil ömrünü artırmak için doğru güç ayarlarını alma konusunda sorunlarla karşılaşıyoruz.

Bu makalede, Linux makinenizdeki pil gücünü yönetmek için uygun sistem ayarlarını almanıza yardımcı olan PowerTOP adlı bir Linux yardımcı programına bakacağız.

PowerTOP nedir?

PowerTOP, Intel tarafından geliştirilen ve Linux sistemi bir güç kaynağına bağlı olmadığında üzerinde çalışan programların güç kullanımını izlemenize yardımcı olan terminal tabanlı bir tanı aracıdır.

PowerTOP'un önemli bir özelliği, kullanıcının farklı güç yönetimi ayarlarını denemesine olanak tanıyan etkileşimli bir mod sağlamasıdır.

Gereksinimler

PowerTOP aşağıdaki bileşenleri gerektirir:

  • C++, g++, libstdc++, autoconf, automake ve gibi Geliştirme Araçları libtool.
  • Yukarıdakilere ek olarak pciutils-devel, ncurses-devel ve libnl-devel bileşenlerini de gerektirir
  • çekirdek sürümü => 2.6.38

Linux'ta Powertop Nasıl Kurulur

PowerTOP, özel Linux dağıtımınıza yönelik ilgili paket yöneticiniz kullanılarak varsayılan sistem depolarından kolayca kurulabilir.

sudo apt install powertop         [On Debian, Ubuntu and Mint]
sudo yum install powertop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/powertop  [On Gentoo Linux]
sudo apk add powertop             [On Alpine Linux]
sudo pacman -S powertop           [On Arch Linux]
sudo zypper install powertop      [On OpenSUSE]    
sudo pkg install powertop         [On FreeBSD]

Önemli: Powertop'u varsayılan sistem depolarından kurmanın size daha eski bir sürüm kazandıracağını lütfen unutmayın.

Powertop'un en son sürümünü (ör. 29 Eylül 2022'de yayımlanan v2.15) yüklemek istiyorsanız bu sürümü oluşturmanız ve kaynaktan yüklemeniz gerekir. Bunun için sistemde aşağıdaki bağımlılıkların kurulu olması gerekir.

------------------- On Debian based Systems -------------------
sudo apt install build-essential ncurses-dev libnl-dev pciutils-dev libpci-dev libtool
------------------- On RedHat based Systems -------------------
sudo dnf install gcc-c++ ncurses-devel libnl-devel pciutils-devel libtool

Yukarıda gerekli olan tüm paketleri yükledikten sonra, şimdi PowerTop'un en son sürümünü indirmenin ve önerildiği şekilde yüklemenin zamanı geldi:

wget https://github.com/fenrus75/powertop/releases/download/v2.15/powertop.tar.gz
tar -xvf powertop.tar.gz
cd powertop/
./configure
sudo make && make install

PowerTop'u Linux'ta nasıl kullanırım?

Bu aracı kullanmak için kök ayrıcalıklarına ihtiyaç vardır çünkü Powertop'un uygulamaların güç kullanımını ölçmek için ihtiyaç duyduğu tüm bilgiler doğrudan sistem donanımından toplanır.

Sistem üzerindeki etkilerini görmek için dizüstü bilgisayar pil gücüyle kullanmayı deneyin. Sistemin ve farklı kategorilerde listelenen ayrı ayrı sistem bileşenlerinin toplam güç kullanımını gösterir: cihazlar, işlemler, sistem zamanlayıcısı, Çekirdek çalışır ve kesintiye uğrar.

PowerTop Seçeneklerini ve Kullanımını Anlamak

Ayarlanabilir seçeneklerin tümünü etkileşimli mod olmadan en iyi ayarlara ayarlamak için --auto-tune seçeneğini kullanın.

Kalibrasyon modunda çalıştırmak için --calibrate seçeneğini kullanın. Powertop'u dizüstü bilgisayar piliyle çalıştırırsanız, sistem üzerinde çalışan süreçlerin yanı sıra güç tüketimini de takip eder ve yeterli güç ölçümü aldıktan sonra güç tahminlerini rapor eder.

Daha sonra, bu seçeneği kullanırken daha uygun tahminler almak, farklı görüntü düzeyleri ve iş yükleri aracılığıyla bir kalibrasyon döngüsü uygulamak için bu seçeneği kullanabilirsiniz.

Hata ayıklama modunda çalıştırmak için --debug seçeneğini kullanın.

Ayrıca --csv=filename komutunu kullanarak veri analizi için bir rapor oluşturabilirsiniz. Oluşturulan rapora CSV raporu adı verilir ve dosya adını yazmadığınızda varsayılan powertop.csv adı kullanılır.

Bir html rapor dosyası oluşturmak için --html=filename seçeneğini kullanın. --time=second kullanarak bir raporun saniye cinsinden ne kadar süreyle oluşturulabileceğini belirtebilirsiniz.

--workload=workload_filename komutunu kullanarak, bir rapor oluşturmadan önce kalibrasyonun parçası olarak yürütülecek bir iş yükü dosyası belirleyebilirsiniz.

Yardım mesajlarını göstermek için --help seçeneğini kullanın veya kılavuz sayfasını görüntüleyin.

--iteration seçeneğini kullanarak bir testin kaç kez çalıştırılması gerektiğini belirtmek için.

Örneklerle PowerTop Kullanımı

Powertop'u yukarıdaki seçeneklerden herhangi biri olmadan çalıştırırsanız, aşağıdaki çıktıda gösterildiği gibi etkileşimli modda başlar.

powertop
Genel bakış ekranı

Bu görüntüleme ekranı, CPU'ya en sık uyandırma gönderen veya sistemde en fazla gücü kullanan sistem bileşenlerinin bir listesini görüntülemenizi sağlar.

Boşta istatistik ekranı

İşlemci C durumları hakkında çeşitli bilgileri görüntüler.

Frekans İstatistikleri ekranı

Bu ekran CPU'nun uyanma sıklığını gösterir.

Cihaz istatistikleri ekranı

Genel Bakış ekranına benzer bilgiler sağlar, ancak yalnızca cihazlar için.

Ayarlanabilirler ekranı

İyi güç tüketimi için sisteminizi optimize etmeye yönelik öneriler sağlar.

Yukarıdaki çıktıdan da görebileceğiniz gibi, farklı görüntüleme ekranları mevcuttur ve bunlar arasında geçiş yapmak için Sekme ve Shift+Sekme tuşlarını kullanabilirsiniz. Ekranın alt kısmında listelendiği gibi Esc tuşuna basarak powertop'tan çıkın.

Sisteminizin saniyede kaç kez uyandığını görüntüler; cihaz istatistikleri görüntüleme ekranını görüntülediğinizde, farklı donanım bileşenleri ve sürücülerin güç kullanımına ilişkin istatistikleri gösterir.

Pil gücünü en üst düzeye çıkarmak için sistem uyanmalarını en aza indirmeniz gerekir. Bunu yapmak için Ayarlanabilirler görüntüleme ekranını kullanabilirsiniz.

"Kötü", güç tasarrufu sağlamayan ancak sisteminizin performansı açısından iyi olabilecek bir ayarı tanımlar.

Daha sonra "İyi", güç tasarrufu sağlayan bir ayarı tanımlar. Herhangi bir ayarlanabilir ayarı diğer ayara geçirmek için [Enter] tuşuna basın.

Aşağıdaki örnek, --calibrate seçeneği kullanıldığında çıktıyı gösterir.

powertop --calibrate

Kalibrasyon döngülerinden sonra powertop, aşağıdaki gibi işlemlerin özetini içeren genel bakış ekranını gösterecektir.

PowerTop CSV Raporu Oluşturuluyor

Sonraki örnek yirmi saniye boyunca bir CSV raporunun oluşturulmasını göstermektedir.

powertop --csv=powertop_report.txt --time=20s

Şimdi cat komutunu kullanarak CSV raporunu görüntüleyelim.

cat powertop_report.csv

PowerTop HTML Raporu Oluşturun

Aşağıdaki şekilde bir html raporu oluşturabilirsiniz, html dosya uzantısı dosya adına otomatik olarak eklenir.

powertop --html=powertop

Örnek html rapor dosyası bir tarayıcıdan görüntülenir.

Bu araç aynı zamanda optimum güç tasarrufu için tüm ayarlanabilir öğelerin otomatik olarak “İyi” olarak ayarlanmasına yardımcı olan bir daemon hizmetine sahiptir ve bunu aşağıdaki şekilde kullanabilirsiniz:

systmctl start powertop.service

Daemon hizmetinin önyükleme sırasında başlatılmasını sağlamak için aşağıdaki komutu çalıştırın:

systemctl enable powertop.service
Özet

Daemon hizmetini kullanırken dikkatli olmanız gerekir çünkü belirli ayarlanabilirler veri kaybı veya garip sistem donanımı davranışı riski oluşturur. Bu, sisteminizin gerçek diske herhangi bir veri değişikliği yazmadan önce bekleyeceği süreyi etkileyen "VM geri yazma zaman aşımı" ayarlarında açıkça görülmektedir.

Sistem tüm gücünü kaybettiğinde, son birkaç saniye içinde veriler üzerinde yapılan tüm değişiklikleri kaybetme riskiyle karşı karşıya kalırsınız. Bu nedenle güç tasarrufu ile verilerinizin güvenliğini sağlamak arasında seçim yapmanız gerekir.

Bu aracı bir süre kullanmayı deneyin ve pilinizin performansını gözlemleyin. Yorum olarak bize benzer birçok araçtan bahsedebilir veya Powertop kullanımı ve karşılaştığınız hatalar hakkında bilgi ekleyebilirsiniz.

Bu tür rehberlerden daha fazlasını almak için her zaman Tecmint'e bağlı kalmayı unutmayın.