linux’de CPU performansını nasıl inceleyebilirim? CPU yüzde kaç kullanılıyor veya en çok hangi process CPU kullanıyor nasıl görebilirim.
comments
3 references
// Comments are closed.
linux’de CPU performansını nasıl inceleyebilirim? CPU yüzde kaç kullanılıyor veya en çok hangi process CPU kullanıyor nasıl görebilirim.
// Comments are closed.
top komutu kullanabilirsin
Anlık olarak genel performans durumunu görmek için, özellikle de hangi process’lerin daha çok kaynak tükettiğini görmek için top komutu çok güzeldir.
[linuxserver]$ top
top – 09:31:32 up 21 days, 22:06, 7 users, load average: 0.32, 0.11, 0.07
Tasks: 522 total, 1 running, 521 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.3%us, 0.2%sy, 0.0%ni, 93.6%id, 2.9%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 24607496k total, 24380320k used, 227176k free, 139484k buffers
Swap: 12378108k total, 1369244k used, 11008864k free, 20889520k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 19356 1156 940 S 0.0 0.0 0:56.48 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:02.99 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:04.75 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:02.54 watchdog/0
7 root RT 0 0 0 0 S 0.0 0.0 0:03.43 migration/1
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/1
9 root 20 0 0 0 0 S 0.0 0.0 0:08.44 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 0:01.87 watchdog/1
11 root RT 0 0 0 0 S 0.0 0.0 0:02.13 migration/2
top komutu ile yukarıdaki benzer bir çıktı alınır. Burdan hem CPU hakkında, hem memory ve swap kullanımı hakkında bilgi sahibi olunurken, en fazla kaynak tüketen process’leri de görebilirsiniz.
Linux’de genel performans incelemesi için SAR komutu kullanılabilir.
Sadece sar yazdığınızda o güne ait 10dk aralıklarla sistemdeki genel performans durumunu gösterir.
En sağdaki %idle değeri CPU’nun ne kadar idle olduğunu gösterir.
%iowait--> CPU’nun ne kadarının io işlemini beklediğini gösterir. Bu değerin yüksek olması, disk performansının kötü olduğunu, ya da gerçekten çok yüklü bir disk işlemi yapıldığını gösterir.
[linuxserver]$ sar
Linux 2.6.32-573.el6.x86_64 (linuxserver) 12/07/2016 _x86_64_ (8 CPU)
12:00:01 AM CPU %user %nice %system %iowait %steal %idle
12:10:01 AM all 2.25 0.00 1.15 0.37 0.00 96.23
12:20:01 AM all 2.15 0.00 1.14 0.21 0.00 96.50
..
…
08:40:01 AM all 2.02 0.00 1.17 0.20 0.00 96.61
08:50:02 AM all 2.64 0.00 1.18 0.26 0.00 95.91
09:00:01 AM all 2.34 0.00 1.21 0.38 0.00 96.06
Average: all 9.67 0.00 1.21 0.86 0.00 88.25
anlık olarak görmek isterseniz, aşağıdaki komutu kullanabilirsiniz.
sar x y
x–> kaç saniye aralıklarla
y–> kaç kere
[linuxserver]$ sar 1 5
Linux 2.6.32-573.el6.x86_64 (linuxserver) 12/07/2016 _x86_64_ (8 CPU)
09:09:09 AM CPU %user %nice %system %iowait %steal %idle
09:09:10 AM all 10.51 0.00 0.13 0.50 0.00 88.86
09:09:11 AM all 3.25 0.00 0.13 0.75 0.00 95.87
09:09:12 AM all 1.00 0.00 0.00 0.50 0.00 98.50
09:09:13 AM all 2.75 0.00 0.12 0.00 0.00 97.12
09:09:14 AM all 0.25 0.00 0.25 0.25 0.00 99.25
Average: all 3.03 0.00 1.18 0.33 0.00 95.47
Yukarıda 1 saniye aralıklarla 5 kez sistem durumunu gösterdi.
Geçmişe dönük Linux sisteminizin performans durumunu görmek isterseniz aşağıdaki komutu kullanabilirsiniz.
sar -u -f /var/log/sa/sa16
buradaki sonraki 16 değeri ayın 16’sı demektir.
sar -u -f /var/log/sa/sa01 yazsaydık, ayın 1’ine ait değerleri getirirdi.
[linuxserver]$ sar -u -f /var/log/sa/sa16
Linux 2.6.32-573.el6.x86_64 (linuxserver) 11/16/2016 _x86_64_ (8 CPU)
12:00:01 AM CPU %user %nice %system %iowait %steal %idle
12:10:01 AM all 11.55 0.00 0.45 19.94 0.00 68.06
12:20:01 AM all 16.91 0.00 0.30 14.11 0.00 68.68
12:30:01 AM all 7.05 0.00 0.45 18.65 0.00 73.84
12:40:02 AM all 7.34 0.00 0.43 22.81 0.00 69.42
…
11:30:01 PM all 12.08 0.00 0.49 23.47 0.00 63.96
11:40:02 PM all 7.09 0.00 0.41 18.46 0.00 74.04
11:50:01 PM all 6.19 0.00 0.39 19.45 0.00 73.97
Average: all 2.87 0.00 0.32 15.43 0.00 81.38
urdan sisteminizin özellikle hangi saat dilimlerinde yoğun olduğunu görebilirsiniz.
NOT: çok yer kapladığı için yukarıda komut çıktılarının bir kısmını kestim.