Perintah sar digunakan untuk menghasilkan laporan statistik pada berbagai sumber daya termasuk penggunaan CPU, penggunaan memori, konsumsi perangkat I/O, monitor jaringan, swap, dan rata-rata beban.
SAR adalah singkatan dari System Activity Reporter, alat yang sangat berguna bagi administrator Linux mana pun untuk memantau kinerja sistem dan menyelidiki kemacetan. Alat ini disediakan oleh paket sysstat.
Dalam tutorial ini, kita akan membahas cara menginstal paket sysstat dan menggunakan perintah sar di Linux.
Instal paket sysstat
Paket sysstat berisi banyak utilitas yang merupakan kumpulan alat pemantauan kinerja untuk sistem Linux. Sar adalah alat yang termasuk dalam paket sysstat.
Menginstal paket sysstat di RHEL dan CentOS
$ sudo yum install sysstat
Setelah sysstat berhasil diinstal, verifikasi instalasi dengan perintah:
$ yang sar/usr/bin/sar
Secara default, sysstat akan menyimpan statistik server dalam file '/var/log/sa/saDD' (DD adalah hari dalam sebulan, misalnya:/var/log/sa/sa08) dan akan menyimpan data selama 28 hari. Jika Anda ingin menyimpan data lebih dari itu, Anda perlu memodifikasi file konfigurasi sysstat '/etc/sysconfig/sysstat'.
$ sudo cat /etc/sysconfig/sysstatHISTORY=28
Ubah nilai HISTORY
dengan jumlah hari Anda ingin menyimpan log.
Menginstal paket sysstat di Ubuntu dan Debian
$ sudo apt install sysstat
Memverifikasi instalasi dengan perintah:
$ yang sar/usr/bin/sar
Di Ubuntu, kita perlu mengaktifkannya saat CentOS tidak diperlukan.
Menggunakan editor favorit Anda (vim, nano atau gedit) untuk mengedit file berikut:
$ sudo nano /etc/default/sysstat
Dan setel ENABLED
untuk benar
:
ENABLED="true"
Mulai ulang layanan
$ sudo service sysstat restart
Di Ubuntu, file konfigurasi adalah '/etc/sysstat/sysstat' dan data akan disimpan dalam 7 hari secara default.
$ cat /etc/sysstat/sysstatHISTORY=7
Dari Fedora 21, sysstat hadir secara default dan yang perlu Anda lakukan hanyalah menjalankan perintah di bawah ini:
$ sudo systemctl aktifkan sysstat.service$ sudo systemctl start sysstat.service
Ada tugas cron untuk sysstat yang berjalan setiap 10 menit untuk mengumpulkan data dan akan menyimpannya di file /var/log/sa/saDD yang sesuai. Jika Anda ingin mengubah interval run cron ini, Anda dapat memodifikasinya di '/etc/cron.d/sysstat'.
Untuk systemd, file unit timer memanggil sysstat-collect.service (/usr/lib/systemd/system/sysstat-collect.service) setiap 10 menit untuk mengumpulkan statistik.
$ cat /etc/cron.d/sysstat# Laporan aktivitas setiap 10 menit setiap hari5-55/10 * * * * perintah root -v debian-sa1> /dev/null &&debian-sa1 1 1# Jalankan tambahan pada 23:59 untuk memutar file statistik59 23 * * * perintah root -v debian-sa1> /dev/null &&debian-sa1 60 2
Penggunaan perintah Sar
Sintaks dasar untuk penggunaan perintah sar adalah sebagai berikut:
sar [opsi] [-o nama file] [-f nama file] [interval] [hitung]
Dimana:
interval :periode dalam detik.
hitungan: berapa kali untuk membuat statistik keluaran.
1. Temukan aktivitas CPU
Secara default (tanpa opsi lain yang diberikan) perintah sar akan melaporkan aktivitas CPU server. Juga, opsi -u
dapat digunakan untuk mendapatkan laporan penggunaan CPU.
Jika Anda ingin mendapatkan laporan aktivitas CPU setiap 2 detik selama 3 kali, Anda dapat menggunakan perintah sar berikut:
$ sar -u 2 3Linux 3.10.0-1127.10.1.el7.x86_64 (localhost.localdomain) 09/06/2020 _x86_64_ (2 CPU)22:26:54 CPU %user %bagus %system %iowait %steal %idle22:26:56 semua 4,03 0,00 0,50 0,00 0,00 95,4722:26:58 semua 8,08 0,00 0,51 0,00 0,00 91 ,4122:27:00 semua 12,50 0,00 1,00 0,00 0,00 86,50Rata-rata:semua 8,21 0,00 0,67 0,00 0,00 91,11
Dimana:
%pengguna menunjukkan persentase penggunaan CPU yang terjadi saat mengeksekusi di tingkat pengguna (ruang pengguna)
%sistem menunjukkan persentase penggunaan CPU yang terjadi saat mengeksekusi di tingkat sistem (ruang kernel)
%menganggur adalah persentase waktu CPU atau CPU dalam keadaan idle dan sistem tidak memiliki permintaan I/O disk yang luar biasa.
Jika Anda ingin mendapatkan output dalam file dalam bentuk biner, Anda perlu menambahkan -o
nama file dengan perintah sar. Misalnya:
$ sar -u 2 3 -o log-file
Anda juga bisa mendapatkan laporan aktivitas CPU pada hari tertentu, misalnya:09 Juni 2020. Anda dapat menemukannya sebagai:
$ sudo sar -u -f /var/log/sa/sa09
2. Temukan penggunaan CPU untuk setiap prosesor
-u
opsi menyediakan penggunaan CPU pada semua prosesor. Jika Anda ingin menemukan aktivitas CPU pada semua prosesor secara terpisah, Anda perlu menggunakan -P
pilihan.
$ sar -P ALL 1 1Linux 3.10.0-1127.10.1.el7.x86_64 (localhost.localdomain) 10/06/2020 _x86_64_ (2 CPU)05:38:18 CPU %user %nice % sistem %iowait %steal %idle05:38:19 semua 3,03 0,00 0,00 0,00 0,00 96,9705:38:19 0, 0 0 95.0505:38:19 1 3,00 0,00 0,00 0,00 0,00 97,00.00 Ruang:CPU %Pengguna %Bagus %Sistem %Iowait %mencuri %idleaverage:Semua 3.03 0,00 0, 00 0,00 0,00 96,97 RUMAH:0 3,96 0,00 0,99 0,00 0,00 95,05 Ruang:1 3,00 0,00 0,00 0,00 0,00 97,00
3. Temukan penggunaan Memori
Anda dapat menemukan penggunaan memori (memori bekas dan memori bebas server) dari waktu ke waktu menggunakan -r
beralih.
$ sar -r 1 3Linux 3.10.0-1127.10.1.el7.x86_64 (localhost.localdomain) 06/10/2020 _x86_64_ (2 CPU)05:41:04 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit KOMIM KBACTIVE KBINACT KBDIRTY05:41:05 855300 3025220 77.96 0 1495276 2426864 302222222222222222222228:06822222222222222 0 1495276 2426864 30,55 1265012 1158172 100Rata-rata: 855044 3025476 77,97 0 1495276 2426864 100,55 1265072 > 11581 > 11581
Dimana:
kbmemfree menunjukkan jumlah memori bebas yang tersedia dalam kilobyte.
kbmempakai menunjukkan jumlah memori yang digunakan dalam kilobyte. Ini tidak memperhitungkan memori yang digunakan oleh kernel itu sendiri.
Jika Anda ingin mengumpulkan penggunaan memori untuk hari tertentu, katakan:05 September, Anda perlu menjalankannya seperti perintah di bawah ini:
$ sar -r -f /var/log/sa/sa05
4. Temukan aktivitas Bertukar
Anda dapat memeriksa penggunaan swap mesin menggunakan -W
pilihan.
$ sar -W 1 3Linux 2.6.18-274.18.1.el5 (server saya) 09/06/201203:31:12 PM pswpin/s pswpout/s03:31:13 PM 16.16 0,0003:31:14 PM 16.00 0.0003:31:15 15.84 0.00Rata-rata:16.00 0.00
Dimana:
pswpin/s menunjukkan jumlah total halaman swap yang dibawa sistem per detik.
pswpout/s menunjukkan jumlah total halaman swap yang dibawa sistem per detik.
Jika Anda ingin mengumpulkan penggunaan swap untuk hari tertentu, katakanlah 05 September, Anda harus menjalankannya sebagai berikut perintah sar:
$ sar -W -f /var/log/sa/sa05
5. Temukan rata-rata beban dari waktu ke waktu
Anda dapat menemukan rata-rata beban lembur menggunakan -q
pilihan.
$ sar -q 1 3Linux 3.10.0-1127.10.1.el7.x86_64 (localhost.localdomain) 10/06/2020 _x86_64_ (2 CPU)06:16:13 runq-sz plist-sz ldavg -1 LDAVG-5 LDAVG-15 Bloked06:16:14 0 329 0,00 0,04 0,09 006:16:15 0 329 0,00 0,04 0,09 006:16:16 0 329 0,00 0,04 0,09 0Rata-rata: 0 329 0,00 0,04 0,09 0
Dimana:
runq-sz :Ini menunjukkan panjang antrian run (jumlah tugas yang menunggu waktu run).
plist-sz :Ini menunjukkan jumlah tugas dalam daftar tugas.
ldavg-1/5/15 :Rata-rata pemuatan sistem untuk menit terakhir/ 5 menit terakhir/ 15 menit terakhir.
Jika Anda ingin mengumpulkan rata-rata beban untuk hari tertentu, misalnya 05 September, Anda perlu menjalankannya dengan mengikuti perintah sar:
$ sar -q -f /var/log/sa/sa05
6. Laporan sistem file yang dipasang
Anda bisa mendapatkan statistik untuk sistem file saat ini menggunakan -F
pilihan
$ sar -F 2 3Linux 3.10.0-1127.10.1.el7.x86_64 (localhost.localdomain) 06/10/2020 _x86_64_ (2 CPU)06:30:18 MBfsfree MBfsused %fsused %ufsused Ifree s %Iused FILESYSTEM06:30:20 30410 5532 15,39 15,39 18245113 166407 0,90 /dev/mapper/centos-root06:30:20 21, 47 21 52 :30:20 mbfsfree mbfsused %fsused %ufsused ifree iused %iused FileSystem06:30:22 30410 5532 15,39 15,39 18245113 166407 0,90/dev/mapper/centos-root06:30:22 796 218 218 218 2182 2122 21 1 root06:30:24 796 218 21,52 21,52 523947 341 0,07 /dev/sda1Ringkasan: MBfsfree MBf sused% fsused% ufsused Ifree Sayabiasanya% Sayabiasanya FILESYSTEMSummary 30410 5532 15,39 15,39 18.245.113 166.407 0,90 / dev / mapper / CentOS-rootSummary 796 218 21,52 21,52 523947 341 0,07 / dev / sda1
Jika Anda ingin mengumpulkan sistem file yang dipasang untuk hari tertentu, katakanlah 10 Juni.
$ sar -F -f /var/log/sa/sa10
7. Laporkan detail inode, tabel kernel, dan tabel file
Anda bisa mendapatkan detail inode, proses, utas kernel, dan tabel file yang digunakan oleh sistem dengan menggunakan perintah sar dengan -v
pilihan.
$ sar -v 2 3Linux 3.10.0-1127.10.1.el7.x86_64 (localhost.localdomain) 06/10/2020 _x86_64_ (2 CPU)06:57:23 dentunusd file-nr inode-nr Pty-NR06:57:25 160833 2400 132081 306:57:27 160833 2400 132081 306:57:29 160833 2400 132081 3VERURE:160833 2400 132081 3
Dimana:
dentunusd :jumlah entri cache yang tidak digunakan dalam cache direktori
file-nr: jumlah pegangan file yang sedang digunakan
inode-nr: penangan inode
pty-nr :terminal semu
8. Periksa kemacetan CPU
Anda dapat menggunakan perintah sar untuk mengetahui nomor interupsi mana yang mungkin menyebabkan kemacetan CPU.
Pada contoh di bawah ini #9
adalah yang tertinggi tidak termasuk interupsi sistem #0
.
$ sar -I XALL 2 1002:07:10 AM INTR intr/s02:07:12 AM 0 992,5702:07:12 AM 1 0,0002:07:12 AM 2 0,0002:07:12 AM 3 0,0002 :07:12 AM 4 0,0002:07:12 AM 5 0,0002:07:12 AM 6 0,0002:07:12 AM 7 0,0002:07:12 AM 8 0,0002:07:12 AM 9 350,50
Detail dalam file '/ proc/interrupts' juga akan membantu Anda. Interrupt menghentikan pemrosesan sesaat sehingga I/O atau operasi lain dapat terjadi. Pemrosesan dilanjutkan setelah operasi tertentu berlangsung. Jadi sangat penting bahwa setiap perangkat yang terpasang di mesin harus dilengkapi dengan pengaturan interupsi yang tidak bertentangan dengan pengaturan yang digunakan oleh perangkat keras dan periferal lainnya.
$ sudo cat /proc /interupsi cpu0 cpu1 0:48 0 timer edge io-apic 1:54 0 io-apic-edge i8042 8:1 0 io-apic-edge rtc0 9:0 0 io -Apic-fasteoi ACPI 12:35 116 IO-APIC-EDGE I8042 14:0 0 IO-OPIC-EDGE ATA_PIIX 15:0 0 IO-OPIC-EDGE ATA_PIIX 16:118 2513 IO-APIC-FASTEOI VMWGFX 24:0 0 PCI -MSI-edge pcie pme, pciehp 25:0 0 pci-msi-edge pcie pme, pciehp 26:0 0 pci-msi-edge pcie pme, pciehp 27:0 0 pci-msi-edge pme, pciehpnmi:0 0 Interupsi non-maskableLOC: 35392807 14792833 Timer lokal interupsiSPU: 0 0 Interupsi palsuPMI: 0 0 Interupsi pemantauan kinerjaIWI: 267765224 pecah...
Kolom pertama mengacu pada nomor IRQ. Kolom berikutnya melaporkan jenis interupsi dan kolom terakhir berisi nama perangkat yang terletak di IRQ.
9. Laporkan statistik jaringan
Untuk mendapatkan laporan statistik jaringan, gunakan perintah sar dengan -n
pilihan. Misalnya:
$ sar -n DEVLinux 3.10.0-1127.10.1.el7.x86_64 (localhost.localdomain) 06/10/2020 _x86_64_ (2 CPU)19:20:23 IFACE rxpck/s txpck/s rxkB /s txkB/s rxcmp/s txcmp/s rxmcst/s19:20:24 ens192 11.00 4,00 1,80 2,75 0,00 0,00 0,0019:20:24 lo 79,00 79, 00 43,62 43,62 0,00 0,00 0,00Rata-rata:IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/sRata-rata:ens192 11.00 4,00 1,80 2,75 0,00 0,00 0,00Rata-rata:lo 79,00 79,00 43,62 43,62 0,00 0,00 0,00
Dimana:
DEV :statistik dari perangkat jaringan dilaporkan
IFACE :nama antarmuka (Dalam contoh di atas:ens192)
rxpck/s / txpck/s :jumlah total paket yang diterima / dikirim per detik
Ada beberapa opsi selain DEV, seperti:
NFS :tampilkan aktivitas klien NFS
SOCK :menunjukkan soket yang digunakan
TCP :menunjukkan lalu lintas jaringan TCP v4
UDP :menunjukkan lalu lintas jaringan UDP v4
Jika Anda ingin mengumpulkan statistik jaringan untuk hari tertentu, misalnya 09 Juni, Anda harus menjalankannya sebagai berikut:
$ sar -n DEV -f /var/log/sa/sa09
Grafik Sar
Bagian di atas menjelaskan cara menggunakan sar dari terminal. kSar adalah aplikasi GUI berbasis java yang memvisualisasikan data sar Anda.
Memasang ksar:
$ sudo apt install openjdk-11-jdk
$ sudo yum install epel-release$ sudo yum install java-openjdk
Unduh ksar dan buka paketnya:
$ wget https://sourceforge.net/projects/ksar/files/latest/download$ mv unduh kSar.zip$ unzip kSar.zip
Sekarang cd ke dir
$ cd kSar-*
Sekarang buat file run.sh dapat dieksekusi dan jalankan sebagai root.
$ chmod +x run.sh$ sudo su./run.sh
Sekarang kita dapat menguji dengan menjalankan perintah lokal. Kami pergi ke Data> Jalankan Perintah Lokal
dan di sana kita dapat menggunakan perintah default.
Selanjutnya, kita dapat melihat grafik dengan mengklik panel kiri dan melihat di sebelah kanan grafik yang ditampilkan:
Dimungkinkan juga untuk memuat grafik dari file. Pertama, kita perlu menjalankan sar:
LC_ALL=C sar -A> /tmp/sar.data.txt
Dan kemudian di menu, kami memilih Data> Load
dari file teks dan temukan file di /tmp
atau di mana pun kami menyimpannya.
Kesimpulan
Dalam tutorial ini, kita mempelajari bagaimana perintah sar dapat digunakan untuk membantu Anda memperhatikan penggunaan sumber daya sistem dan meningkatkan kinerja saat bekerja dengan sistem operasi Anda.
Dari contoh sar, jelas bahwa ini adalah alat yang hebat untuk mengumpulkan, melaporkan, atau menyimpan informasi aktivitas sistem.
Terima kasih telah membaca dan silakan tinggalkan saran Anda di bagian komentar di bawah.
Bacaan Terkait:10 Perintah iostat Linux untuk Melaporkan Statistik CPU dan I/O