2024-09-27

Düşük güç kipleri

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-S3Sleep
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:

Günlük: System
Kaynak: Microsoft-Windows-Kernel-Power
Id: 506 (Modern Bekleme kipine giriş), 507 (Modern Bekleme kipinden çıkış)

Bu kapsamda takip edilebilecek olaylar:

Ekran kilitleme/kilidini açma:

Günlük: Security
Kaynak: Microsoft-Windows-Security-Auditing
Id: 4800 (kilitlendi), 4801 (kilit açıldı)

2024-12-26: Linux'ta S0'ya benzeyen s2idle (suspend to idle) kipi var. Freeze ile s2idle aynı şey. 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

Bir linux sistemde cat /sys/power/state komutu bana şu çıkışı verdi:

freeze mem

çıkı verdi. Ş anda hangi modun kullanıldığına baktığımda ise çıkış şöyle oldu:

s2idle [deep]

Bu da benim sistemimin hafif uyku (freeze / s2idle) yerine biraz daha derin uyku (deep, suspend-to-RAM eşdeeri) kullandığını gösterir. Bu dosya

echo s2idle | sudo tee /sys/power/mem_sleep

ile değiştirilebilir. mem_sleep dosyası freeze kelimesini kabul etmez, s2idle kullanmak gerek. Burada

freeze ve s2idle : S0 kipleri
deep ve mem : S3 kipleri (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

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: