GNU/Linux >> Belajar Linux >  >> Linux

Gunakan sar untuk memantau sumber daya di Linux

Artikel ini menyajikan 10 cara agar Anda dapat menggunakan perintah System Activity Report (sar) untuk memantau sumber daya di Linux®.

1. Menampilkan penggunaan kolektif semua CPU

Jalankan perintah berikut untuk menampilkan ringkasan penggunaan CPU:

sar -u

Perintah ini menampilkan penggunaan sumber daya kumulatif dan real-time dari semua CPU.

Anda dapat menambahkan lebih banyak parameter ke perintah ini. Misalnya, menambahkan 1 3 di akhir perintah seperti yang ditunjukkan pada contoh berikut, laporkan setiap 1 detik sebanyak 3 kali:

sar -u 1 3

Outputnya mirip dengan contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:27:32 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:27:33 PM       all      0.00      0.00      0.00      0.00      0.00    100.00
01:27:34 PM       all      0.25      0.00      0.25      0.00      0.00     99.50
01:27:35 PM       all      0.75      0.00      0.25      0.00      0.00     99.00
Average:          all      0.33      0.00      0.17      0.00      0.00     99.50

Kolom terakhir, %idle , menunjukkan beban CPU.

Perintah memiliki variasi berikut:

  • sar -u :Menampilkan penggunaan CPU untuk hari ini.
  • sar -u 1 3 :Menampilkan penggunaan CPU secara real-time setiap 1 detik selama 3 kali.
  • sar -u ALL :Sama seperti sar -u perintah, tetapi menampilkan bidang tambahan.
  • sar -u ALL 1 3 :Sama seperti sar -u 1 3 perintah, tetapi menampilkan bidang tambahan.
  • sar -u -f /var/log/sa/sa10 :Menampilkan penggunaan CPU untuk hari kesepuluh setiap bulan dari sa10 berkas.

2. Tampilkan penggunaan CPU berdasarkan CPU atau inti

Jalankan perintah berikut untuk menampilkan penggunaan CPU oleh CPU atau inti:

sar -P ALL 1 1

-P ALL bendera menunjukkan bahwa Anda ingin menampilkan statistik untuk semua inti individu.

Di CPU kolom dari contoh output berikut, 0 , 1 , 2 , dan 3 adalah nomor inti CPU:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:34:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:34:13 PM       all     11.69      0.00      4.71      0.69      0.00     82.90
01:34:13 PM         0     35.00      0.00      6.00      0.00      0.00     59.00
01:34:13 PM         1     22.00      0.00      5.00      0.00      0.00     73.00
01:34:13 PM         2      3.00      0.00      1.00      0.00      0.00     96.00
01:34:13 PM         3      0.00      0.00      0.00      0.00      0.00    100.00

Jika Anda ingin menampilkan statistik hanya untuk inti kedua, gunakan -P 1 flag (karena nomor inti dimulai dari 0), seperti yang ditunjukkan pada contoh berikut:

sar -P 1 1 1

Outputnya terlihat seperti contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:36:25 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
01:36:26 PM         1      8.08      0.00      2.02      1.01      0.00     88.89

Anda mungkin juga menemukan variasi berikut berguna:

  • sar -P ALL :Menampilkan penggunaan CPU untuk setiap inti untuk hari ini.
  • sar -P ALL 1 3 :Menampilkan penggunaan CPU real-time dari setiap inti setiap 1 detik selama 3 kali.
  • sar -P 1 :Menampilkan penggunaan CPU untuk inti nomor 1 untuk hari ini.
  • sar -P 1 1 3 :Menampilkan penggunaan CPU real-time untuk nomor inti 1, setiap 1 detik selama 3 kali.
  • sar -P ALL -f /var/log/sa/sa10 :Menampilkan penggunaan CPU untuk setiap inti untuk hari kesepuluh dalam sebulan dari sa10 berkas.

3. Tampilkan memori kosong dan bekas

Jalankan perintah berikut untuk menampilkan memori kosong dan bekas:

sar -r

Jika Anda menambahkan 1 3 ke perintah seperti yang ditunjukkan pada contoh berikut, laporan output untuk setiap 1 detik sebanyak 3 kali:

sar -r 1 3

Outputnya terlihat seperti contoh berikut, di manakbmemfree adalah memori bebas dan kbmemused digunakan memori:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:28:06 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact
07:28:07 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:08 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
07:28:09 AM   6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204
Average:      6209248   2097432     25.25    189024   1796544    141372      0.85   1921060     88204

Perintah ini memiliki variasi berikut:

  • sar -r
  • sar -r 1 3
  • sar -r -f /var/log/sa/sa10

4. Tampilkan penggunaan ruang swap

Jalankan perintah berikut untuk menampilkan jumlah ruang swap yang digunakan:

sar -S

Jika Anda menambahkan 1 3 ke akhir perintah seperti yang ditunjukkan pada contoh berikut, laporan output untuk setiap 1 detik sebanyak 3 kali:

sar -S 1 3

Outputnya mirip dengan contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

07:31:06 AM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
07:31:07 AM   8385920         0      0.00         0      0.00
07:31:08 AM   8385920         0      0.00         0      0.00
07:31:09 AM   8385920         0      0.00         0      0.00
Average:      8385920         0      0.00         0      0.00

Catatan :Jika kbswpused dan %swpused berada di 0 , maka sistem Anda tidak bertukar.

Perintah ini memiliki variasi berikut:

  • sar -S
  • sar -S 1 3
  • sar -S -f /var/log/sa/sa10

Perintah ruang swap tambahan

Anda mungkin juga menemukan perintah ruang swap berikut berguna:

  • Gunakan sar -R untuk mengidentifikasi jumlah halaman memori yang telah dibebaskan, digunakan, dan di-cache oleh sistem.
  • Gunakan sar -H untuk mengidentifikasi Linux® HugePages (dalam kilobyte (KB)) yang sedang digunakan dan tersedia.
  • Gunakan sar -B untuk menghasilkan statistik paging seperti jumlah KB yang masuk (dan keluar) dari disk per detik.
  • Gunakan sar -W untuk menghasilkan statistik pertukaran halaman, seperti pertukaran halaman masuk (dan keluar) per detik.

5. Tampilkan aktivitas I/O

Jalankan perintah berikut untuk menampilkan keseluruhan aktivitas input dan output (I/O):

sar -b

Output dari perintah ini menampilkan statistik I/O. Jika Anda menambahkan 1 3 sampai akhir perintah seperti yang ditunjukkan pada contoh berikut, laporan output untuk setiap 1 detik sebanyak 3 kali:

sar -b 1 3

Outputnya terlihat seperti contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:56:28 PM       tps      rtps      wtps   bread/s   bwrtn/s
01:56:29 PM    346.00    264.00     82.00   2208.00    768.00
01:56:30 PM    100.00     36.00     64.00    304.00    816.00
01:56:31 PM    282.83     32.32    250.51    258.59   2537.37
Average:       242.81    111.04    131.77    925.75   1369.90

Outputnya mencakup bidang-bidang berikut:

  • tps :Transaksi per detik (baik baca maupun tulis)
  • rtps :Membaca transaksi per detik
  • wtps :Tulis transaksi per detik
  • bread/s :Byte dibaca per detik
  • bwrtn/s :Byte ditulis per detik

Perintah ini memiliki variasi berikut:

  • sar -b
  • sar -b 1 3
  • sar -b -f /var/log/sa/sa10

Catatan :Gunakan sar -v untuk menampilkan jumlah inode handler, file handler, dan pseudo-terminal yang digunakan sistem.

6. Menampilkan aktivitas I/O perangkat blok individual

Jalankan perintah berikut untuk menampilkan aktivitas I/O dari masing-masing perangkat blok:

sar -d

Untuk mengidentifikasi aktivitas berdasarkan perangkat blok individual (seperti titik mount tertentu, nomor unit logis (LUN), atau partisi), gunakan sar -d , seperti yang ditunjukkan pada contoh berikut:

sar -d 1 1

Outputnya terlihat seperti contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM    dev8-0      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM    dev8-1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM dev120-64      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM dev120-65      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM  dev120-0      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM  dev120-1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM dev120-96      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM dev120-97      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91

Dalam contoh ini, nilai dalam DEV kolom mewakili perangkat blok tertentu. Misalnya, dev53-1 berarti perangkat blok dengan 53 sebagai nomor utama, dan 1 sebagai nomor kecil.

Anda dapat menggunakan cetakan cantik (-p ) seperti yang ditunjukkan pada contoh berikut untuk membuat kolom menampilkan nama perangkat yang sebenarnya (seperti sda, sda1, atau sdb1):

sar -p -d 1 1

Outputnya terlihat seperti contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:59:45 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
01:59:46 PM       sda      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sda1      1.01      0.00      0.00      0.00      0.00      4.00      1.00      0.10
01:59:46 PM      sdb1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sdc1      3.03     64.65      0.00     21.33      0.03      9.33      5.33      1.62
01:59:46 PM      sde1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sdf1      8.08      0.00    105.05     13.00      0.00      0.38      0.38      0.30
01:59:46 PM      sda2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91
01:59:46 PM      sdb2      1.01      8.08      0.00      8.00      0.01      9.00      9.00      0.91

Perintah ini memiliki variasi berikut:

  • sar -d
  • sar -d 1 3
  • sar -d -f /var/log/sa/sa10
  • sar -p -d

7. Tampilkan sakelar konteks per detik

Jalankan perintah berikut untuk menampilkan sakelar konteks per detik:

sar -w

Perintah ini melaporkan jumlah total proses yang dibuat per detik dan jumlah total sakelar konteks per detik. Jika Anda menambahkan 1 3 ke akhir perintah seperti yang ditunjukkan pada contoh berikut, ia melaporkan setiap 1 detik sebanyak 3 kali:

sar -w 1 3

Outputnya mirip dengan contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

08:32:24 AM    proc/s   cswch/s
08:32:25 AM      3.00     53.00
08:32:26 AM      4.00     61.39
08:32:27 AM      2.00     57.00

Perintah ini memiliki variasi berikut:

  • sar -w
  • sar -w 1 3
  • sar -w -f /var/log/sa/sa10

8. Menampilkan antrian run dan memuat rata-rata

Jalankan perintah berikut untuk menampilkan run queue dan load average:

sar -q

Perintah ini melaporkan ukuran antrian run dan rata-rata beban selama satu menit terakhir, 5 menit terakhir, dan 15 menit terakhir. Jika Anda menambahkan 1 3 hingga akhir perintah seperti yang ditunjukkan pada contoh berikut, ia melaporkan setiap 1 detik sebanyak 3 kali:

sar -q 1 3

Outputnya terlihat seperti contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

06:28:53 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
06:28:54 AM         0       230      2.00      3.00      5.00         0
06:28:55 AM         2       210      2.01      3.15      5.15         0
06:28:56 AM         2       230      2.12      3.12      5.12         0
Average:            3       230      3.12      3.12      5.12         0

Catatan :blocked kolom menampilkan jumlah tugas yang saat ini diblokir dan menunggu operasi I/O selesai.

Perintah ini memiliki variasi berikut:

  • sar -q
  • sar -q 1 3
  • sar -q -f /var/log/sa/sa10

9. Tampilkan statistik jaringan

Jalankan perintah berikut untuk menampilkan statistik jaringan:

sar -n

Perintah ini melaporkan berbagai statistik jaringan, seperti jumlah paket yang diterima (ditransmisikan) melalui kartu jaringan atau jumlah kegagalan paket yang terjadi. Jika Anda menambahkan 1 3 sampai akhir perintah, ia melaporkan setiap 1 detik sebanyak 3 kali.

Anda juga dapat menambahkan kata kunci ke perintah, seperti yang ditunjukkan pada contoh berikut:

sar -n KEYWORD

KEYWORD dapat menjadi salah satu opsi berikut:

  • DEV :Menampilkan statistik vital untuk perangkat jaringan
  • EDEV :Menampilkan statistik kegagalan untuk perangkat jaringan
  • NFS :Menampilkan aktivitas klien Sistem File Jaringan (NFS)
  • NFSD :Menampilkan aktivitas server NFS
  • SOCK :Menampilkan soket yang digunakan untuk IPv4
  • IP :Menampilkan lalu lintas jaringan IPv4
  • EIP :Menampilkan kesalahan jaringan IPv4
  • ICMP :Menampilkan lalu lintas jaringan ICMPv4
  • EICMP :Menampilkan kesalahan jaringan ICMPv4
  • TCP :Menampilkan lalu lintas jaringan TCPv4
  • ETCP :Menampilkan kesalahan jaringan TCPv4
  • UDP :Menampilkan lalu lintas jaringan UDPv4
  • SOCK6 , IP6 , EIP6 , ICMP6 , dan UDP6 :Menampilkan informasi jaringan IPv6
  • ALL :Menampilkan semua informasi sebelumnya

Contoh berikut menggunakan DEV kata kunci:

sar -n DEV 1 1

Outputnya terlihat seperti contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

01:11:13 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
01:11:14 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
01:11:14 PM      eth0    342.57    342.57  93923.76 141773.27      0.00      0.00      0.00
01:11:14 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

10. Laporkan data sar menurut waktu mulai

Jalankan perintah berikut untuk melaporkan data sar berdasarkan waktu mulai:

sar -s

Saat Anda melihat data sar historis dari /var/log/sa/saXX file dengan menggunakan sar -f opsi, output menampilkan semua data sar untuk hari tertentu mulai pukul 12:00 pagi

Anda dapat menggunakan -s hh:mi:ss pilihan untuk menentukan waktu mulai. Misalnya, jika Anda menentukan sar -s 10:00:00 , output dari perintah menampilkan sardata mulai pukul 10 pagi (bukan default tengah malam).

Anda dapat menggabungkan -s bendera dengan bendera sar lainnya. Misalnya, untuk melaporkan rata-rata pemuatan pada tanggal 26 bulan berjalan mulai dari jam 10 pagi, gabungkan -q dan -s bendera seperti yang ditunjukkan pada contoh berikut:

sar -q -f /var/log/sa/sa23 -s 10:00:01

Outputnya terlihat seperti contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
...
11:20:01 AM         0       127      5.00      3.00      3.00         0
12:00:01 PM         0       127      4.00      2.00      1.00         0

Anda tidak dapat menentukan waktu berakhir. Sebagai gantinya, Anda perlu menggunakan head memerintah. Misalnya, jika Anda ingin memulai dari jam 10 pagi dan melihat 7 entri, Anda dapat menyalurkan output sebelumnya ke head -n 10 , seperti yang ditunjukkan pada contoh berikut:

sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10

Outputnya terlihat seperti contoh berikut:

Linux 2.6.18-194.el5PAE (dev-db)        03/26/2011      _i686_  (8 CPU)

10:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
10:10:01 AM         0       127      2.00      3.00      5.00         0
10:20:01 AM         0       127      2.00      3.00      5.00         0
10:30:01 AM         0       127      3.00      5.00      2.00         0
10:40:01 AM         0       127      4.00      2.00      1.00         2
10:50:01 AM         0       127      3.00      5.00      5.00         0
11:00:01 AM         0       127      2.00      1.00      6.00         0
11:10:01 AM         0       127      1.00      3.00      7.00         2

Linux
  1. Cara menggunakan BusyBox di Linux

  2. Cara menggunakan Perintah Su di Linux

  3. Linux – Bagaimana Cara Menggunakan Tiga Monitor Pada Laptop?

  1. Linux – Penggunaan O_direct Di Linux?

  2. Cara menggunakan auditd untuk memantau penghapusan file di Linux

  3. Gunakan perpustakaan C di Swift di Linux

  1. 5 alasan untuk menggunakan Linux di tahun 2020

  2. Bagaimana saya menggunakan cron di Linux

  3. Cara menggunakan FIND di Linux