LinuxNasıl yapılırSunucu

Linux Sunucu Kaynaklarınızı İzlemek İçin Temel Araçlar: top, netstat, du ve Daha Fazlası

Linux

Linux Sunucu Kaynaklarınızı İzlemek İçin Temel Araçlar

Her bilgisayar sistemi, düzgün bir yönetim ve izleme ile fayda sağlar. Sisteminizin nasıl çalıştığını gözlemlemek, sorunları keşfetmenize ve hızla çözmenize yardımcı olacaktır.

Bu amaç için yaratılmış birçok komut satırı aracı bulunmaktadır. Bu rehber, araç kutunuzda bulundurmanız gereken en yardımcı uygulamalardan bazılarını tanıtacaktır.

Ön Koşullar

Bu rehberi takip etmek için, Linux tabanlı bir işletim sistemi çalıştıran bir bilgisayara erişiminiz olması gerekmektedir. Bu, SSH ile bağlandığınız bir sanal özel sunucu veya yerel makineniz olabilir. Bu öğretici, Ubuntu 20.04 çalıştıran bir Linux sunucusu kullanılarak doğrulandı, ancak verilen örnekler herhangi bir Linux dağıtımının herhangi bir sürümünde çalışan bir bilgisayar üzerinde çalışmalıdır.

Bu rehberi takip etmek için bir uzak sunucu kullanmayı planlıyorsanız, önce Ubuntu 20.04 Sunucu Kurulduktan Sonra Ilk Yapılması Gerekenler | Narweb.net Blog rehberimizi tamamlamanızı öneririz. Bunu yapmak, sudo ayrıcalıklarına sahip bir non-root kullanıcı ve UFW ile yapılandırılmış bir güvenlik duvarı dahil olmak üzere güvenli bir sunucu ortamıyla sizi kuracak – Linux becerilerinizi geliştirebileceğiniz bir ortam.

Adım 1 – Linux’ta Çalışan Süreçleri Nasıl Görüntülerim

Sunucunuzda çalışan tüm süreçleri top komutunu kullanarak görebilirsiniz:

Output
top - 15:14:40 up 46 min, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 56 total, 1 running, 55 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1019600k total, 316576k used, 703024k free, 7652k buffers
Swap: 0k total, 0k used, 0k free, 258976k cached
 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
 1 root 20 0 24188 2120 1300 S 0.0 0.2 0:00.56 init 
 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 
 3 root 20 0 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/0 
 6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 
 7 root RT 0 0 0 0 S 0.0 0.0 0:00.03 watchdog/0 
 8 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset 
 9 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper 
 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs 

İlk birkaç satır çıktı, CPU/bellek yükü ve çalışan toplam görev sayısı gibi sistem istatistiklerini sağlar.

1 çalışan süreç olduğunu ve CPU döngülerini aktif olarak kullanmadıkları için uyuyan olarak kabul edilen 55 süreç olduğunu görebilirsiniz.

Gösterilen çıktının geri kalanı, çalışan süreçleri ve kullanım istatistiklerini gösterir. Varsayılan olarak, top, en meşgul süreçleri ilk görebileceğiniz şekilde bu süreçleri CPU kullanımına göre otomatik olarak sıralar. Top, Ctrl+C tuş kombinasyonunu kullanarak çalışan bir süreci çıkana kadar kabuğunuzda çalışmaya devam eder. Bu, sürecin mümkünse zarif bir şekilde durmasını isteyen bir kill sinyali gönderir.

Top’un geliştirilmiş bir versiyonu olan htop, çoğu paket deposunda mevcuttur. Ubuntu 20.04’de, bunu apt ile yükleyebilirsiniz:

sudo apt update
sudo apt install htop

Daha sonra, htop komutu kullanılabilir olacaktır:

Output
Mem[||||||||||| 49/995MB] Load average: 0.00 0.03 0.05
 CPU[ 0.0%] Tasks: 21, 3 thr; 1 running
 Swp[ 0/0MB] Uptime: 00:58:11
 PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
 1259 root 20 0 25660 1880 1368 R 0.0 0.2 0:00.06 htop
 1 root 20 0 24188 2120 1300 S 0.0 0.2 0:00.56 /sbin/init
 311 root 20 0 17224 636 440 S 0.0 0.1 0:00.07 upstart-udev-brid
 314 root 20 0 21592 1280 760 S 0.0 0.1 0:00.06 /sbin/udevd --dae
 389 messagebu 20 0 23808 688 444 S 0.0 0.1 0:00.01 dbus-daemon --sys
 407 syslog 20 0 243M

 1404 1080 S 0.0 0.1 0:00.02 rsyslogd -c5
 408 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.00 rsyslogd -c5
 409 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.00 rsyslogd -c5
 406 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.04 rsyslogd -c5
 553 root 20 0 15180 400 204 S 0.0 0.0 0:00.01 upstart-socket-br

htop, modern terminallerde renk desteğinin daha iyi farkındalığı ve daha fazla sıralama seçeneği gibi özellikler sunar. Diğer özellikler arasında, top’un aksine, her zaman varsayılan olarak yüklenmez. Top gibi htop’u Ctrl+C tuşlarına basarak çıkabilirsiniz.

İşte htop’u daha etkili bir şekilde kullanmanıza yardımcı olacak bazı klavye kısayolları:

  • M: Süreçleri bellek kullanımına göre sırala
  • P: Süreçleri işlemci kullanımına göre sırala
  • ?: Yardıma erişim
  • k: Geçerli/etiketli süreci öldür
  • F2: htop’u yapılandır. Burada görüntüleme seçeneklerini seçebilirsiniz.
  • /:: Süreçleri ara

Yardım veya kurulum aracılığıyla erişebileceğiniz birçok diğer seçenek vardır. Bunlar, htop’un işlevselliğini keşfederken ilk duraklarınız olmalıdır. Bir sonraki adımda, ağ bant genişliğinizi nasıl izleyeceğinizi öğreneceksiniz.


Adım 2 – Ağ Bant Genişliğini Nasıl İzlerim

Ağ bant genişliğini izlemek için birkaç farklı araç kullanabilirsiniz. Bu rehberde, iftop ve nethogs araçlarına odaklanacağız.

iftop

iftop aracı, ağ trafiğini izlemenize olanak tanır. Bu, hangi bağlantıların en çok bant genişliğini kullandığını görmek için kullanışlıdır. Ubuntu 20.04’de, iftop aracını şu komutla yükleyebilirsiniz:

sudo apt update
sudo apt install iftop

Daha sonra, iftop komutunu kullanarak ağ trafiğini izleyebilirsiniz:

sudo iftop

Çıktı, aşağıdaki gibi görünecektir:

Output
iftop -i eth0 -B -n
  10.0.0.1 => 10.0.0.2 1.25KB 2.50KB 2.50KB
  10.0.0.1 <= 10.0.0.2 1.25KB 2.50KB 2.50KB

Bu, 10.0.0.1 IP adresinden 10.0.0.2 IP adresine ve tersine olan trafiği gösterir. Sağdaki üç sütun, sırasıyla son 2, 10 ve 40 saniyelik ortalama bant genişliğini gösterir.

nethogs

nethogs aracı, hangi süreçlerin en çok bant genişliğini kullandığını gösterir. Ubuntu 20.04’de, nethogs aracını şu komutla yükleyebilirsiniz:

sudo apt update
sudo apt install nethogs

Daha sonra, nethogs komutunu kullanarak ağ trafiğini izleyebilirsiniz:

sudo nethogs

Çıktı, aşağıdaki gibi görünecektir:

Output
NetHogs version 0.8.5

 PID USER PROGRAM DEV SENT RECEIVED
 1234 user /usr/bin/curl eth0 20.0 KB 30.0 KB

Bu, /usr/bin/curl sürecinin, eth0 ağ arayüzü üzerinden 20.0 KB gönderdiğini ve 30.0 KB aldığını gösterir.

iftop ve nethogs araçları, ağ trafiğini izlemenize ve hangi süreçlerin veya bağlantıların en çok bant genişliğini kullandığını belirlemenize yardımcı olabilir.

Bir sonraki adımda, disk kullanımını nasıl izleyeceğinizi öğreneceksiniz.


Adım 3 – Disk Kullanımını Nasıl İzlerim

Disk kullanımını izlemek için birkaç farklı araç kullanabilirsiniz. Bu rehberde, du ve df araçlarına odaklanacağız.

du

du komutu, belirli bir dizindeki dosya ve dizinlerin disk kullanımını gösterir. Örneğin, /var dizinindeki disk kullanımını görmek için şu komutu kullanabilirsiniz:

sudo du -h /var

Çıktı, aşağıdaki gibi görünecektir:

Output
4.0K    /var/lib/yum/yumdb/d/3e6973c105d0d7640f014123456789abcdef1234
4.0K    /var/lib/yum/yumdb/d
12K     /var/lib/yum/yumdb
16K     /var/lib/yum
...

Bu, /var/lib/yum/yumdb/d/3e6973c105d0d7640f014123456789abcdef1234 dizininde 4.0K disk alanı kullanıldığını gösterir. -h seçeneği, çıktıyı “insan tarafından okunabilir” bir formatta gösterir, yani disk alanı KB, MB veya GB cinsinden gösterilir.

df

df komutu, tüm dosya sistemlerinin disk kullanımını gösterir. Örneğin, tüm dosya sistemlerindeki disk kullanımını görmek için şu komutu kullanabilirsiniz:

df -h

Çıktı, aşağıdaki gibi görünecektir:

Output
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       20G   5.5G  14G   28% /
tmpfs           1.9G  0     1.9G  0%  /dev/shm
/dev/sdb1       30G   20G   9.0G  70% /data

Bu, /dev/sda1 dosya sisteminde 20G toplam alan olduğunu ve 5.5G’nin kullanıldığını gösterir. Ayrıca, kullanılabilir alanın 14G olduğunu ve dosya sisteminin %28’inin kullanıldığını gösterir.

du ve df araçları, disk kullanımını izlemenize ve hangi dosya ve dizinlerin en çok disk alanını kullandığını belirlemenize yardımcı olabilir.

Bir sonraki adımda, sistem loglarını nasıl izleyeceğinizi öğreneceksiniz.


Adım 4 – Sistem Loglarını Nasıl İzlerim

Sistem logları, sunucunuzda ne olduğunu anlamanıza yardımcı olabilir. Bu rehberde, dmesg ve journalctl araçlarına odaklanacağız.

dmesg

dmesg komutu, kernel mesajlarını gösterir. Bu, özellikle donanım sorunlarını tanımlamak için kullanışlıdır. Örneğin, son kernel mesajlarını görmek için şu komutu kullanabilirsiniz:

dmesg | tail

Çıktı, aşağıdaki gibi görünecektir:

Output
[ 1234.567890] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[ 1234.678901] usb 1-1: New USB device found, idVendor=1234, idProduct=5678
[ 1234.789012] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1234.890123] usb 1-1: Product: USB Device
[ 1234.901234] usb 1-1: Manufacturer: USB Manufacturer
[ 1234.912345] usb 1-1: SerialNumber: 1234567890

Bu, yeni bir USB cihazının tanımlandığını gösterir. | tail komutu, sadece son 10 mesajı gösterir. Daha fazla mesaj görmek için, | tail -n 20 gibi bir komut kullanabilirsiniz.

journalctl

journalctl komutu, systemd journal loglarını gösterir. Bu, özellikle systemd hizmetlerinin durumunu kontrol etmek için kullanışlıdır. Örneğin, sshd hizmetinin loglarını görmek için şu komutu kullanabilirsiniz:

journalctl -u sshd

Çıktı, aşağıdaki gibi görünecektir:

Output
-- Logs begin at Mon 2023-09-04 14:50:01 UTC, end at Mon 2023-09-04 15:00:01 UTC. --
Sep 04 14:50:01 server sshd[1234]: Server listening on 0.0.0.0 port 22.
Sep 04 14:50:01 server sshd[1234]: Server listening on :: port 22.
Sep 04 14:55:01 server sshd[5678]: Accepted publickey for user from 10.0.0.1 port 12345 ssh2
Sep 04 14:55:01 server sshd[5678]: pam_unix(sshd:session): session opened for user user by (uid=0)

Bu, sshd hizmetinin başlatıldığını ve bir kullanıcının başarıyla oturum açtığını gösterir.

dmesg ve journalctl araçları, sistem loglarını izlemenize ve sunucunuzda ne olduğunu anlamanıza yardımcı olabilir.


Adım 5 – Sistem Kaynaklarını İzlemek için Diğer Araçlar

Linux’ta sistem kaynaklarını izlemek için birçok diğer araç da bulunmaktadır. İşte bazıları:

vmstat

vmstat komutu, sanal bellek istatistiklerini gösterir. Bu, özellikle bellek kullanımını izlemek için kullanışlıdır. Örneğin, sanal bellek istatistiklerini görmek için şu komutu kullanabilirsiniz:

vmstat

Çıktı, aşağıdaki gibi görünecektir:

Output
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1592832  81344 330848    0    0    41    35  647  897  3  1 96  0  0

Bu, sistemdeki mevcut bellek kullanımını ve CPU kullanımını gösterir.

iostat

iostat komutu, CPU istatistiklerini ve giriş/çıkış istatistiklerini gösterir. Bu, özellikle disk I/O performansını izlemek için kullanışlıdır. Örneğin, CPU ve I/O istatistiklerini görmek için şu komutu kullanabilirsiniz:

iostat

Çıktı, aşağıdaki gibi görünecektir:

Output
Linux 5.4.0-26-generic (ubuntu)     09/04/23    _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.23    0.00    0.34    0.03    0.00   98.40

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.80        12.34        40.56     123456     405678

Bu, CPU kullanımını ve sda disk cihazının I/O istatistiklerini gösterir.

mpstat

mpstat komutu, CPU istatistiklerini gösterir. Bu, özellikle çoklu CPU sistemlerinde CPU kullanımını izlemek için kullanışlıdır. Örneğin, CPU istatistiklerini görmek için şu komutu kullanabilirsiniz:

mpstat

Çıktı, aşağıdaki gibi görünecektir:

Output
Linux 5.4.0-26-generic (ubuntu)     09/04/23    _x86_64_    (1 CPU)

14:14:01     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
14:14:01     all    1.23    0.00     0.34   0.03     0.00    0.00    0.00    0.00    0.00   98.40

Bu, CPU kullanımını gösterir, burada %usr kullanıcı zamanını, %sys sistem zamanını ve %idle boşta geçen zamanı gösterir.

Bu araçlar, sistem kaynaklarını izlemenize ve sunucunuzun performansını optimize etmenize yardımcı olabilir.


Adım 6 – Sistem Kaynaklarını İzlemek için Grafiksel Araçlar

Komut satırı araçları dışında, sistem kaynaklarını izlemek için grafiksel araçlar da kullanabilirsiniz. İşte bazı popüler grafiksel araçlar:

GNOME Sistem İzleyici

GNOME Sistem İzleyici, GNOME masaüstü ortamında bulunan bir sistem izleme aracıdır. Bu araç, sistemde çalışan süreçleri, CPU kullanımını, bellek kullanımını ve daha fazlasını gösterir. Ubuntu 20.04’de, GNOME Sistem İzleyici’ni şu komutla yükleyebilirsiniz:

sudo apt update
sudo apt install gnome-system-monitor

Daha sonra, GNOME Sistem İzleyici’ni başlatmak için şu komutu kullanabilirsiniz:

gnome-system-monitor

KDE Sistem İzleyici

KDE Sistem İzleyici, KDE Plasma masaüstü ortamında bulunan bir sistem izleme aracıdır. Bu araç, sistemde çalışan süreçleri, CPU kullanımını, bellek kullanımını ve daha fazlasını gösterir. Ubuntu 20.04’de, KDE Sistem İzleyici’ni şu komutla yükleyebilirsiniz:

sudo apt update
sudo apt install ksysguard

Daha sonra, KDE Sistem İzleyici’ni başlatmak için şu komutu kullanabilirsiniz:

ksysguard

Bu grafiksel araçlar, sistem kaynaklarını izlemenize ve sunucunuzun performansını optimize etmenize yardımcı olabilir. Ayrıca, bu araçlar, sistem kaynaklarını izlerken daha görsel bir deneyim sunar.


Ayrıca sitemizde daha önce Docker konusu ile ilgili yazılmış bu yazılar da ilginizi çekebilir:

Docker Nedir? Ve NARWEB’den Aldığım Sunucuma Nasıl Kurabilirim? | Narweb.net Blog

Heroku Alternatifi PaaS Çözümü “Dokku” Nedir, Nasıl Kurulur Ve Nasıl Kullanılır? | Narweb.net Blog

Basit Bir Şekilde Kubernetes Cluster Oluşturma Rehberi | Narweb.net Blog

Portainer Nedir Ve Nasıl Kurulur? Docker Yönetimini Kolaylaştıran Arayüz | Narweb.net Blog

Web hosting ihtiyaçlarınız için Narweb web hosting paketlerine göz atabilirsiniz: Linux Hosting | Uygun Fiyat ve Yüksek Hızlı Enterprise SSD Hosting | Narweb

Sunucu ihtiyaçlarınız için Narweb VDS paketlerimize göz atabilirsiniz: VDS Sunucu | Enterprise SSD Dedicated Sanal Sunucu Yüksek Performans | Narweb

Ayrıca sitemizde daha önce yayınladığımız bu yazılar da dikkatinizi çekebilir:

Ubuntu Linux: Kapsamlı Bir Giriş | Narweb.net Blog

Ubuntu 20.04 Sunucu Kurulduktan Sonra Ilk Yapılması Gerekenler | Narweb.net Blog

Ubuntu 20.04 üzerine Plesk Hosting Kontrol Paneli Kurulumu Nasıl Yapılır? | Narweb.net Blog

En Çok Kullanılan 20 Linux Komutu Ve örnekleri | Narweb.net Blog

Ubuntu 20.04’te SSH Keys (Anahtarları) Nasıl Oluşturulur Ve Kullanılır? | Narweb.net Blog

SSH Temelleri: SSH Sunucuları, İstemcileri Ve Anahtarlarla Çalışma | Narweb.net Blog

Ubuntu şifre Sıfırlama Nasıl Yapılır? (2 Farklı Metot: Recovery Mode Ve Ubuntu CD Ile Başlatarak) | Narweb.net Blog

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir