Konsolun yavaş çalışması genellikle sunucunun yüksek yük altında olduğu ve bu nedenle komutların uzun bir gecikmeyle çalıştığı izlenimini verir, ancak durum her zaman böyle değildir.
top, ping, iostat gibi temel komutları çalıştırırken konsol yanıtının yavaş olmasının başka nedenleri de vardır.
Gecikmenin tam nedenini belirlemek için strace komutunu kullanacağız.
1. Kurulum
apt install strace
2. Kullanım örneği
2.1 Her şeyi göster
strace -r top -n 1
2.2 Toplamı özetle
strace -r top -c 1
Çıktı çok fazla bilgi içerdiği için daha kompakt bir varyant kullanılabilir:
strace -r -e trace=connect,poll,openat,stat -o top_small.log top -n 1
3. Çıktının analizi
0.000231 poll([{fd=3, events=POLLIN}], 1, 5000) = 0 (Timeout)
5.003045 poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}])
5000 ms zaman aşımı olan poll sistem çağrısı, DNS sunucusundan (8.8.8.8) yanıt almadı. Bu tam olarak 5 saniye sürdü.
5.005113 poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}])
İlkinden hemen sonra top, aynı DNS sunucusunu kullanarak isteği tekrar yapmaya çalışır ve yine 5 saniye bekler.
4. Sonuç
Komutun 10 saniyelik gecikmesi sunucu yüküyle ilgili değil, /etc/resolv.conf dosyasında belirtilen DNS sunucusundan yanıt beklemenin uzun sürmesiyle ilgilidir.
Google’ın küresel DNS’sini kullanıyorsanız, bazı ülkelerde basitçe engellenmiş olabilir (bizim durumumuzda olduğu gibi). Sadece kendi ülkenizde bulunan bir tane ile değiştirin.

