Linux Sistem Kaynaklarını İzleme

Linux Sistem Kaynaklarını İzleme

Merhaba arkadaşlar. Bu yazımızda Linux sistemlerde sistem kaynaklarını nasıl izleyeceğimizi anlatmaya çalışacağım. Sistem kaynakları derken neleri kastediyoruz? Neleri izleyebiliriz?

İzleyeceğimiz sistem kaynakları, CPU durumu, Ram, diskler açık portlar, açık kalma süresi, bilgisayarın yük durumu, çalışan servisler, çalışan işlemler (process) vs bilgileri terminal ekranından komutlar aracılığı ile izleyebiliriz.

İlk olarak uptime komutu ile başlayalım. Uptime komutu bize bilgisayarın açık kalma süresini verir.

[email protected]:~$ uptime
11:03:03 up 30 min, 2 users, load average: 0,08, 0,02, 0,06

Buradan anlaşılacak bilgi, bilgisayarın açılış zamanı ve son 1, 5 ve 15 dakikadaki yük durumudur. Bizim bilgisayarımız 11:03 de açılmış, son bir dakikalık yük durumu 0,08, son beş dakikalık yük durumu 0,02, son 15 dakikalık yük durumu ise 0,06 dır. Yani %8 , %2 ve %6 diyebiliriz. Bu yük durumu, işlemcinin kapasitesini göstermektedir.

Bir sonraki monitoring komutumuz  free komutudur. free komutu ile RAM bilgilerini alırız.

[email protected]:~$ free
total used free shared buff/cache available
Mem: 2041572 1203892 75920 67512 761760 653220
Swap: 483800 1804 481996

free komutu -h parametresi ile kullanıldığında okunabilir veri sunar bize.

[email protected]:~$ free -h
total used free shared buff/cache available
Mem: 1,9G 1,1G 74M 65M 743M 637M
Swap: 472M 1,8M 470M

Görüldüğü üzere toplam 1,9 GB toplam RAM’in 1,1 GB lık kısmı boş, 74 MB lık kısmı kullanılıyormuş.

Bir sonraki komutumuz df. df komutu da bize disklerimizin kullanım durumunu gösterir. df komutu da -h parametresi ile daha okunabilir bir çıktı verir.

[email protected]:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 971M 0 971M 0% /dev
tmpfs 200M 1,6M 198M 1% /run
/dev/sda1 9,8G 6,9G 2,5G 74% /
tmpfs 997M 14M 983M 2% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 997M 0 997M 0% /sys/fs/cgroup
tmpfs 200M 28K 200M 1% /run/user/121
tmpfs 200M 23M 177M 12% /run/user/1000

Bu çıktıyı da şöyle yorumlayalım. Bizim diskimiz /dev/sda 19,8 GB toplam alanının 6,9 GB lık kısmı dolu, kalan kısmı boş demektir.

ps komutu da bize o an çalışan process leri yani işlemleri gösterir. ps komutunu ps -aux şeklinde çalıştırırsak bütün kullanıcılar için çalışan bütün process leri listeleyebiliriz.

[email protected]:~$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 154660 8516 ? Ss 10:32 0:01 /sbin/init spla
root 2 0.0 0.0 0 0 ? S 10:32 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 10:32 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S< 10:32 0:00 [mm_percpu_wq]
root 7 0.0 0.0 0 0 ? S 10:32 0:00 [ksoftirqd/0]
root 8 0.0 0.0 0 0 ? S 10:32 0:00 [rcu_sched]
root 9 0.0 0.0 0 0 ? S 10:32 0:00 [rcu_bh]
root 10 0.0 0.0 0 0 ? S 10:32 0:00 [migration/0]
root 11 0.0 0.0 0 0 ? S 10:32 0:00 [watchdog/0]
root 12 0.0 0.0 0 0 ? S 10:32 0:00 [cpuhp/0]

syslog 498 0.0 0.1 256536 3360 ? Ssl 10:32 0:00 /usr/sbin/rsysl
message+ 503 0.0 0.2 49124 5608 ? Ss 10:32 0:00 /usr/bin/dbus-d
root 530 0.0 0.4 302340 8412 ? Ssl 10:32 0:00 /usr/lib/accoun
root 532 0.0 0.8 567468 18024 ? Ssl 10:32 0:00 /usr/sbin/Netwo
root 538 0.0 0.1 32652 3072 ? Ss 10:32 0:00 /usr/sbin/cron
root 539 0.0 0.8 543120 18076 ? Ssl 10:32 0:00 /usr/lib/snapd/
root 540 0.0 0.0 4484 912 ? Ss 10:32 0:00 /usr/sbin/acpid
avahi 542 0.0 0.1 49452 3720 ? Ss 10:32 0:00 avahi-daemon: r
root 543 0.0 0.5 463804 10264 ? Ssl 10:32 0:00 /usr/lib/udisks
root 544 0.0 0.4 353704 9508 ? Ssl 10:32 0:00 /usr/sbin/Modem
root 545 0.0 0.2 65656 5872 ? Ss 10:32 0:00 /lib/systemd/sy
avahi 560 0.0 0.0 49328 352 ? S 10:32 0:00 avahi-daemon: c
root 572 0.0 0.5 308592 11320 ? Ssl 10:32 0:00 /usr/lib/policy
systemd+ 656 0.0 0.2 65840 6000 ? Ss 10:32 0:00 /lib/systemd/sy
root 663 0.0 0.1 16228 3660 ? S 10:32 0:00 /sbin/dhclient
root 672 0.0 0.3 302232 8044 ? Ssl 10:32 0:00 /usr/sbin/gdm3
root 680 0.0 0.3 253332 7968 ? Sl 10:32 0:00 gdm-session-wor
root 691 0.0 0.2 72136 5636 ? Ss 10:32 0:00 /usr/sbin/sshd
root 692 0.0 0.1 16228 3852 ? S 10:32 0:00 /sbin/dhclient

….
whoopsie 729 0.0 0.6 472980 13620 ? Ssl 10:32 0:00 /usr/bin/whoops
kernoops 734 0.0 0.1 56744 2520 ? Ss 10:32 0:00 /usr/sbin/kerne
gdm 751 0.0 0.3 80224 7652 ? Ss 10:32 0:00 /lib/systemd/sy
gdm 756 0.0 0.1 106512 2264 ? S 10:32 0:00 (sd-pam)
gdm 771 0.0 0.2 191972 5312 tty1 Ssl+ 10:32 0:00 /usr/lib/gdm3/g
gdm 773 0.0 0.2 47788 4376 ? Ss 10:32 0:00 /usr/bin/dbus-d
gdm 775 0.0 0.8 579676 16688 tty1 Sl+ 10:32 0:00 /usr/lib/gnome-
gdm 785 0.1 10.0 2937772 205700 tty1 Sl+ 10:32 0:03 /usr/bin/gnome-
root 862 0.0 0.4 313132 8396 ? Ssl 10:32 0:00 /usr/lib/upower
root 1032 0.0 0.7 446000 16136 ? Ssl 10:32 0:00 /usr/lib/packag
gdm 1059 0.0 1.7 214800 35284 tty1 S+ 10:33 0:00 /usr/bin/Xwayla
gdm 1062 0.0 0.4 365164 8260 ? Ssl 10:33 0:00 /usr/lib/at-spi
gdm 1067 0.0 0.2 47444 4088 ? S 10:33 0:00 /usr/bin/dbus-d
gdm 1069 0.0 0.3 220564 6808 ? Sl 10:33 0:00 /usr/lib/at-spi
gdm 1072 0.0 0.5 1151840 11124 ? Ssl 10:33 0:00 /usr/bin/pulsea
rtkit 1074 0.0 0.1 188076 3188 ? SNsl 10:33 0:00 /usr/lib/rtkit/
gdm 1134 0.0 0.4 369052 9180 tty1 Sl 10:33 0:00 ibus-daemon –x
gdm 1137 0.0 0.3 288340 7612 tty1 Sl 10:33 0:00 /usr/lib/ibus/i
gdm 1140 0.0 2.3 477832 47116 tty1 Sl 10:33 0:00 /usr/lib/ibus/i
root 1153 0.0 0.2 48696 5220 ? Ss 10:33 0:00 /sbin/wpa_suppl
gdm 1154 0.0 1.1 525228 23632 tty1 Sl+ 10:33 0:00 /usr/lib/gnome-
gdm 1155 0.0 1.1 515284 24096 tty1 Sl+ 10:33 0:00 /usr/lib/gnome-
gdm 1157 0.0 1.1 442520 22976 tty1 Sl+ 10:33 0:00 /usr/lib/gnome-
gdm 1162 0.0 0.3 288352 8080 tty1 Sl+ 10:33 0:00 /usr/lib/gnome-

gdm 1195 0.0 0.4 334724 9396 tty1 Sl+ 10:33 0:00 /usr/lib/gnome-
colord 1220 0.0 0.7 333396 15308 ? Ssl 10:33 0:00 /usr/lib/colord
gdm 1317 0.0 0.3 212492 7572 tty1 Sl 10:33 0:00 /usr/lib/ibus/i
root 1351 0.0 0.3 259520 8096 ? Sl 10:33 0:00 gdm-session-wor
eser 1382 0.0 0.3 80300 7872 ? Ss 10:33 0:00 /lib/systemd/sy
eser 1383 0.0 0.1 106512 2268 ? S 10:33 0:00 (sd-pam)
eser 1390 0.0 0.3 282476 7760 ? Sl 10:33 0:00 /usr/bin/gnome-
eser 1394 0.0 0.2 191972 5548 tty2 Ssl+ 10:33 0:00 /usr/lib/gdm3/g
eser 1396 0.0 0.2 48472 4984 ? Ss 10:33 0:00 /usr/bin/dbus-d
eser 1398 0.0 0.8 729576 17740 tty2 Sl+ 10:33 0:00 /usr/lib/gnome-
eser 1453 0.0 0.3 286072 7056 ? Ssl 10:33 0:00 /usr/lib/gvfs/g
eser 1458 0.0 0.3 431592 7720 ? Sl 10:33 0:00 /usr/lib/gvfs/g
eser 1481 1.0 14.3 3041744 292732 tty2 Sl+ 10:33 0:28 /usr/bin/gnome-
eser 1488 0.0 3.8 314524 79068 tty2 S+ 10:33 0:01 /usr/bin/Xwayla
eser 1491 0.0 0.4 367464 8412 ? Ssl 10:33 0:00 /usr/lib/at-spi
eser 1496 0.0 0.1 47448 4048 ? S 10:33 0:00 /usr/bin/dbus-d
eser 1498 0.0 0.3 220564 6940 ? Sl 10:33 0:00 /usr/lib/at-spi
eser 1504 0.0 0.5 1170608 12052 ? S<l 10:33 0:00 /usr/bin/pulsea
eser 1514 0.0 0.7 621960 16084 ? Sl 10:33 0:00 /usr/lib/gnome-
eser 1515 0.0 0.4 371516 9804 tty2 Sl 10:33 0:00 ibus-daemon –x
eser 1519 0.0 0.4 290644 8880 tty2 Sl 10:33 0:00 /usr/lib/ibus/i

eser 18710 0.0 0.1 43348 3776 pts/1 R+ 11:18 0:00 ps -aux
[email protected]:~$

Eğer bir işlemi durdurmak istersek kill komutunun sonuna durdurmak istediğimiz process in PID numarasını yazmalıyız. Örnek olarak 1514 PID numaralı /usr/lib/gnome- işlemini durdurmak istersek ( ki bunu durdurmayın, ben örnek olarak verdim. ) kill 1514 yazmamız yeterli. Ancak bazı process ler bu şekilde durmayabilir. Bu gibi durumlarda kill komutunu -9 yani force şeklinde kullanmak gerekir. Yani komut kill -9 1514 şeklinde kullanılabilir.

Son olarak da top komutunu görelim. top komutu da interaktif bir ekran çıkarır karşımıza ve çalışan servisleri gösterir.

top – 11:23:48 up 51 min, 2 users, load average: 0,00, 0,00, 0,00
Tasks: 192 total, 2 running, 190 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,7 us, 1,0 sy, 0,0 ni, 98,0 id, 0,0 wa, 0,0 hi, 0,3 si, 0,0 st
KiB Mem : 2041572 total, 74872 free, 1219152 used, 747548 buff/cache
KiB Swap: 483800 total, 481996 free, 1804 used. 638696 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1873 eser 20 0 247184 27864 9424 S 1,0 1,4 0:30.02 python3
18798 eser 20 0 47752 4280 3624 R 0,7 0,2 0:00.03 top
30 root 20 0 0 0 0 S 0,3 0,0 0:01.51 kworker/0:1
1 root 20 0 154660 8516 6396 S 0,0 0,4 0:01.37 systemd
2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd
4 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/0:0H
6 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 mm_percpu_wq
7 root 20 0 0 0 0 S 0,0 0,0 0:00.14 ksoftirqd/0
8 root 20 0 0 0 0 R 0,0 0,0 0:00.79 rcu_sched
9 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_bh
10 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/0
11 root rt 0 0 0 0 S 0,0 0,0 0:00.00 watchdog/0
12 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/0
13 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kdevtmpfs
14 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 netns
15 root 20 0 0 0 0 S 0,0 0,0 0:00.00 khungtaskd
16 root 20 0 0 0 0 S 0,0 0,0 0:00.00 oom_reaper

top komutunun çıktısı da yukarıdaki gibidir.  Top komutu bize çalışan servislerin listesini verdiği gibi, Bu servislerin CPU ve RAM üzerinde kapladığı alanları da gösterir. Çok kullanışlı bir komuttur.

Yani sistem kaynaklarını izlemek için  uptime  free df -h ps -aux ve top komutlarını kullanarak çeşitli raporlar aldık. Tabi bu raporlar terminal ekranından görüntülenecek şekilde geliyor. Görsel raporlar çekmek için başka tool lara ihtiyacımız olacak. İsterseniz onları da başka bir yazıda dile getirelim.  Başka bir yazıda görüşmek dileğiyle. Hoşçakalın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir