Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

Sorunuz mu var? Belki de çoktan soruldu..

0
linux'de CPU performansını nasıl inceleyebilirim?

Açık 2 Cevaplar 42 Gösterim Unix/Linux
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.

2 Cevap

0
top komutu kullanabilirsin
5 Aralık 2016 kenan (2,835 puan) cevapladı
1Yorumlar
7 Aralık 2016 buzel (551 puan) yorumladı

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.

1

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.  

7 Aralık 2016 buzel (551 puan) cevapladı
...