Sunucum kendiliğinden yeniden başladı: nedenini nasıl bulurum?
Sunucunuzun bir sabah uptime'ının sıfırlandığını fark ettiniz. Sunucu yeniden başlamışsa üç ihtimal vardır: siz ya da bir program başlattı (güncelleme, bir betik), sunucu bellek yüzünden bir şeyi öldürüp sonunda çöktü ya da sunucunun bulunduğu altyapıda bir bakım yapıldı. Hangisi olduğunu aşağıdaki sırayla ayırt edebilirsiniz.
1. Panelden bakın: Etkinlik Günlüğü
Müşteri panelinde sunucunuzun sayfasında Etkinlik Günlüğü aracı sunucuda yapılan işlemlerin zaman sıralı kaydını gösterir: güç işlemleri, yapılandırma değişiklikleri ve sistem olayları. İşlem Türü filtresi ile türe, Başlangıç ve Bitiş ile tarih aralığına göre daraltın, bir satırın Detaylar simgesinden ayrıntıya girin. Burada sizin ya da hesabınızdaki bir kullanıcının başlattığı bir yeniden başlatma varsa sebep bellidir. Hiçbir güç işlemi görünmüyorsa yeniden başlatma sunucunun içinden gelmiştir; sıradaki adımlara geçin.
2. Grafiklere bakın
Grafikler aracı CPU, bellek, ağ trafiği ve disk okuma yazma kullanımını saat, gün, hafta, ay ya da yıl bazında çizer. Yeniden başlamadan hemen önce bellek çizgisi tavana vurduysa bellek yetmiyordur. İşlemci sürekli yüzde yüzdeyse sistem donmuş olabilir. Bellekten şüpheleniyorsanız Linux'ta bir sonraki adımdaki OOM kontrolünü yapın.
3. Linux: sistem ne diyor?
Son yeniden başlatmaların zamanını görmek için:
last -x reboot shutdown | head
journalctl --list-boots
Bir önceki açılışın (yeniden başlamadan önceki) son satırları nedeni gösterir:
sudo journalctl -b -1 -e
Bu günlük "Journal has been rotated" ya da boş gelirse sunucunuzda kalıcı günlük kapalıdır; sudo mkdir -p /var/log/journal ile açabilirsiniz ki bir sonraki sefer iz kalsın. Belleğin bitip çekirdeğin bir programı öldürdüğünü şuradan anlarsınız:
sudo dmesg -T | grep -i -E "out of memory|killed process"
sudo journalctl -k | grep -i oom
Bu satırlar varsa çözüm swap eklemek, bellek tüketen programı sınırlamak ya da paketi büyütmektir. Ubuntu'da unattended-upgrades çekirdek güncellemesinden sonra yeniden başlatmayı varsayılan olarak yapmaz, ama siz ya da bir betik açtıysanız /var/log/unattended-upgrades/ altından bakın.
4. Windows: Olay Görüntüleyici
Olay Görüntüleyicisi > Windows Günlükleri > Sistem bölümünde şu olay numaralarına bakın ya da PowerShell'de listeleyin:
Get-WinEvent -FilterHashtable @{LogName='System'; Id=41,1074,6008} -MaxEvents 15 | Format-List TimeCreated,Id,Message
- 1074: Birisi ya da bir program yeniden başlatma başlattı. İletide hangi programın ve hangi kullanıcının yaptığı yazar; Windows Update ya da kurulum betikleri burada görünür.
- 41 (Kernel-Power): Sistem temiz kapanmadan yeniden başladı. Bellek, donma ya da güç kesilmesi anlamına gelir.
- 6008: Önceki kapanış beklenmedikti.
Windows güncellemeleri, "aktif saatler" dışında kendiliğinden yeniden başlatma yapabilir. Sunucuyu üretimde kullanıyorsanız güncellemelerin yeniden başlatma zamanını kontrol altına alın: Windows güncellemeleri.
Altyapı kaynaklı olabilir mi?
Planlı bakım duyuruları için duyuru kaynaklarına bakın. Yukarıdaki hiçbir işaret yoksa ve sunucu tekrar tekrar yeniden başlıyorsa destek talebi açın; yeniden başlama saatlerini ve günlük çıktısını ekleyin. Sunucunuzun yönetimi için güç işlemleri makalesine de bakabilirsiniz.
Sık sorulanlar
Yeniden başlama sırasında verilerim zarar görür mü?
Temiz kapanmadığı için açık dosyalar ve çalışan veritabanları zarar görmüş olabilir. Veritabanı sunucunuzun açılışta kendini onardığını günlükten kontrol edin ve önemli verilerin yedeğini alın.
Aynı saatte her gün yeniden başlıyor, neden?
Bu neredeyse her zaman zamanlanmış bir görevdir: cron, Görev Zamanlayıcı ya da bir yazılım güncellemesi. Linux'ta sudo grep -r reboot /etc/cron* /var/spool/cron, Windows'ta Görev Zamanlayıcı'da yeniden başlatma içeren görevleri arayın.
Sunucu yeniden başladı ama programlarım açılmadı.
Programlar servis olarak tanımlı değilse açılışta kendiliğinden başlamaz. Linux için systemd servisi, Windows için Görev Zamanlayıcı kullanın.
İlgili makaleler
- Sunucum açılmıyor veya yanıt vermiyor, ne yapmalıyım?
- Yüksek işlemci (CPU) veya bellek (RAM) kullanımı nasıl çözülür?
- Linux sunucuya swap (takas alanı) nasıl eklenir?
Sorununuz çözülmediyse destek talebi açın. Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.
Geri bildiriminiz için teşekkürler!