Güç kaynağı sorunlarını gideririz veya demir parçasını garanti kapsamında teslim etmek için acele etmeyiz

Bilgisayar bileşenlerinin güç ayarlarında yanlış olan ne olabilir?

Önce şu şemaya bir göz atalım:

Açıkçası, masaüstü bilgisayarların montajından çok daha fazla dizüstü bilgisayar satılmaktadır ve bileşen ve yazılım üreticileri büyük ölçüde dizüstü bilgisayar segmentine odaklanmaktadır.
Dizüstü bilgisayarlarda en önemli özelliklerden biri pil ömrüdür. Bunu genişletmek için üreticiler, enerji tüketimini mümkün olduğunca optimize etmeye ve mümkün olduğunda azaltarak çalışırlar. Bir yan etki olarak, dizüstü bilgisayar ağa bağlıyken ve hatta bir masaüstü bilgisayarda bile güç tasarrufunun devralmaya çalıştığını görüyoruz. Sistem yükün azaldığını veya boşta olduğunu hissettiği anda düşük güç modları devreye girmeye başlar. Ve bu modlar beklenmedik bir şekilde bir masaüstü bilgisayarda tam bir donmaya, tek bir aygıtın veya bir bütün olarak sistemin kapanmasına neden olabilir.

Son 8 yılda, masaüstü bilgisayarlarda bununla birkaç kez karşılaştım. Bulunan sorunlar aşağıdaki kategorilerde gruplandırılabilir:

  1. Yüksek CPU c durumları nedeniyle ani sistem kapanması
  2. Yüksek c durumları nedeniyle sistem donuyor
  3. NVMe sürücüsü, sürücü yük altındayken bile varsayılan güç modu nedeniyle çöküyor
  4. Sürücü yük altındayken bile, varsayılan güç modu nedeniyle NVMe sürücülerinin geçici performans düşüşü.

Farklı nesil ve üreticilerin farklı bileşenleriyle ilgili sorunlar yaşadım: Intel i7-4770k, Ryzen-3900x, NVMe Kingston A2000. Diğer kullanıcılardan gelen bilgilere bakılırsa, diğer birçok cihazda sorunlar var.

Bununla ilk karşılaştığımda, 4770k’lık yepyeni bir bilgisayar 7 yıl önce ciddi bir yük olmadan yavaşlamaya başladı. Bilgisayar aniden bayıldığında, tüm bileşenleri gözden geçirdim ve yeniden kontrol ettim: güç kaynağından ana karta. Hariç tutarak, sorunun işlemcide olduğunu öğrendim ve ilk başta zaten garanti kapsamında teslim etmek istedim, ancak daha sonra çalıştığını öğrendim. Windows altında, neler olduğunu anlamak son derece zordu. Linux altında çalışmasına ve çok ayrıntılı olduğu ortaya çıkan günlüğünü incelemeye yardımcı oldu. Sistem çökmedi, ancak hatalar listesinde okunacak bir şey vardı. Bu hataları google’da aratıyorum – ve daha birçok insanın bu sorundan muzdarip olduğunu öğrendim. Böylece c-durumlarını öğrendim ve bir şekilde yüksek değerleriyle sistem önce güç tüketimini azaltmaya çalışıyor ve bu güçlü bir masaüstü işlemcisi için boştayken bile yeterli değil. Benzer bir durum Ryzen 3900x’te de olmuştu. Ben de garanti kapsamında teslim etmek istedim, merminin aynı huniye iki kez çarpmadığını düşündüm. Ve 6 yıl içinde, endüstrinin bununla çoktan uğraşmış olması gerekirdi (hayır). 4770k durumunda, düşmeler ve donmalar oldukça sık meydana geliyorsa – birkaç günde bir ve takip edilebiliyorsa, 3900x’in ayda bir düşmesi ve hatta ofiste olması gerçeğiyle hala karmaşıktı. Ancak, c-durumlarını değiştirmeye çalıştıktan sonra, her şeye karar verildi ve bir buçuk yıldır saat gibi çalışıyor.

Benzer bir durum ssd sürücülerinde de vardı – hem Windows hem de Linux altındaki bekleme modları, tamamen masaüstüyle tamamen uyumlu olmayan dizüstü bilgisayar dünyasından geliyor gibi görünüyor.

c-durumları nedir, ne gibi sorunlar olabilir?

C durumları, işlemci güç tasarrufu modlarıdır. İlk kez 486. Intel’de tanıtıldılar.
Çoğu sistemde 7 seviye C durumu vardır (artı belirli işlemciler için biraz daha alt seviye). Bazı sistemlerde 10 seviye vardır. Diğerlerinde eksik seviyeler var. C0 düzeyi etkinleştirilirse, tüm işlemci bileşenleri güç tüketir. İşlemci çalışır durumda olup herhangi bir sıkıntısı yoktur. C1-C2 seviyeleri, çalışan bir önbelleğe sahip, ancak bir veya daha fazla dahili saat oluşturucunun durdurulduğu veya yavaşladığı, hala açık bir işlemciye karşılık gelir. Uyku modu C3 seviyesinden başlar, L1 talimat önbelleği boştur. C4-C6 seviyeleri bu uyku modunun derinliğini belirler. Faaliyetini izleyen sistem, o anda hangi c-durumuna gidilmesi gerektiğini hesaplar. Aktivite azalırsa, sistem seviyeyi yükselterek güç tüketimini azaltır.

İşletim sistemi, sistemin gidebileceği maksimum c-durumu değerini belirleyen global bir max_c-state parametresine sahiptir. Varsayılan olarak, yalnızca not defteri kurallarını devralarak C6’ya yakın veya eşittir.

C-durumlarının düzeyinin artmasıyla ilgili sorunlar ortaya çıkabilir. C0’dan C1/C2’ye çıkmak bağlantının kesilmesine veya beklemediğiniz yerlerde donmalara neden olabilir. Bu, modern C-durumları kontrol algoritmalarının hem dizüstü bilgisayarlar hem de güçlü masaüstü işlemciler için neredeyse aynı şekilde yazıldığı gerçeğiyle açıklanmaktadır. Maksimum seviye C3 veya daha fazla olarak ayarlanmışsa, hangi seviyede olacağı önemli değil – sonuçta, sistem henüz uyku modunda değil, daha erken olduğunda sorunlar başlıyor. Ancak bu her zaman böyle değildir, Windows 7, izin verilen maksimum seviyeyi C3’ten C6’ya yükselttiklerinde sorun yaşadı. Görünüşe göre sistem, sadece mevcut seviye için değil, farklı maksimum güç tüketimi seviyeleri için güç tüketimi ile çalışmak için farklı algoritmalara sahipti.

Windows’ta C durumları ile ilgili sorunları düzeltme

Sorunu c-durumları ile çözmek için, izin verilen maksimum seviyesini sistemin kararlı bir şekilde çalışmaya başladığı noktaya düşürmeniz gerekir. Eğer (benim gibi) bilgisayarı aylarca kapatmazsanız, hemen C0’ı ayarlayabilirsiniz.

Bunu yapmak için yöneticinin altındaki POWERCFG komut satırı yardımcı programını kullanın:

  1. powercfg /list kullanarak mevcut güç şemalarını öğrenin:
  2. Yüksek Performans şemasını seçin ve kimliğini kopyalayın. Benim durumumda ID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
  3. powercfg /SETACVALUEINDEX 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c SUB_PROCESSOR IDLESTATEMAX 0 komutunu çalıştırın:Son basamağın, ayarlamak istediğiniz izin verilen maksimum c-durumları düzeyi olduğu yer. Benim durumumda, 0’dır. Bu komut, “Yüksek Performans” güç düzenini değiştirerek bunun için yeni bir maksimum seviye belirler.
  4. Güç düzenini etkinleştirin: powercfg /SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

Linux’ta C-durumlarında Sorun Giderme:

  1. /etc/default/grub’u sudo altında aç
  2. GRUB_CMDLINE_LINUX_DEFAULT bölümünü arıyorum
  3. sayının izin verilen maksimum c durumu düzeyi olduğu intel_idle.max_cstate=0 yazın
  4. parametrenin intel_idle olarak adlandırılmasından utanmayın, AMD için de çalışır

Not: Bazı BIOS’lar, menülerinde maksimum c durumunu ayarlamanıza izin verir, ancak sistemin bu değeri geçersiz kılmayacağı garanti edilmez.

Güç tasarrufu sağlayan nvme sürücüleriyle ilgili sorunlar

NVMe işlemcilere benzer şekilde, sürücülerde çeşitli güç tasarrufu seviyeleri bulunur.
Bu teknolojiye Otonom Güç Durumu Geçişi (APST) adı verilir ve öncelikle dizüstü bilgisayarın pil ömrünü artırmak için tasarlanmıştır.

Denetleyici, sistem etkinliği ve diske yapılan isteklerin sıklığı hakkında bilgi toplar ve kendi bakış açısından en uygun güç tüketimi modunu ayarlar. Bu algoritmanın çalışması, öncelikle zaman aşımı değeri ile karakterize edilen seçilen güç tüketimi şeması tarafından yönetilir. Programda belirtilen zaman aşımı süresinden daha fazla süre boyunca sürücüye tek bir istek olmadıysa, sürücü NVMe bekleme seviyesinin derinliğini arttırır ve S0 seviyesinden ayrılır. Daha derin seviyelerde, maksimum sürücü yanıt süresi artar. Genelde laptoplarda sorunsuz çalışan bu şemanın ayarlarında masaüstü sisteminin çökmesine neden olacağı ve diskin dosya sisteminden çıkarılacağı bir durum belirlenebilir. Ayrıca, işletim sistemi bu diskten yüklenirse, yüksek olasılıkla ölecek ve korkmuş kullanıcı diski veya diğer tüm cihazları garanti kapsamında teslim etmek isteyecektir. Yalnızca Linux altında sisteme sahip bir disk bıçağım vardı, ancak bu diskin kendisi de Windows altından düştü (Windows SATA’daydı). Asıl sorun, elbette, çöplük değil, askıya almaydı.
Aşağıda, Windows altında farklı güç düzenleri için varsayılan NVMe zaman aşımı ayarları verilmiştir:

Bu tür şemaların masaüstü ve dizüstü bilgisayarlar için farklı olduğunu bulamadım. Ancak, neyse ki, kullanıcı bu şemayı kontrol edebilir. Zaman aşımını artırırsak, diskin daha derin bir bekleme düzeyine gitmek için asla zamanı olmayacak ve her zaman etkin olacaktır.

Windows 10 altında NVMe güç tasarrufu düzenini değiştirme

NVMe güç tasarrufu şemasındaki sorunu çözmenin iki yolu vardır – powercfg komutu veya kayıt defteri + güç ayarları aracılığıyla. Daha görsel olduğu için ikinci yöntemi ele alacağız.
Kayıt defteri aracılığıyla:

  1. Kayıt defterini açma
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\d639518a-e56d-4345-8af2-b9f32fb26109 bölümüne gidin:
  3. Nitelikler alanındaki değeri 1’den 0’a değiştirin:
  4. Artık güç ayarlarında zaman aşımını ayarlama seçeneğimiz var.
  5. Win+X -> Güç Yönetimi -> Gelişmiş Güç Seçenekleri -> Güç Planını Yapılandır (mevcut planınız için) -> Gelişmiş Güç Seçeneklerini Değiştirin
  6. Açılan pencerede, sürücünün neredeyse her zaman aktif olmasını ve kesintiye uğramamasını istiyorsak zaman aşımını daha büyük bir süreye değiştirin (sorunlar olduğunda ve ortadan kalktığında 1000’e ayarladım):

Linux’ta güç tasarrufu şemasını değiştirin:

  1. /etc/default/grub’u sudo altında açın
  2. GRUB_CMDLINE_LINUX_DEFAULT bölümünün altına nvme_core.default_ps_max_latency_us=0 yazın

Alternatif olarak, APST’yi tamamen devre dışı bırakabilirsiniz, ancak ayarı bulamadım.

Çözüm:

Bu sorunla birkaç kez karşılaştığım ve aynı sorunları yaşayan epeyce kullanıcı bulduğum gerçeğine bakılırsa, hizmete alınan veya iade edilen, oldukça çalışan, ancak tam uyumlu olmayan önemli miktarda masaüstü bileşeni var. Tüm bunlar, işletim sistemi kodundaki dizüstü bilgisayar etkisinden kaynaklanan yazılım sorunlarıdır. Ortalama bir kullanıcı için hiç hoş değiller ve umarım bu materyal bazı okuyuculara yardımcı olur.

Similar Posts

Leave a Reply

Your email address will not be published.