ACPI güç kipleri şöyle [1]:
S0 : Enerji kablosu takılı çalışma.
S0 low-power idle (modern standby): Bilgisayar düşük güç kipinden yüksek güç kipine çık hızlı geçiş yapar. Bu kipi destekleyen sistemler S1-S3 kiplerini desteklemez. Bilgisayarlardaki bu kip, aslında akıllı telefonlardaki yapıdan esinlenir. Bilgisayar düşük enerji kipinde bile ağa bağlıdır, temel bazı arka plan işlevleri (ağa bağlı mesajlaşma gibi işlemler) hala çalışır durumdadır. İşlemciye ayrılan güç kısıtlanır, RAM daha yavaş güncellenir, diğer çevre birimleri de mümkün olduğunca yavaşlar veya kapanır. Yine de S1-S3 kiplerine göre daha fazla güç kullanır.
S1-S3: Bilgisayar kapalı gibi gözükür. Bu tüketimi S1'den S3'e gittikçe düşer. Ama her sistem bu kiplerden sadece birini destekler. S0'a göre daha az güç tüketir, S4'e göre daha fazla tüketir. Bu kipte RAM'deki veriler canlı tutulur. Ayrıca klavye ve fareden açılmanın mümkün olması için bu cihazlar da enerji harcar. Eskiden kullanılan Suspend-to-RAM S3 kipi için söyleniyordu. Buna ek olarak bir de melez uyku (hybrid sleep) kipinde ise sistem hibernation dosyası oluşturarak olası bir güç kaybında kaldığı yerden devam edebilir duruma gelir.
S4: En az güç tüketen kip. Burada RAM içeriği diske yazılır. Bilgisayarın güç düğmesi haricinde de açılabilmesi için bazı sistem bileşenleri (klavye, fare vs) güç kullanır. Bu kipin eski adı Suspend-to-Disk'ti. Şu anda kullanılan terim hibernation, yani kış uykusu. Ama Türkçe'de bu şekilde kullanılmıyor. Buna hazırda bekletme deniyor.
S5: Bilgisayarın kapalı ama güç bağlantısının olduğu durum.
S6: Bilgisayar kapalı, güç bağlantısı yok.
İngilizce ve Türkçe arasındaki geçiş de önemli:
S0 low-power idle | Sleep / Standby | Uyku (Modern bekleme [3]) |
S1-S3 | Sleep | Uyku |
S4 | Hibernate | Hazırda Beklet |
S5 | Soft off | Kapalı amaç gücü bağlı |
S6 | Mechanical off | Kapalı |
Önemli, çünkü standby'a uyku, hibernation'a da hazırda beklet demek benim için büyük bir kafa karışıklığı. Modern bekleme kipi (İngilcesi de Modern Standby, Türkçesi de Modern Bekleme) ve S1-S3'ü de kapsayan kiplere bazen bekleme kipi/modu (Standby) da denebiliyor. Bu kiplerde güç led'i yanıp söner, bazı sistem bileşenlerinin hala güç tükettiğini ve kullanıcı girişi ile sistemin kaldığı yerden devam ettirilebileceğini göstermek için [4].
Bilgisayarımızın desteklediği kipleri görmek için
powercfg /a
Modern bekleme kipini kapatmak için [2]'dek yöntemler uygulanabilir.
Devreden çıkarmak için:
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Power\
-Name PlatformAoAcOverride -Value 0 -PropertyType DWord
ya da
reg add HKLM\System\CurrentControlSet\Control\Power /v PlatformAoAcOverride /t REG_DWORD /d 0
tekrar devreye almak için
Remove-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Power\
-Name PlatformAoAcOverride
ya da
reg delete "HKLM\System\CurrentControlSet\Control\Power" /v PlatformAoAcOverride /f
Bu geçişleri Windows olay görüntüleyicisinden takip etmek için aşağıdaki olayları süzebiliriz:
Id: 506 (Modern Bekleme kipine giriş), 507 (Modern Bekleme kipinden çıkış)
Bu kapsamda takip edilebilecek olaylar:
Ekran kilitleme/kilidini açma:
Id: 4800 (kilitlendi), 4801 (kilit açıldı)
2024-12-26: Linux'ta S0'ya benzeyen s2idle kipi var. Desteklenen düşük güç kiplerini görmek için
cat /sys/power/state
Mevcut durumda hangi modun kullanıldığını görmek için
cat /sys/power/mem_sleep
Bu dosya
echo s2idle | sudo tee /sys/power/mem_sleep
ile değiştirilebilir. Burada
s2idle -> s0
freeze -> s2idle'a göre daha fazla güç tüketen linux'a özgü bir kip.
mem -> S3 (suspend-to-RAM)
disk -> S4 (suspend-to-disk)
2025-04-06 Ek: Bir linux sistemde cat /sys/power/state komutu bana şu çıkışı verdi:
freeze mem disk
mevcut durumu cat /sys/power/mem_sleep ile kontrol ettiğimdeyse çıkış şöyle oldu:
[s2idle] deep
Buradan şu sonucu çıkardım; s2idle ve deep "mem" kipinin çeşitleri. s2idle bir çeşit modern standby eşdeğeri ama uygulama ve sürücülerin desteği yoksa fazla güç tüketebilir. Bu durumda deep'e geçmek istersek
echo deep | sudo tee /sys/power/mem_sleep
ile geçilebilir. Ama bazı uygulamaların bu modu da desteklemeyebileceği, bazı uygulamaların sistemi uyandırabileceği belki de benim yaşadığım gibi sistemin hiç uyanamayacağı durumlar olabiliyor.
journal kayıtlarını görmek için
journalctl -k -b | grep -i suspend
Türkçe Linux'lardaki "Askıya al" mem'e karşılık gelir. mem için varsayılanı da mem_sleep içindeki [s2idle] gibi köşeli parantezin içindeki varsayılan belirler.
Türkçe Linux sistemlerdeki "Hazırda beklet" seçeneği de disk'e karşılık gelir. Yani s4/hibernation gibi belleğin içeriğinin diske yazılarak düşük güç kipine geçildiği bir durum.
sistemin komut satırından bu kiplere geçirilmesi için
systemctl suspend
systemctl hibernate
komutları kullanılabilir.
---
[1] https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-faqs
[2] https://www.elevenforum.com/t/disable-modern-standby-in-windows-10-and-windows-11.3929/
[3] https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby
[4] https://binaryfork.com/sleep-vs-hybrid-sleep-vs-modern-standby-10050/
Hiç yorum yok:
Yorum Gönder