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 sepertisar -u
perintah, tetapi menampilkan bidang tambahan.sar -u ALL 1 3
:Sama sepertisar -u 1 3
perintah, tetapi menampilkan bidang tambahan.sar -u -f /var/log/sa/sa10
:Menampilkan penggunaan CPU untuk hari kesepuluh setiap bulan darisa10
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 darisa10
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 detikwtps
:Tulis transaksi per detikbread/s
:Byte dibaca per detikbwrtn/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 jaringanEDEV
:Menampilkan statistik kegagalan untuk perangkat jaringanNFS
:Menampilkan aktivitas klien Sistem File Jaringan (NFS)NFSD
:Menampilkan aktivitas server NFSSOCK
:Menampilkan soket yang digunakan untuk IPv4IP
:Menampilkan lalu lintas jaringan IPv4EIP
:Menampilkan kesalahan jaringan IPv4ICMP
:Menampilkan lalu lintas jaringan ICMPv4EICMP
:Menampilkan kesalahan jaringan ICMPv4TCP
:Menampilkan lalu lintas jaringan TCPv4ETCP
:Menampilkan kesalahan jaringan TCPv4UDP
:Menampilkan lalu lintas jaringan UDPv4SOCK6
,IP6
,EIP6
,ICMP6
, danUDP6
:Menampilkan informasi jaringan IPv6ALL
: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