Bu kılavuzda, Linux'ta CPU kullanımının nasıl kontrol edileceğine bakın.
Linux'ta CPU kullanımı
CPU, bir bilgisayarın sunduğu tüm işlem gücünün birincil kaynağıdır. Bundan en iyi şekilde yararlanmak için kullanımını yönetmek ve optimize etmek gerekir.
Modern işletim sistemleri, CPU'yu mümkün olduğunca verimli kullanmak için optimize edilmiştir. Dışarıdaki diğer uygulamalar bile oldukça optimize edilmiş. Ancak, kullanıcılar olmayabilir. Benim durumumda, örneğin, yüzlerce tarayıcı sekmesi açıkken ve birden fazla arka plan görevi çalışırken oyun oynuyorum. Tüm yazılımlar optimize edilmiş olsa da benim kullanım şeklim daha fazla CPU yüküne neden olacaktır.
Birden fazla kullanıcı oturum açtıysa, CPU kullanımı otomatik olarak yüksek olacaktır. Bununla birlikte, sistem yöneticisi, birisinin hepsini kullanmadığından ve genel olarak düşük sistem performansına ve deneyimine neden olmadığından emin olmak için buna göz kulak olmak isteyebilir. Belirli bir işlem/uygulama çok fazla CPU kullanımına neden oluyorsa, hatalı çalışıyor olabilir, sorunlu olabilir veya doğası gereği budur.
Bazen olağandışı CPU kullanımı, bir sisteme izinsiz giriş olduğunu da gösterebilir.
Tüm bu bilgilere dayanarak, CPU kullanımını kontrol etmek oldukça anlayışlı olabilir.
Linux'ta CPU kullanımını kontrol edin
Linux durumunda, CPU kullanımını izlemek için çok sayıda araç vardır. Performans okumalarını çıkarmak için çeşitli yerleşik sistem çağrılarına sahiptir. Araçlardan bazıları tüm Linux dağıtımlarında önceden yüklenmiş olarak gelir, bazıları manuel kurulum gerektirebilir.
Aşağıdaki tüm yöntemler Ubuntu 20'de gösterilmiştir.04.1 LTS. Ancak, diğer herhangi bir modern dağıtımda gayet iyi çalışacaklar.
top kullanarak CPU kullanımını kontrol edin
Topu kullanarak sistemi gerçek zamanlı olarak izleyebilirsiniz. Şu anda Linux çekirdeği tarafından yönetilen bir süreç ve iş parçacığı listesiyle birlikte sistem bilgilerinin kısa bir özetini bildirir. Ayrıca davranışını değiştirmek ve çeşitli eylemler gerçekleştirmek için etkileşimli seçenekler sunar.
En iyi araç CPU kullanımını gösterebilir. Aracı başlat.
$ üst
Burada odaklanılması gereken kilit nokta üçüncü satırdır. Çıkış değerleri kısaca açıklanmıştır. Her değer, CPU'nun bir şeyi gerçekleştirmek için harcadığı süreyi açıklar.
- biz: "Kullanıcı alanındaki" insanlar için süreçleri çalıştırmak için harcanan zaman.
- sy: "Çekirdek alanı" işlemlerini yürütmek için harcanan zaman.
- ni: Özel (manuel olarak ayarlanmış) Nice değeriyle süreçleri çalıştırmak için harcanan zaman.
- id: Boşta geçirilen zaman.
- wa: G/Ç isteğinin tamamlanmasını beklemek için harcanan süre.
- merhaba: Donanım kesintilerine hizmet etmek için harcanan zaman.
- si: Yazılım kesintileri için harcanan zaman.
- st: "Çalma zamanı" olarak da bilinen sanal makineyi çalıştırmak için kaybedilen zaman.
Artık işlem listesini çeşitli kısayol tuşlarıyla sıralayabilir ve filtreleyebilirsiniz. Burada CPU kullanımı ile ilgili olanları anlattım.
- P: İşlemleri CPU kullanımına göre sıralayın.
- I: Boşta kalan işlemleri listeden kaldırın. Geri dönmek için tekrar “I” tuşuna basın.
- M: Listeyi bellek kullanımına göre sıralayın.
- S: Listeyi, işlemlerin ne kadar süredir çalıştığına göre sıralayın.
- U: İşlemleri sahibine göre filtrele.
- K: Bir işlemi öldür. İşlemin PID'sini gerektirir.
htop kullanarak CPU kullanımını kontrol edin
Htop ve top her ikisi de aslında aynı araçlardır. Her ikisi de sistem izleme yeteneği açısından aynı özellikleri sunar. Ancak, htop daha kaliteli bir yaşam deneyimi sunar.
htop'un varsayılan ekranı ile çalışmak daha rahat. Kullanıcı arayüzü üstten daha iyi netliğe sahip. Metinler renklendirilmiş ve bakmak hoş. Ayrıca hem yatay hem de dikey kaydırma sunar.
Çoğu dağıtımda varsayılan olarak top kurulu olsa da, htop'u manuel olarak kurmanız gerekir. Herhangi bir Linux dağıtımında çalıştığı için htop'u snap kullanarak kurmak en iyisidir. Snappy'nin (snap paket yöneticisi) kurulu olduğunu varsayarsak, aşağıdaki komutu çalıştırın.
$ sudo ek yükleme htop
htop'u başlat.
$ htop
htop kullanımı top ile aynı olduğu için daha fazla tartışmayacağım.
iostat kullanarak CPU kullanımını kontrol edin
iostat aracı, CPU ve G/Ç kullanım istatistiklerini raporlar. Basit çıktılı basit bir araçtır. Ancak, yalnızca aracın çalıştırıldığı anın istatistiklerini rapor edecektir. top veya htop'tan farklı olarak, iostat gerçek zamanlı sistem izleme sunmaz.
iostat aracı, sysstat paketinin bir parçası olarak gelir. Hemen hemen tüm Linux dağıtımlarında bulunur. Sysstat paketini kurduğunuzu varsayarak devam edelim.
iostat'ı başlat.
$ iostat
Daha ayrıntılı bir raporla ilgileniyor? Kullanıcı işlemlerinin, sistem işlemlerinin, G/Ç beklemesinin ve boşta kalma süresinin CPU kullanımını görmek için “-c” işaretini kullanın.
$ iostat -c
Genişletilmiş istatistikler için “-x” bayrağını kullanın. “-t” bayrağı, her bir raporun kaç kez görüntüleneceğini tanımlayacaktır.
$ iostat -xtc 5 2
mpstat kullanarak CPU kullanımını kontrol edin
mpstat aracı, sysstat paketinin bir parçasıdır. Araç, tek tek işlemcilerin veya işlemci çekirdeklerinin kullanımını bildirir.
Mpstat'ı kullanmak için sisteminizde sysstat paketinin kurulu olması gerekir. Paketin zaten kurulu olduğunu varsayarsak, devam edelim.
mpstat'ı başlat.
$ mpstat
İşte değerlerin anlamı. Her değer, belirli bir düzeyde CPU kullanımını tanımlar.
- %usr: Kullanıcı düzeyinde CPU kullanımı.
- %nice: "güzel" kullanıcı işlemleri tarafından CPU kullanımı.
- %sys: Çekirdek tarafından CPU kullanımı.
- %iowait: Disk okuma/yazma bekleniyor.
- %irq: Donanım kesintilerini işleme.
- %soft: Yazılım kesintilerini işleme.
- %steal: Sanal işlemcileri yöneten bir hipervizör için zorunlu bekleme.
- %guest: Sanal bir işlemci çalıştırma.
- %boşta: Boşta duruyor.
Sar kullanarak CPU kullanımını kontrol edin
Sar komutu, sistem etkinliği bilgilerini toplamak ve raporlamak içindir. CPU kullanımı hakkında kısa ve basit bir rapor sunar.
CPU bilgilerini belirli bir aralıkta (saniye cinsinden) sunmak için sar kullanabiliriz. Gerçek zamanlı bir rapor olmasa da, birlikte çalışmak daha iyidir.
$ sar
Son örnekte sar sonsuza kadar çalışacaktı. Sar'ın çıktıyı kaç örnek yazdıracağını tanımlayabiliriz. Aşağıdaki örnekte sar, çıktıyı 5 saniye aralıklarla 10 kez yazdıracaktır.
$ sar 5 10
vmstat kullanarak CPU kullanımını kontrol edin
vmstat aracı, sistem süreçleri, bellek, takas, CPU performansı ve G/Ç gibi çeşitli sistem bilgilerini raporlar.
vmstat'ı çalıştır. Çalıştırıldığı anın sistem bilgilerini rapor edecektir.
$ vmstat
Sar'a benzer şekilde vmstat, sistem durumunu sabit bir aralıkta (saniye cinsinden) raporlayabilir.
$ vmstat 3
Son adımda, vmstat sonsuza kadar çalışacaktı. Vmstat'ı belirli bir süre çalıştırmak için çalıştırma sayısını tanımlayın. Burada vmstat, sistem durumunu 3 saniye aralıklarla 10 kez rapor edecektir.
$ vmstat 3 10
Bakışları kullanarak CPU kullanımını kontrol edin
Bakışlar, sistem durumunu izlemek için güçlü bir araçtır. Çeşitli sistem bilgilerini almak için psutil kitaplığını kullanan Python'da yazılmıştır. Bakışlar, CPU izleme, bellek, ağ kullanımı, disk G/Ç, işlemler ve dosya sistemi kullanımı gibi birçok derinlemesine sistem bilgisi sunar. GitHub'da Bakışlara göz atın.
Bakışları yüklemek basit bir iştir. Aşağıdaki yöntem herhangi bir GNU/Linux dağıtımında çalışacaktır. Tek ihtiyacınız olan, sisteminizde curl veya wget'in kurulu olması. Glances gerekli tüm bağımlılıklarla kurulacak.
$ curl -L https://bit.ly/bakışlar | /bin/bash$ wget -O- https://bit.ly/bakışlar | /bin/bash
Bakışlar ayrıca bir ek paket olarak da mevcuttur. Sisteminizde snappy (snap paket yöneticisi) kurulu olduğunu varsayarsak, Snapcraft'tan Glances snap'i kurun. Snapcraft'taki Bakışlara göz atın.
$ sudo snap yükleme bakışları
Bakışları kullanmak çok basit. Bağımsız modu başlatmak için aşağıdaki komutu çalıştırın.
$ bakışlar
Bakışlar ayrıca web sunucusu modunda çalışmayı da sunar. Web sunucusunu başlatmak için aşağıdaki komutu çalıştırın.
$ bakışlar -w
Sunucuya erişmek için aşağıdaki URL'ye gidin.
$ http://
Ham bilgi çıktısı için, Glances çıktıyı STDOUT'a yazdırabilir.
$ bakışlar --stdout işlemci.kullanıcı, mem.kullanılmış, yük
Son düşünceler
CPU kullanımını elde etmenin birçok yolu vardır. Hepsi gayet iyi çalışıyor olsa da, ihtiyacınıza bağlı olarak birkaç tanesine bağlı kalmanız gerekebilir. Bir sistem yöneticisiyseniz, top/htop'ta uzmanlaşma ve Bakışlar en fazla esnekliği sunar. Yalnızca sistem kaynak tüketiminin hızlı bir şekilde güncellenmesini istiyorsanız, diğer yöntemler daha iyi bir deneyim sunar.
CPU kullanımını kontrol etmek iyi ve kullanışlıdır. Bununla birlikte, kararlılığı sağlamak için, sisteminizin maksimum stres altında bile iyi çalışabileceğini doğrulamanız gerekir. CPU performansını test etmek ve kıyaslamak için bazı yararlı Linux uygulamalarına göz atın.
Mutlu bilgisayar!