Perintah uptime Linux: waktu aktif dan rata-rata beban

uptime adalah perintah yang menampilkan waktu saat ini, waktu sistem telah berjalan sejak boot terakhir, jumlah pengguna yang masuk, dan rata-rata beban untuk 1, 5, dan 15 menit terakhir, semuanya dalam satu baris. Perintah ini digunakan sebagai titik awal untuk dengan cepat memeriksa kapan server di-reboot atau untuk menentukan apakah beban bersifat sementara atau persisten.

uptime

Namun, beban rata-rata tidak sama dengan penggunaan CPU. Ini menggambarkan rata-rata jumlah tugas yang berjalan, siap dijalankan, atau menunggu I/O dalam keadaan tidak dapat diinterupsi, jadi untuk interpretasi yang akurat, Anda perlu mempertimbangkan jumlah CPU serta status disk dan jaringan.

Cara membaca item output uptime

Format output yang khas adalah sebagai berikut. Waktu dan angka aktual bervariasi menurut sistem.

14:32:10 up 12 days, 3:41, 2 users, load average: 0.42, 0.51, 0.48

Manual resmi procps-ng uptime menjelaskan bahwa satu baris ini terdiri dari waktu saat ini, waktu aktif, jumlah pengguna yang masuk, dan rata-rata beban 1-, 5-, dan 15 menit.

Contoh output Arti Hal-hal yang perlu diperhatikan saat menafsirkan
14:32:10 Waktu saat ini dari sistem Dipengaruhi oleh zona waktu dan pengaturan sinkronisasi waktu.
up 12 days, 3:41 Waktu yang telah berlalu sejak boot terakhir Di dalam kontainer, waktu aktif host mungkin ditampilkan.
2 users Jumlah sesi login Dihitung berdasarkan catatan login, bukan individu unik.
0.42, 0.51, 0.48 Rata-rata beban 1 menit, 5 menit, 15 menit Bukan persentase yang dinormalisasi berdasarkan jumlah CPU logis.

Menafsirkan Setiap Item secara Rinci

Waktu Saat Ini

Nilai pertama adalah waktu saat ini yang dikenali oleh sistem. Jika tidak cocok dengan waktu log, periksa zona waktu dan status sinkronisasi dengan timedatectl.

timedatectl status

Waktu Aktif Sistem

Setelah up, waktu yang telah berlalu sejak boot terakhir ditampilkan. Jika lebih pendek dari yang diharapkan, periksa log sistem dan catatan boot untuk reboot yang tidak direncanakan, kesalahan kernel, masalah daya, atau tugas administratif.

uptime -p
uptime -s

-p menampilkan waktu yang telah berlalu dalam format yang dapat dibaca, dan -s menampilkan waktu saat sistem dinyalakan. Opsi yang didukung mungkin berbeda tergantung versi procps-ng yang terpasang pada distribusi Anda, jadi periksa dengan uptime --help.

Jumlah Pengguna yang Masuk

Jumlah pengguna dihitung berdasarkan sesi yang sedang masuk saat ini. Jika pengguna yang sama masuk beberapa kali melalui SSH dan konsol, hal ini dapat dihitung sebagai beberapa sesi. Untuk melihat siapa yang sedang masuk, gunakan w atau who.

w
who

Apa itu rata-rata beban?

Rentang waktu dari tiga angka

Tiga nilai rata-rata beban mewakili beban selama 1 menit terakhir, 5 menit, dan 15 menit, masing-masing. Ini bukan rata-rata aritmatika sederhana tetapi rata-rata bergerak berbobot eksponensial yang memberikan bobot lebih pada keadaan terbaru, sehingga tidak secara langsung menunjukkan jumlah tugas pada saat tertentu.

  • Jika nilai 1 menit lebih tinggi daripada nilai 5 menit dan 15 menit, itu mungkin menunjukkan bahwa beban baru-baru ini meningkat.
  • Jika nilai 1 menit lebih rendah, itu mungkin menunjukkan bahwa beban tinggi sebelumnya sedang mereda.
  • Jika ketiga nilai semuanya tinggi secara serupa, itu mungkin menunjukkan bahwa beban bertahan.

Bandingkan dengan jumlah CPU

Rata-rata beban tidak dinormalisasi berdasarkan jumlah CPU. Pertama, periksa jumlah CPU logis yang tersedia bagi proses dan kemudian bandingkan dengan beban. Nilai nproc dapat dipengaruhi afinitas, kuota, atau variabel lingkungan; periksa batas kontainer dan konfigurasi sebenarnya.

nproc

Sebagai contoh, dalam sistem dengan 4 CPU logis, beban 1,00 memiliki makna yang berbeda dibandingkan 1,00 pada sistem dengan satu CPU. Beban yang mendekati jumlah CPU dapat menjadi petunjuk untuk penyelidikan, tetapi tidak membuktikan CPU penuh: beban juga mencakup tugas yang menunggu I/O dalam keadaan tidak dapat diinterupsi. Bandingkan dengan penggunaan CPU dan metrik I/O.

Mengapa ini berbeda dari penggunaan CPU

Rata-rata beban di Linux mencakup tidak hanya tugas yang sedang berjalan atau menunggu untuk dijalankan di CPU, tetapi juga tugas yang menunggu I/O dalam keadaan tidak dapat diinterupsi. Oleh karena itu, meskipun penggunaan CPU rendah, rata-rata beban dapat meningkat karena disk atau penyimpanan jaringan yang lambat.

Jika beban tinggi, Anda perlu memeriksa penggunaan CPU, antrean proses, tunggu I/O, memori, dan swap secara bersamaan.

top
vmstat 1
iostat -xz 1
free -h

iostat biasanya disertakan dalam paket sysstat dan mungkin tidak terpasang.

Opsi uptime yang sering digunakan

Tampilan uptime yang mudah dibaca

uptime --pretty

-p atau --pretty hanya menampilkan uptime dalam kalimat yang dapat dibaca manusia. Ini tidak cocok untuk parsing dalam skrip di mana kalimat dapat dipengaruhi oleh bahasa.

Periksa Waktu Boot

uptime --since

-s atau --since menampilkan waktu mulai sistem dalam format YYYY-MM-DD HH:MM:SS. Karena nilai ini dihitung berdasarkan waktu saat ini, verifikasi bersama dengan log boot pada sistem di mana pengaturan waktu telah berubah secara signifikan.

Opsi Format Kontainer dan Mentah

Procps-ng terbaru memiliki opsi --container untuk meminta uptime kontainer dan opsi --raw untuk menampilkan waktu saat ini dan uptime dalam detik.

uptime --container
uptime --raw

Opsi ini mungkin tidak tersedia dalam distribusi procps-ng yang lebih lama. Jika runtime kontainer atau kernel tidak menyediakan informasi terkait, nilai yang diharapkan mungkin tidak muncul, jadi Anda harus memeriksa dukungan di lingkungan yang sebenarnya.

Urutan Pengecekan Ketika Beban Rata-rata Tinggi

Mulailah dengan memeriksa tren dan jumlah CPU

  1. Periksa apakah nilai 1 menit, 5 menit, dan 15 menit dari uptime meningkat, menurun, atau tetap.
  2. nproc digunakan untuk memeriksa jumlah CPU logis.
  3. Gunakan top atau ps untuk menemukan proses yang menggunakan banyak CPU.
  4. Gunakan vmstat dan iostat untuk memeriksa antrean proses siap jalan dan waktu tunggu I/O.
  5. Gunakan free untuk memeriksa memori yang tersedia dan penggunaan swap.

Jangan menyimpulkan adanya kegagalan berdasarkan satu angka saja

Adalah normal jika beban 1 menit naik secara singkat karena tugas kompresi atau cadangan yang singkat. Di sisi lain, jika nilai 15 menit terus meningkat dan waktu respons memburuk, kemungkinan itu adalah kemacetan yang berkelanjutan. Ambang batas sebaiknya ditetapkan tidak hanya berdasarkan jumlah CPU, tetapi juga dengan mempertimbangkan lalu lintas biasa, jenis tugas, kinerja penyimpanan, dan latensi layanan.

Jika pengamatan rutin diperlukan, sebaiknya mengumpulkan metrik rata-rata beban, CPU, I/O, memori, dan aplikasi secara bersamaan dari sistem pemantauan daripada mengandalkan output uptime satu kali.

Hal-hal yang perlu diperhatikan dalam kontainer dan mesin virtual

uptime dari mesin virtual biasanya menunjukkan waktu berjalan dari sistem operasi tamu. Karena kontainer berbagi kernel host, tergantung pada alat dan lingkungan, waktu aktif host mungkin ditampilkan. Periksa dukungan untuk --container di procps-ng terbaru, konfigurasi namespace dari runtime kontainer, dan sumber data dari sistem pemantauan secara bersamaan.

Selain itu, batas CPU yang diberikan ke sebuah kontainer dan nilai yang dilaporkan oleh nproc mungkin tidak selalu sesuai dengan kapasitas yang diharapkan oleh administrator. Aman juga untuk memeriksa permintaan dan batas CPU dari pengatur kontainer serta metrik throttling.

Pertanyaan yang Sering Diajukan

Apakah rata-rata beban 1,00 berarti penggunaan CPU 100%?

Tidak. Rata-rata beban mencerminkan jumlah tugas yang berjalan, siap dijalankan, atau menunggu I/O dalam keadaan tidak dapat diinterupsi dan tidak dinormalisasi menurut jumlah CPU. Penggunaan CPU harus diperiksa secara terpisah menggunakan alat seperti top atau mpstat.

Mengapa waktu aktif tiba-tiba menjadi lebih pendek?

Dalam sebagian besar kasus, sistem telah di-reboot. Periksa apakah itu merupakan pembaruan yang direncanakan, atau jika ada masalah daya atau kesalahan kernel dengan menggunakan journalctl --list-boots, log sistem, dan catatan operasional. Bergantung pada pengaturan retensi log, catatan boot sebelumnya mungkin tidak ada.

Mengapa jumlah pengguna yang masuk berbeda dari jumlah orang sebenarnya?

Jika satu orang membuka beberapa sesi SSH atau konsol, masing-masing bisa dihitung secara terpisah, dan mungkin ada kasus di mana catatan login terlihat tidak normal. Periksa terminal dan waktu login menggunakan w atau who.

Bagaimana cara memeriksa uptime secara terus-menerus?

Anda dapat menjalankannya secara berkala menggunakan watch.

watch -n 5 uptime

Jika Anda memerlukan tren jangka panjang dan peringatan, gunakan sistem pemantauan daripada hanya menonton layar output.

Ringkasan

uptime adalah langkah pertama untuk dengan cepat memeriksa apakah sistem telah di-reboot dan tren beban. Tiga beban rata-rata dalam output mewakili interval 1 menit, 5 menit, dan 15 menit, bukan penggunaan CPU atau persentase.

Ketika beban rata-rata tinggi, periksa jumlah CPU logis, penggunaan CPU, antrean proses, tunggu I/O, serta memori dan swap yang tersedia secara bersamaan. Cara menafsirkan item memori dapat ditemukan di panduan perintah free (bahasa Inggris).