İçeriğe geç
Batuhan YAZICI

Senior Cyber Security Specialist

Senior System and Network Admin

Batuhan YAZICI

Senior Cyber Security Specialist

Senior System and Network Admin

Finansal sistemlerde güvenlik,
altyapıda süreklilik.

  • Fortinet
  • SIEM
  • PCI DSS
  • ISO/IEC 27001
← Teknik blog
Hata Çözümleri

Raspberry Pi yavaşlıyor: düşük voltajı sıcaklık kısıtlamasından ayırmak

Batuhan YAZICI · · 9 dk okuma
Raspberry Pi yavaşlıyor: düşük voltajı sıcaklık kısıtlamasından ayırmak — Batuhan YAZICI
Batuhan YAZICI · batuhanyazici.com

vcgencmd çıktısındaki güncel ve geçmiş bayrakları ayırarak güç, soğutma ve uygulama yükünü aynı zaman çizelgesinde değerlendirin.

Raspberry Pi üzerindeki takılmayı araştırmak için önce güç ve sıcaklık verisini aynı iş yükünde toplayın. Aşağıdaki adımlar, MagicMirror ekranında veya benzer bir uygulamada yavaşlama görüldüğünde kullanılabilecek bir teşhis akışıdır. Komutlar Raspberry Pi’nin kendi terminalinde çalıştırılır. Buradaki çıktılar temsili örnektir; fiziksel cihazda bu yazı kapsamında ölçüm yapılmadı.

Başlamadan önce

Raspberry Pi OS, terminal erişimi ve kullanılan modele uygun güç kaynağı gerekir. Kart modelini, soğutucu düzenini ve bağlı USB aygıtlarını not edin. Denemede hangi video veya ekran sahnesini kullanacağınızı belirleyin; karşılaştırma sırasında aynı uygulama yükünü koruyun. Açık diskleri veya USB çevre birimlerini çalışırken çekmeyin. Paylaşacağınız kayıttan kullanıcı, seri numarası ve ağ ayrıntılarını çıkarın.

1. Modeli ve araçları kontrol edin

Terminali açıp aşağıdaki salt okunur komutları sırayla çalıştırın. İlk komut model adını, ikinci komut işletim sistemi bilgisini gösterir. Üçüncüsü vcgencmd aracının bulunup bulunmadığını denetler; normal durumda bir çalıştırılabilir dosya yolu dönmelidir.

tr -d '\0' < /proc/device-tree/model
printf '\n'
cat /etc/os-release
command -v vcgencmd

Araç bulunamıyorsa komutları tahmin ederek sürdürmeyin; kullanılan dağıtımın Raspberry Pi araçlarını ve resmî paketlerini kontrol edin. Bu rehberdeki arayüzün her genel Linux dağıtımında kurulu olduğunu varsaymayın. Model ve işletim sistemi notu, daha sonra kullanılacak güç ve soğutma önerilerinin kapsamını belirler.

2. Anlık durumu okuyun

İlk okumayı uygulama boşta iken alın. Bu komutlar ayar değiştirmez; durum bitlerini ve SoC sıcaklığını gösterir. Çıktının alındığı zamanı ayrıca kaydedin. Soğuk açılışta alınan ölçümle uzun video oynatımı sonrasındaki ölçümün aynı koşul olmadığını unutmayın.

date -Is
vcgencmd get_throttled
vcgencmd measure_temp

Örneğin aşağıdaki temsili çıktı, sorgu anında listelenen kısıtlama bitlerinin sıfır olduğunu ve sensörün bir sıcaklık değeri döndürdüğünü gösterir. Bu kısa okuma, cihazın her yük altında sorunsuz çalışacağını kanıtlamaz; sıcaklık için bütün modellere uygulanacak tek kabul sınırı seçilmez.

throttled=0x0
temp=48.2'C

3. Sonucu bit tablosuyla yorumlayın

Sonuç tek hata numarası değildir; bitler birlikte bulunabilir. Aşağıdaki tablo temel ayrımı gösterir. Frekans sınırlandırma ve yumuşak sıcaklık limiti gibi diğer bitler için kaynaklardaki tam tabloya bakın. Yumuşak sıcaklık politikasının modele bağlı olduğunu dikkate alın.

Durum Güncel bit / maske Geçmiş bit / maske
Düşük voltaj 0 / 0x1 16 / 0x10000
Kısıtlama 2 / 0x4 18 / 0x40000

Temsili 0x50000, geçmiş düşük voltaj ve geçmiş kısıtlama birleşimidir. İlgili güncel bitler sıfırdır; iki durumun şu an sürdüğü söylenemez. 0x50005 değerinde ise bu iki güncel bit de vardır. Geçmiş kayıtla yeni takılmanın aynı nedenden kaynaklandığına yalnız bu sonuçla karar vermeyin.

Anlık bayrak ile geçmiş kayıt ayrı okunur. Sıcaklık ve aynı andaki iş yükü, gözlenen kısıtlamanın nedenini değerlendirmek için birlikte kaydedilir.

  1. Modeli kaydet
  2. Anlık bayrağı oku
  3. Geçmişi ayrı tut
  4. Sıcaklıkla eşleştir
  5. Tek değişkeni dene
Anlık bayrak ile geçmiş kayıt ayrı okunur. Sıcaklık ve aynı andaki iş yükü, gözlenen kısıtlamanın nedenini değerlendirmek için birlikte kaydedilir.

4. Aynı yük altında örnek toplayın

Sorunun görüldüğü sahneyi açıp aşağıdaki sınırlı döngüyü çalıştırın. Beş kez, beş saniye arayla zaman, maske ve sıcaklık gösterir. Çıktıları boşta aldığınız kayıtla karşılaştırın. Yeni anlık bayrağın hangi sahnede belirdiğini not edin. Bu kısa örnekleme, uzun süreli dayanıklılık deneyi yerine geçmez.

for ornek in 1 2 3 4 5; do
  date -Is
  vcgencmd get_throttled
  vcgencmd measure_temp
  sleep 5
done

Düşük voltaj anlık olarak görülüyorsa uygunluğu doğrulanmış besleme ve kabloyla karşılaştırın. Sıcaklıkla beraber kısıtlama görülüyorsa fan, soğutucu ve hava akışını inceleyin. Her denemede yalnız bir değişkeni değiştirin. Beslemeyi veya fiziksel donanımı değiştirmeden önce sistemi normal kapatın; ısıl korumayı kapatmak ya da rastgele voltaj artırmak çözüm adımı değildir.

5. Başarı ölçütü ve geri dönüş

Başarılı karşılaştırmada aynı sahne ve süre boyunca yeni anlık hata oluşup oluşmadığı ile kullanıcıya görünen gecikme birlikte kaydedilir. Geçmiş bitlerini tek başına başarısızlık saymayın. Bulgular örtüşmüyorsa uygulama, ağ veya depolama araştırmasına devam edin; kök nedeni kesinleşmiş gibi yazmayın. Ölçülmemiş performans yüzdesi vermeyin.

Bu rehberdeki komutlar yapılandırma değiştirmez. Fiziksel düzen değiştirildiyse geri dönüş için cihazı normal kapatın ve kaydettiğiniz güvenli, uyumlu önceki besleme veya soğutma düzenini geri kurun. Ardından aynı ölçümü tekrar alın. Sorun belirli bir uygulama sahnesinde sürüyorsa servisleri topluca yeniden başlatmak yerine o sahnenin kayıtlarıyla ilerleyin.

İlgili rehberler: MagicMirror Projesi: kiosk ve servis kararlılığı.

Nasıl yapılır: ayrıntılı uygulama

Ortam ve ön koşullar: Yazıda belirtilen ürün ve desteklenen pilot ortam — Yetkili izole pilot, belirtilen sürüm/model desteği, mevcut durum kaydı ve değişiklik gerekiyorsa tutarlı yedek/geri erişim gerekir.

  1. Model ve anlık durumu birlikte kaydedin
  2. Kısa süreli, sınırlı örnekleme yapın
  3. Tek fiziksel değişkeni güvenli değiştirin
  4. Aynı iş yüküyle tekrar karşılaştırın
  5. Geri dönüş ve veri güvenliğini koruyun

1. Model ve anlık durumu birlikte kaydedin

Önceki ana akıştaki bit tablosu güncel ve geçmiş throttling maskelerini ayırır. Başlangıç model/OS/kernel ve güç kaynağı kaydı olmadan modeller arasında değerleri genellemeyin.

tr -d "\000" </proc/device-tree/model
cat /etc/os-release
uname -r
vcgencmd get_throttled
vcgencmd measure_temp

2. Kısa süreli, sınırlı örnekleme yapın

Gerçek iş yükünü değiştirmeden altı örnek alın. Bu komut yük üretmez; tarih ve iki ölçümü birleştirir. Termal/voltaj koruması kapatılmaz.

for sample in 1 2 3 4 5 6; do
  date -Is
  vcgencmd get_throttled
  vcgencmd measure_temp
  sleep 5
done

3. Tek fiziksel değişkeni güvenli değiştirin

Kaliteli model-uyumlu PSU/kablo veya soğutma düzeninin yalnız birini değiştirin. Fiziksel bağlantı işleminde önce uygulamayı normal kapatıp sudo poweroff uygulayın; enerji kesilmeden donanım eklemeyin.

4. Aynı iş yüküyle tekrar karşılaştırın

Yeni boot’ta geçmiş bayrakların sıfırlanması tek başına sorunun bittiğini kanıtlamaz. Aynı uygulama ve süreyle yeni bayrak/sıcaklık/işlev örneklerini alın; ölçülmeyen performans oranı üretmeyin.

5. Geri dönüş ve veri güvenliğini koruyun

Yalnız denenmiş fiziksel/config farkını önceki güvenli düzenine dönün. Firmware voltaj/overclock ayarıyla alarmı gizlemeyin; tekrarlayan undervoltage uygulama verisi için bağımsız backup kontrolü gerektirir.

Beklenen sonuç: Aynı iş yükünde voltaj/sıcaklık maskeleri doğru ayrılır; korumalar açık kalır.

Sonuç farklıysa: Başarısız aşamada durun; ilgili kayıt/ürün sürümü/ön koşulu inceleyin. Farklı katmanı genel olarak sıfırlamak yerine tek nedeni ayırın.

Geri dönüş: Yalnız bu işlemde değişen öğeyi önceki uyumlu sürüm veya açıkça belirtilen yedek/restore planıyla geri alın; geri alınamaz veri/disk işlemlerini ayar geri dönüşü sanmayın.

Raspberry Pi yavaşlıyor: düşük voltajı sıcaklık kısıtlamasından ayırmak için temsili uygulama ve kabul haritası
Temsili uygulama ve kabul haritası; gerçek ürün ekran görüntüsü değildir. Haritayı büyük aç.

Kaynaklar

Uygulama örnekleri teknik, kaynak ve mahremiyet incelemesinden geçti. Temsili haritalar üretici ekran görüntüsü veya canlı sistem testi olarak sunulmaz. Kullanılan ürün sürümü ve kapsam uygulama öncesinde doğrulanmalıdır.

Batuhan YAZICI

Senior Cyber Security Specialist · Altyapı ve güvenlik üzerine teknik notlar.

Okumaya devam edin