GNU/Linux >> Belajar Linux >  >> Linux

25 Alat Pemantauan dan Debugging Kinerja Linux Terbaik

Saya telah mengumpulkan 25 alat pemantauan kinerja dan debugging yang akan membantu ketika Anda bekerja di lingkungan Linux. Daftar ini tidak lengkap atau otoritatif dengan cara apa pun.

Namun daftar ini memiliki alat yang cukup bagi Anda untuk bermain-main dan memilih salah satu yang sesuai dengan skenario debug dan pemantauan spesifik Anda.

1. SAR

Dengan menggunakan utilitas sar, Anda dapat melakukan dua hal:1) Memantau kinerja sistem waktu nyata (CPU, Memori, I/O, dll) 2) Mengumpulkan data kinerja di latar belakang secara terus-menerus dan melakukan analisis pada data historis untuk mengidentifikasi kemacetan.

Sar adalah bagian dari paket sysstat. Berikut ini adalah beberapa hal yang dapat Anda lakukan menggunakan utilitas sar.

  • Penggunaan CPU kolektif
  • Statistik CPU individu
  • Memori yang digunakan dan tersedia
  • Tukar ruang yang digunakan dan tersedia
  • Keseluruhan aktivitas I/O sistem
  • Aktivitas I/O perangkat individu
  • Statistik peralihan konteks
  • Jalankan antrian dan muat data rata-rata
  • Statistik jaringan
  • Laporkan data sar dari waktu tertentu
  • dan banyak lagi..

Perintah sar berikut akan menampilkan statistik CPU sistem 3 kali (dengan interval 1 detik).

Perintah "sar -b" berikut melaporkan statistik I/O. “1 3” menunjukkan bahwa sar -b akan dieksekusi setiap 1 detik sebanyak 3 kali.

$ sar -b 1 3
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

Contoh SAR lainnya:Cara Memasang/Mengonfigurasi Sar (sysstat) dan 10 Contoh Perintah Sar yang Berguna

2. Tcpdump

tcpdump adalah penganalisis paket jaringan. Dengan menggunakan tcpdump, Anda dapat menangkap paket dan menganalisisnya untuk mengetahui hambatan kinerja apa pun.

Contoh perintah tcpdump berikut menampilkan paket yang diambil dalam ASCII.

$ tcpdump -A -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
14:34:50.913995 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 1457239478:1457239594(116) ack 1561461262 win 63652
E.....@.@..]..i...9...*.V...]...P....h....E...>{..U=...g.
......G..7\+KA....A...L.
14:34:51.423640 IP valh4.lell.net.ssh > yy.domain.innetbcp.net.11006: P 116:232(116) ack 1 win 63652
E.....@.@..\..i...9...*.V..*]...P....h....7......X..!....Im.S.g.u:*..O&....^#Ba...
E..(R.@.|.....9...i.*...]...V..*P..OWp........

Menggunakan tcpdump Anda dapat menangkap paket berdasarkan beberapa kondisi khusus. Misalnya, tangkap paket yang mengalir melalui port tertentu, tangkap komunikasi tcp antara dua host tertentu, tangkap paket yang dimiliki oleh tipe protokol tertentu, dll.

Contoh tcpdump lainnya:15 Contoh Perintah TCPDUMP

3. Naga

Nagios adalah solusi pemantauan sumber terbuka yang dapat memantau hampir semua hal di infrastruktur TI Anda. Misalnya, ketika server mati, ia dapat mengirim pemberitahuan ke tim sysadmin Anda, ketika database mati, ia dapat membuka halaman tim DBA Anda, ketika server web mati, ia dapat memberi tahu tim yang sesuai.

Anda juga dapat mengatur tingkat peringatan dan ambang batas kritis untuk berbagai layanan untuk membantu Anda mengatasi masalah secara proaktif. Misalnya, ini dapat memberi tahu tim sysadmin ketika partisi disk menjadi 80% penuh, yang akan memberikan cukup waktu bagi tim sysadmin untuk bekerja menambahkan lebih banyak ruang sebelum masalah menjadi kritis.

Nagios juga memiliki antarmuka pengguna yang sangat baik dari mana Anda dapat memantau kesehatan infrastruktur TI Anda secara keseluruhan.

Berikut ini adalah beberapa hal yang dapat Anda pantau menggunakan Nagios:

  • Perangkat keras apa pun (server, sakelar, router, dll)
  • Server Linux dan server Windows
  • Database (Oracle, MySQL, PostgreSQL, dll)
  • Berbagai layanan yang berjalan di OS Anda (sendmail, nis, nfs, ldap, dll)
  • Server web
  • Aplikasi khusus Anda
  • dst.

Contoh Nagios lainnya:Cara menginstal dan mengkonfigurasi Nagios, memantau mesin Windows jarak jauh, dan memantau server Linux jarak jauh.

4. Status

iostat melaporkan statistik CPU, I/O disk, dan NFS. Berikut ini adalah beberapa contoh perintah iostat.

Iostat tanpa argumen menampilkan informasi tentang penggunaan CPU, dan statistik I/O tentang semua partisi pada sistem seperti yang ditunjukkan di bawah ini.

$ iostat
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.72      1096.66      1598.70 2719068704 3963827344
sda1            178.20       773.45      1329.09 1917686794 3295354888
sda2             16.51       323.19       269.61  801326686  668472456
sdb             371.31       945.97      1073.33 2345452365 2661206408
sdb1            371.31       945.95      1073.33 2345396901 2661206408
sdc             408.03       207.05       972.42  513364213 2411023092
sdc1            408.03       207.03       972.42  513308749 2411023092

Secara default iostat menampilkan data I/O untuk semua disk yang tersedia di sistem. Untuk melihat statistik perangkat tertentu (Misalnya, /dev/sda), gunakan opsi -p seperti yang ditunjukkan di bawah ini.

$ iostat -p sda
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.68    0.00    0.52    2.03    0.00   91.76

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             194.69      1096.51      1598.48 2719069928 3963829584
sda2            336.38        27.17        54.00   67365064  133905080
sda1            821.89         0.69       243.53    1720833  603892838

5. Mpstat

mpstat melaporkan statistik prosesor. Berikut ini adalah beberapa contoh perintah mpstat.

Opsi -A, menampilkan semua informasi yang dapat ditampilkan oleh perintah mpstat seperti gambar di bawah ini. Ini benar-benar setara dengan perintah "mpstat -I ALL -u -P ALL".

$ mpstat -A
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011      _x86_64_        (4 CPU)

10:26:34 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:26:34 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.99
10:26:34 PM    0    0.01    0.00    0.01    0.01    0.00    0.00    0.00    0.00   99.98
10:26:34 PM    1    0.00    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
10:26:34 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:26:34 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

10:26:34 PM  CPU    intr/s
10:26:34 PM  all     36.51
10:26:34 PM    0      0.00
10:26:34 PM    1      0.00
10:26:34 PM    2      0.04
10:26:34 PM    3      0.00

10:26:34 PM  CPU     0/s     1/s     8/s     9/s    12/s    14/s    15/s    16/s    19/s    20/s    21/s    33/s   NMI/s   LOC/s   SPU/s   PMI/s   PND/s   RES/s   CAL/s   TLB/s   TRM/s   THR/s   MCE/s   MCP/s   ERR/s   MIS/s
10:26:34 PM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    7.47    0.00    0.00    0.00    0.00    0.02    0.00    0.00    0.00    0.00    0.00    0.00    0.00
10:26:34 PM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    4.90    0.00    0.00    0.00    0.00    0.03    0.00    0.00    0.00    0.00    0.00    0.00    0.00
10:26:34 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.04    0.00    0.00    0.00    0.00    0.00    3.32    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00
10:26:34 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.

mpstat Option -P ALL, menampilkan semua CPU (atau Core) individual beserta statistiknya seperti yang ditunjukkan di bawah ini.

$ mpstat -P ALL
Linux 2.6.32-100.28.5.el6.x86_64 (dev-db)       07/09/2011      _x86_64_        (4 CPU)

10:28:04 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
10:28:04 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.99
10:28:04 PM    0    0.01    0.00    0.01    0.01    0.00    0.00    0.00    0.00   99.98
10:28:04 PM    1    0.00    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
10:28:04 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
10:28:04 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

6. Vmstat

vmstat melaporkan statistik memori virtual. Berikut ini adalah beberapa contoh perintah vmstat.

vmstat secara default akan menampilkan penggunaan memori (termasuk swap) seperti yang ditunjukkan di bawah ini.

$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0 305416 260688  29160 2356920    2    2     4     1    0    0  6  1 92  2  0

To execute vmstat every 2 seconds for 10 times, do the following. After executing 10 times, it will stop automatically.
$ vmstat 2 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 537144 182736 6789320    0    0     0     0    1    1  0  0 100  0  0
 0  0      0 537004 182736 6789320    0    0     0     0   50   32  0  0 100  0  0
..

iostat dan vmstat adalah bagian dari utilitas sar. Anda harus menginstal paket sysstat agar iostat dan vmstat berfungsi.

Contoh lainnya:24 perintah iostat, vmstat dan mpstat Contoh

7. Perintah PS

Proses adalah contoh program yang sedang berjalan. Linux adalah sistem operasi multitasking, yang berarti bahwa lebih dari satu proses dapat aktif sekaligus. Gunakan perintah ps untuk mengetahui proses apa yang sedang berjalan di sistem Anda.

Perintah ps juga memberi Anda banyak informasi tambahan tentang proses yang sedang berjalan yang akan membantu Anda mengidentifikasi hambatan kinerja pada sistem Anda.

Berikut ini adalah beberapa contoh perintah ps.

Gunakan opsi -u untuk menampilkan proses yang dimiliki oleh nama pengguna tertentu. Jika Anda memiliki beberapa nama pengguna, pisahkan menggunakan koma. Contoh di bawah ini menampilkan semua proses yang dimiliki oleh pengguna wwwrun, atau postfix.

$ ps -f -u wwwrun,postfix
UID        PID  PPID  C STIME TTY          TIME CMD
postfix   7457  7435  0 Mar09 ?        00:00:00 qmgr -l -t fifo -u
wwwrun    7495  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7496  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7497  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7498  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    7499  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   10078  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   10082  7491  0 Mar09 ?        00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
postfix  15677  7435  0 22:23 ?        00:00:00 pickup -l -t fifo -u

Contoh di bawah ini menampilkan Id proses dan perintah dalam hierarki. –forest adalah argumen untuk perintah ps yang menampilkan seni ASCII dari pohon proses. Dari pohon ini, kita dapat mengidentifikasi mana proses induk dan proses turunannya yang bercabang secara rekursif.

$ ps -e -o pid,args --forest
  468  \_ sshd: root@pts/7
  514  |   \_ -bash
17484  \_ sshd: root@pts/11
17513  |   \_ -bash
24004  |       \_ vi ./790310__11117/journal
15513  \_ sshd: root@pts/1
15522  |   \_ -bash
 4280  \_ sshd: root@pts/5
 4302  |   \_ -bash

Contoh ps lainnya:7 Contoh Perintah PS Praktis untuk Pemantauan Proses

8. Gratis

Perintah gratis menampilkan informasi tentang fisik (RAM) dan memori swap sistem Anda.

Pada contoh di bawah ini, total memori fisik pada sistem ini adalah 1GB. Nilai yang ditampilkan di bawah ini dalam KB.

# free
       total   used    free   shared  buffers  cached
Mem: 1034624   1006696 27928  0       174136   615892
-/+ buffers/cache:     216668      817956
Swap:    2031608       0    2031608

Contoh berikut akan menampilkan total memori pada sistem Anda termasuk RAM dan Swap.

Pada perintah berikut:

  • opsi m menampilkan nilai dalam MB
  • opsi t menampilkan baris “Total”, yang merupakan jumlah dari nilai fisik dan memori swap
  • opsi o adalah menyembunyikan baris buffer/cache dari contoh di atas.
# free -mto
                  total       used      free     shared    buffers     cached
Mem:          1010        983         27              0         170           601
Swap:          1983            0    1983
Total:          2994        983     2011

9. ATAS

Perintah atas menampilkan semua proses yang berjalan dalam sistem yang diurutkan berdasarkan kolom tertentu. Ini menampilkan informasi secara real-time.

Anda dapat mematikan proses tanpa keluar dari atas. Setelah Anda menemukan proses yang perlu dimatikan, tekan "k" yang akan meminta id proses, dan sinyal untuk dikirim. Jika Anda memiliki hak istimewa untuk membunuh PID tersebut, PID tersebut akan berhasil dibunuh.

PID to kill: 1309
Kill PID 1309 with signal [15]:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent
 5136 root    16   0 38040  14m 9836 S    0  0.2   0:00.39 nautilus

Gunakan top -u untuk menampilkan proses pengguna tertentu hanya di output perintah teratas.

$ top -u geek

Saat perintah unix top sedang berjalan, tekan u yang akan menanyakan nama pengguna seperti yang ditunjukkan di bawah ini.

Which user (blank for all): geek
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1309 geek   23   0 2483m 1.7g  27m S    0 21.8  45:31.32 gagent
 1882 geek   25   0 2485m 1.7g  26m S    0 21.7  22:38.97 gagent

Contoh teratas lainnya:15 Contoh Perintah Teratas Linux Praktis

10. Pmap

perintah pmap menampilkan peta memori dari proses yang diberikan. Anda harus meneruskan pid sebagai argumen ke perintah pmap.

Contoh berikut menampilkan peta memori shell bash saat ini. Dalam contoh ini, 5732 adalah PID dari bash shell.

$ pmap 5732
5732:   -bash
00393000    104K r-x--  /lib/ld-2.5.so
003b1000   1272K r-x--  /lib/libc-2.5.so
00520000      8K r-x--  /lib/libdl-2.5.so
0053f000     12K r-x--  /lib/libtermcap.so.2.0.8
0084d000     76K r-x--  /lib/libnsl-2.5.so
00c57000     32K r-x--  /lib/libnss_nis-2.5.so
00c8d000     36K r-x--  /lib/libnss_files-2.5.so
b7d6c000   2048K r----  /usr/lib/locale/locale-archive
bfd10000     84K rw---    [ stack ]
 total     4796K

pmap -x memberikan beberapa informasi tambahan tentang peta memori.

$  pmap -x 5732
5732:   -bash
Address   Kbytes     RSS    Anon  Locked Mode   Mapping
00393000     104       -       -       - r-x--  ld-2.5.so
003b1000    1272       -       -       - r-x--  libc-2.5.so
00520000       8       -       -       - r-x--  libdl-2.5.so
0053f000      12       -       -       - r-x--  libtermcap.so.2.0.8
0084d000      76       -       -       - r-x--  libnsl-2.5.so
00c57000      32       -       -       - r-x--  libnss_nis-2.5.so
00c8d000      36       -       -       - r-x--  libnss_files-2.5.so
b7d6c000    2048       -       -       - r----  locale-archive
bfd10000      84       -       -       - rw---    [ stack ]
-------- ------- ------- ------- -------
total kB    4796       -       -       -

Untuk menampilkan informasi perangkat dari peta proses, gunakan 'pamp -d pid'.

11. Netstat

Perintah Netstat menampilkan berbagai informasi terkait jaringan seperti koneksi jaringan, tabel perutean, statistik antarmuka, koneksi penyamaran, keanggotaan multicast, dll.,

Berikut ini adalah beberapa contoh perintah netstat.

Daftar semua port (baik mendengarkan dan tidak mendengarkan) menggunakan netstat -a seperti yang ditunjukkan di bawah ini.

# netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:30037         *:*                     LISTEN
udp        0      0 *:bootpc                *:*                                

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     6135     /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     5140     /var/run/acpid.socket

Gunakan perintah netstat berikut untuk mencari tahu di port mana program sedang berjalan.

# netstat -ap | grep ssh
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        1      0 dev-db:ssh           101.174.100.22:39213        CLOSE_WAIT  -
tcp        1      0 dev-db:ssh           101.174.100.22:57643        CLOSE_WAIT  -

Gunakan perintah netstat berikut untuk mengetahui proses mana yang menggunakan port tertentu.

# netstat -an | grep ':80'

Contoh netstat lainnya:10 Contoh Perintah Netstat

12. IPTraf

IPTraf adalah Perangkat Lunak Pemantauan Jaringan IP. Berikut ini adalah beberapa fitur utama dari IPTraf:

  • Ini adalah utilitas berbasis konsol (berbasis teks).
  • Ini menampilkan lalu lintas IP yang melintasi jaringan Anda. Ini menampilkan flag TCP, jumlah paket dan byte, ICMP, jenis paket OSPF, dll.
  • Menampilkan statistik antarmuka yang diperluas (termasuk IP, TCP, UDP, ICMP, ukuran dan jumlah paket, kesalahan checksum, dll.)
  • Modul LAN menemukan host secara otomatis dan menampilkan aktivitasnya
  • Filter tampilan protokol untuk melihat lalu lintas protokol selektif
  • Fitur Pencatatan Lanjutan
  • Selain antarmuka ethernet, ia juga mendukung FDDI, ISDN, SLIP, PPP, dan loopback
  • Anda juga dapat menjalankan utilitas dalam mode layar penuh. Ini juga memiliki menu berbasis teks.

Info lebih lanjut: Halaman Beranda IPTraf. Tangkapan layar IPTraf.

13. Jejak

Strace digunakan untuk debugging dan troubleshooting eksekusi dari sebuah executable di lingkungan Linux. Ini menampilkan panggilan sistem yang digunakan oleh proses, dan sinyal yang diterima oleh proses.

Strace memonitor panggilan sistem dan sinyal dari program tertentu. Akan sangat membantu bila Anda tidak memiliki kode sumber dan ingin men-debug eksekusi suatu program. strace memberi Anda urutan eksekusi biner dari awal hingga akhir.

Lacak Panggilan Sistem Tertentu dalam Opsi Penggunaan yang Dapat Dieksekusi -e

Secara default, strace menampilkan semua panggilan sistem untuk executable yang diberikan. Contoh berikut menunjukkan output dari strace untuk perintah ls Linux.

$ strace ls
execve("/bin/ls", ["ls"], [/* 21 vars */]) = 0
brk(0)                                  = 0x8c31000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb78c7000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=65354, ...}) = 0

Untuk hanya menampilkan panggilan sistem tertentu, gunakan opsi strace -e seperti yang ditunjukkan di bawah ini.

$ strace -e open ls
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/libselinux.so.1", O_RDONLY)  = 3
open("/lib/librt.so.1", O_RDONLY)       = 3
open("/lib/libacl.so.1", O_RDONLY)      = 3
open("/lib/libc.so.6", O_RDONLY)        = 3
open("/lib/libdl.so.2", O_RDONLY)       = 3
open("/lib/libpthread.so.0", O_RDONLY)  = 3
open("/lib/libattr.so.1", O_RDONLY)     = 3
open("/proc/filesystems", O_RDONLY|O_LARGEFILE) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3

Contoh strace lainnya:7 Contoh Strace untuk Debug Eksekusi Program di Linux

14. Lsof

Lsof adalah singkatan dari ls open files, yang akan mencantumkan semua file yang terbuka di sistem. File yang terbuka termasuk koneksi jaringan, perangkat, dan direktori. Output dari perintah lsof akan memiliki kolom berikut:

  • Nama proses COMMAND.
  • ID proses PID
  • Nama Pengguna PENGGUNA
  • Deskriptor file FD
  • JENIS jenis simpul file
  • Nomor perangkat PERANGKAT
  • UKURAN ukuran file
  • Nomor simpul NODE
  • NAME jalur lengkap nama file.

Untuk melihat semua file sistem yang terbuka, jalankan perintah lsof tanpa parameter apa pun seperti yang ditunjukkan di bawah ini.

# lsof | more
COMMAND     PID       USER   FD      TYPE     DEVICE      SIZE       NODE NAME
init          1       root  cwd       DIR        8,1      4096          2 /
init          1       root  rtd       DIR        8,1      4096          2 /
init          1       root  txt       REG        8,1     32684     983101 /sbin/init
init          1       root  mem       REG        8,1    106397     166798 /lib/ld-2.3.4.so
init          1       root  mem       REG        8,1   1454802     166799 /lib/tls/libc-2.3.4.so
init          1       root  mem       REG        8,1     53736     163964 /lib/libsepol.so.1
init          1       root  mem       REG        8,1     56328     166811 /lib/libselinux.so.1
init          1       root   10u     FIFO       0,13                  972 /dev/initctl
migration     2       root  cwd       DIR        8,1      4096          2 /
skipped..

Untuk melihat file yang dibuka oleh pengguna tertentu, gunakan opsi lsof -u untuk menampilkan semua file yang dibuka oleh pengguna tertentu.

# lsof -u ramesh
vi      7190 ramesh  txt    REG        8,1   474608   475196 /bin/vi
sshd    7163 ramesh    3u  IPv6   15088263               TCP dev-db:ssh->abc-12-12-12-12.

Untuk membuat daftar pengguna file tertentu, gunakan lsof seperti yang ditunjukkan di bawah ini. Dalam contoh ini, ini menampilkan semua pengguna yang sedang menggunakan vi.

# lsof /bin/vi
COMMAND  PID  USER    FD   TYPE DEVICE   SIZE   NODE NAME
vi      7258  root   txt    REG    8,1 474608 475196 /bin/vi
vi      7300  ramesh txt    REG    8,1 474608 475196 /bin/vi

15. Tidak

Ntop sama seperti top, tetapi untuk lalu lintas jaringan. ntop adalah monitor lalu lintas jaringan yang menampilkan penggunaan jaringan.

Anda juga dapat mengakses ntop dari browser untuk mendapatkan informasi lalu lintas dan status jaringan.

Berikut ini adalah beberapa fitur utama ntop:

  • Tampilkan lalu lintas jaringan yang dikelompokkan berdasarkan protokol
  • Urutkan keluaran lalu lintas jaringan berdasarkan beberapa kriteria
  • Menampilkan statistik lalu lintas jaringan
  • Kemampuan untuk menyimpan statistik lalu lintas jaringan menggunakan RRD
  • Identifikasi identitas pengguna, dan host os
  • Kemampuan untuk menganalisis dan menampilkan lalu lintas TI
  • Kemampuan untuk bekerja sebagai kolektor NetFlow/sFlow untuk router dan switch
  • Menampilkan statistik lalu lintas jaringan yang mirip dengan RMON
  • Berfungsi di Linux, MacOS, dan Windows

Info lebih lanjut:Halaman beranda Ntop

16. GkrellM

GKrellM adalah singkatan dari GNU Krell Monitors, atau GTK Krell Meter. Ini adalah program pemantauan berbasis toolkit GTK+, yang memantau berbagai sumber daya sistem. UI stabil. yaitu Anda dapat menambahkan sebanyak mungkin objek pemantauan yang Anda inginkan satu di atas yang lain. Sama seperti alat pemantauan berbasis UI desktop lainnya, alat ini dapat memantau CPU, memori, sistem file, penggunaan jaringan, dll. Namun menggunakan plugin, Anda dapat memantau aplikasi eksternal.

Info lebih lanjut:Halaman beranda GkrellM

17. w dan waktu aktif

Saat memantau kinerja sistem, perintah w akan membantu mengetahui siapa yang masuk ke sistem.

$ w
09:35:06 up 21 days, 23:28,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM          LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     :0            24Oct11  21days 1:05   1:05 /usr/bin/Xorg :0 -nr -verbose
ramesh   pts/0    192.168.1.10  Mon14    0.00s  15.55s 0.26s sshd: localuser [priv]
john     pts/0    192.168.1.11  Mon07    0.00s  19.05s 0.20s sshd: localuser [priv]
jason    pts/0    192.168.1.12  Mon07    0.00s  21.15s 0.16s sshd: localuser [priv]

Untuk setiap pengguna yang masuk, ini akan menampilkan info berikut:

  • Nama pengguna
  • info tty
  • Alamat ip host jarak jauh
  • Waktu login pengguna
  • Berapa lama pengguna menganggur
  • JCPU dan PCUP
  • Perintah dari proses yang sedang dijalankan pengguna

Baris 1 dari output perintah w mirip dengan output perintah uptime. Ini menampilkan yang berikut:

  • Waktu saat ini
  • Berapa lama sistem telah aktif dan berjalan
  • Jumlah total pengguna yang saat ini masuk ke sistem
  • Muat rata-rata untuk 1, 5, dan 15 menit terakhir

Jika Anda hanya menginginkan informasi waktu aktif, gunakan perintah waktu aktif.

$ uptime
 09:35:02 up 106 days, 28 min,  2 users,  load average: 0.08, 0.11, 0.05

Harap dicatat bahwa perintah w dan uptime mendapatkan informasi dari file data /var/run/utmp.

18. /proc

/proc adalah sistem file virtual. Misalnya, jika Anda melakukan ls -l /proc/stat, Anda akan melihat bahwa ia memiliki ukuran 0 byte, tetapi jika Anda melakukan "cat /proc/stat", Anda akan melihat beberapa konten di dalam file.

Lakukan ls -l /proc, dan Anda akan melihat banyak direktori hanya dengan angka. Angka-angka ini mewakili id ​​proses, file di dalam direktori bernomor ini sesuai dengan proses dengan PID tertentu.

Berikut ini adalah file-file penting yang terletak di bawah setiap direktori bernomor (untuk setiap proses):

  • cmdline – baris perintah dari perintah.
  • lingkungan – variabel lingkungan.
  • fd – Berisi deskriptor file yang ditautkan ke file yang sesuai.
  • batas – Berisi informasi tentang batas khusus untuk proses.
  • mount – memasang informasi terkait

Berikut ini adalah tautan penting di bawah setiap direktori bernomor (untuk setiap proses):

  • cwd – Tautan ke direktori kerja proses saat ini.
  • exe – Tautan ke proses yang dapat dieksekusi.
  • root – Menautkan ke direktori root dari proses.

Contoh /proc lainnya:Jelajahi Sistem File /proc Linux

19. Penjaga Sistem KDE

Ini juga disebut sebagai KSysGuard. Pada desktop Linux yang menjalankan KDE, Anda dapat menggunakan alat ini untuk memantau sumber daya sistem. Selain memantau sistem lokal, ini juga dapat memantau sistem jarak jauh.

Jika Anda menjalankan desktop KDE, buka Applications -> System -> System Monitor, yang akan meluncurkan KSysGuard. Anda juga dapat mengetik ksysguard dari baris perintah untuk meluncurkannya.

Alat ini menampilkan dua tab berikut:

  • Tabel Proses – Menampilkan semua proses yang aktif. Anda dapat mengurutkan, mematikan, atau mengubah prioritas proses dari sini
  • Pemuatan Sistem – Menampilkan grafik untuk penggunaan CPU, Memori, dan Jaringan. Grafik ini dapat disesuaikan dengan mengklik kanan pada salah satu grafik ini.

Untuk menghubungkan ke host jarak jauh dan memantaunya, klik menu File -> Monitor Remote Machine -> tentukan alamat ip host, metode koneksi (misalnya, ssh). Ini akan menanyakan nama pengguna/kata sandi Anda pada mesin jarak jauh. Setelah terhubung, ini akan menampilkan penggunaan sistem dari mesin jarak jauh di tab Tabel Proses dan Beban Sistem.

20. Monitor Sistem GNOME

Pada desktop Linux yang menjalankan GNOME, Anda dapat menggunakan alat ini untuk memantau proses, sumber daya sistem, dan sistem file dari antarmuka grafis. Selain memantau, Anda juga dapat menggunakan alat UI ini untuk mematikan proses, mengubah prioritas proses.

Jika Anda menjalankan desktop GNOME, buka Sistem -> Administrasi -> Monitor Sistem, yang akan meluncurkan Monitor Sistem GNOME. Anda juga dapat mengetik gnome-system-monitor dari baris perintah untuk meluncurkannya.

Alat ini memiliki empat tab berikut:

  • Sistem – Menampilkan informasi sistem termasuk versi distribusi Linux, sumber daya sistem, dan informasi perangkat keras.
  • Proses – Menampilkan semua proses aktif yang dapat diurutkan berdasarkan berbagai bidang
  • Sumber Daya – Menampilkan penggunaan CPU, memori, dan jaringan
  • Sistem File – Menampilkan informasi tentang sistem file yang saat ini dipasang

Info lebih lanjut:Halaman beranda Monitor Sistem GNOME

21. Conky

Conky adalah monitor sistem atau X. Conky menampilkan informasi di UI menggunakan apa yang disebut objek. Secara default ada lebih dari 250 objek yang dibundel dengan conky, yang menampilkan berbagai informasi pemantauan (CPU, memori, jaringan, disk, dll.). Mendukung IMAP, POP3, beberapa pemutar audio.

Anda dapat memantau dan menampilkan aplikasi eksternal apa pun dengan membuat objek Anda sendiri menggunakan skrip. Informasi pemantauan dapat ditampilkan dalam berbagai format:Teks, grafik, bilah kemajuan, dll. Utilitas ini sangat dapat dikonfigurasi.

Info lebih lanjut:Tangkapan layar Conky

22. Kaktus

Cacti adalah antarmuka UI berbasis PHP untuk RRDTool. Cacti menyimpan data yang diperlukan untuk menghasilkan grafik dalam database MySQL.

Berikut ini adalah beberapa fitur Cacti tingkat tinggi:

  • Kemampuan untuk melakukan pengumpulan data dan menyimpannya di database MySQL (atau arsip round robin)
  • Beberapa fitur grafik lanjutan tersedia (pengelompokan item grafik GPRINT, pengisian otomatis untuk grafik, manipulasi data grafik menggunakan fungsi matematika CDEF, semua item grafik RRDTool didukung)
  • Sumber data dapat mengumpulkan data lokal atau jarak jauh untuk grafik
  • Kemampuan untuk menyesuaikan sepenuhnya pengaturan Arsip Round robin (RRA)
  • Pengguna dapat menentukan skrip khusus untuk mengumpulkan data
  • Dukungan SNMP (php-snmp, ucd-snmp, atau net-snmp) untuk pengumpulan data
  • Built-in poller membantu menjalankan skrip khusus, mendapatkan data SNMP, memperbarui file RRD, dll.
  • Fitur template grafik yang sangat fleksibel
  • Opsi tampilan grafik yang mudah digunakan dan dapat disesuaikan
  • Buat pengguna yang berbeda dengan berbagai set izin untuk mengakses frontend kaktus
  • Tingkat izin terperinci dapat disetel untuk pengguna individu
  • dan banyak lagi..

Info lebih lanjut:halaman rumah Kaktus

23. Vnstat

vnstat adalah utilitas baris perintah yang menampilkan dan mencatat lalu lintas jaringan dari antarmuka pada sistem Anda. Ini tergantung pada statistik jaringan yang disediakan oleh kernel. Jadi, vnstat tidak menambahkan beban tambahan apa pun ke sistem Anda untuk memantau dan mencatat lalu lintas jaringan.

vnstat tanpa argumen apa pun akan memberi Anda ringkasan singkat dengan info berikut:

  • Terakhir kali basis data vnStat yang terletak di bawah /var/lib/vnstat/ diperbarui
  • Sejak mulai mengumpulkan statistik untuk antarmuka tertentu
  • Data statistik jaringan (byte yang ditransmisikan, byte yang diterima) selama dua bulan terakhir, dan dua hari terakhir.
# vnstat
Database updated: Sat Oct 15 11:54:00 2011

   eth0 since 10/01/11

          rx:  12.89 MiB      tx:  6.94 MiB      total:  19.82 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
       Oct '11     12.89 MiB |    6.94 MiB |   19.82 MiB |    0.15 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        29 MiB |      14 MiB |      43 MiB |

	 daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
         today      2.03 MiB |    1.07 MiB |    3.10 MiB |    0.59 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         4 MiB |       2 MiB |       6 MiB |

Gunakan “vnstat -t” atau “vnstat –top10” untuk menampilkan 10 hari lalu lintas teratas sepanjang waktu.

$ vnstat --top10

 eth0  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   10/12/11       4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
    2   10/11/11       4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
    3   10/10/11       2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
    ....
   -----------------------------+-------------+-------------+---------------

Contoh vnstat lainnya:Cara Memantau dan Mencatat Lalu Lintas Jaringan menggunakan VNStat

24. Htop

htop adalah penampil proses berbasis ncurses. Ini mirip dengan top, tetapi lebih fleksibel dan ramah pengguna. Anda dapat berinteraksi dengan htop menggunakan mouse. Anda dapat menggulir secara vertikal untuk melihat daftar proses lengkap, dan menggulir secara horizontal untuk melihat baris perintah lengkap dari proses tersebut.

htop output terdiri dari tiga bagian 1) header 2) body dan 3) footer.

Tajuk menampilkan tiga bar berikut, dan beberapa informasi sistem penting. Anda dapat mengubahnya dari menu pengaturan htop.

  • Penggunaan CPU:Menampilkan % yang digunakan dalam teks di akhir bilah. Bilah itu sendiri akan menunjukkan warna yang berbeda. Prioritas rendah dalam warna biru, normal dalam warna hijau, kernel berwarna merah.
  • Penggunaan Memori
  • Tukar Penggunaan

Tubuh menampilkan daftar proses yang diurutkan berdasarkan penggunaan %CPU. Gunakan tombol panah, halaman ke atas, tombol halaman ke bawah untuk melihat proses.

Jarak Kaki menampilkan perintah menu htop.

Info lebih lanjut:Tangkapan Layar HTOP dan Contohnya

25. Statistik Soket – SS

ss adalah singkatan dari statistik soket. Ini menampilkan informasi yang mirip dengan perintah netstat.

Untuk menampilkan semua soket pendengar, lakukan ss -l seperti yang ditunjukkan di bawah ini.

$ ss -l
Recv-Q Send-Q   Local Address:Port     Peer Address:Port
0      100      :::8009                :::*
0      128      :::sunrpc              :::*
0      100      :::webcache            :::*
0      128      :::ssh                 :::*
0      64       :::nrpe                :::*

Berikut ini hanya menampilkan koneksi yang telah dibuat.

$ ss -o state established
Recv-Q Send-Q   Local Address:Port   Peer Address:Port
0      52       192.168.1.10:ssh   192.168.2.11:55969    timer:(on,414ms,0)

Berikut ini menampilkan statistik ringkasan soket. Ini menampilkan jumlah total soket yang dipecah berdasarkan jenisnya.

$ ss -s
Total: 688 (kernel 721)
TCP:   16 (estab 1, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 11

Transport Total     IP        IPv6
*         721       -         -
RAW       0         0         0
UDP       13        10        3
TCP       16        7         9
INET      29        17        12
FRAG      0         0         0

Alat apa yang Anda gunakan untuk memantau kinerja di lingkungan Linux Anda? Apakah saya melewatkan salah satu alat pemantau kinerja favorit Anda? Tinggalkan komentar.


Linux
  1. 4 Alat Pemantauan Kinerja Linux berbasis CLI:top, htop, ps dan vmstat

  2. 5 Alat Pemantauan Linux Berbasis Terminal Terbaik

  3. 20 Sertifikasi dan Kursus Red Hat Linux Terbaik

  1. Alat Terbaik Untuk Mengambil dan Mengedit Tangkapan Layar di Linux

  2. 5 Alat Pemantauan Sistem Terbaik

  3. Pengantar Pemantauan Kinerja dan Penyetelan Linux

  1. Alat Pengelola Partisi Linux Terbaik:8 Teratas Ditinjau dan Dibandingkan

  2. 20 Perangkat Lunak dan Alat Konferensi Video Linux Terbaik

  3. 20 Perangkat Lunak dan Solusi Mail Server Linux Terbaik