GNU/Linux >> Belajar Linux >  >> Linux

Shutdown Terlalu Lama? Inilah Cara Menyelidiki dan Memperbaiki Waktu Shutdown yang Lama di Linux

Sistem Linux Anda terlalu lama untuk dimatikan? Berikut adalah langkah-langkah yang dapat Anda ambil untuk mencari tahu penyebab penundaan penonaktifan dan memperbaiki masalahnya.

Saya harap Anda sedikit familiar dengan konsep sigterm dan sigkill.

Ketika Anda mematikan sistem Linux Anda, ia mengirimkan sigterm dan dengan sopan meminta proses yang sedang berjalan untuk berhenti. Beberapa proses berperilaku tidak semestinya dan mengabaikan sigterm dan terus berjalan.

Ini dapat menyebabkan penundaan proses shutdown karena sistem Anda akan menunggu proses yang berjalan berhenti untuk jangka waktu yang telah ditentukan. Setelah periode waktu ini, ia mengirimkan sinyal mematikan untuk memaksa menghentikan semua proses yang berjalan dan mematikan sistem. Saya sarankan membaca tentang sigterm vs sigkill untuk memahami perbedaannya.

Bahkan, dalam beberapa kasus, Anda akan melihat pesan seperti 'pekerjaan berhenti sedang berjalan' di layar hitam.

Jika sistem Anda terlalu lama dimatikan, Anda dapat melakukan hal berikut:

  • Periksa proses/layanan mana yang memakan waktu terlalu lama dan apakah Anda dapat menghapus atau mengonfigurasi ulang agar berfungsi dengan benar.
  • Ubah masa tunggu default sebelum sistem Anda menghentikan proses yang berjalan secara paksa. [Perbaikan cepat dan kotor]

Saya menggunakan Ubuntu di sini yang menggunakan systemd. Perintah dan langkah di sini berlaku untuk semua distribusi Linux yang menggunakan systemd (kebanyakan melakukannya).

Periksa proses mana yang menyebabkan shutdown lama di Linux

Jika Anda ingin mencari tahu apa yang salah, Anda harus memeriksa apa yang terjadi pada shutdown terakhir. Gunakan perintah ini untuk mendapatkan kekuatan 'Saya tahu apa yang Anda lakukan sesi terakhir' (pun intended):

journalctl -rb -1

Perintah journalctl memungkinkan Anda membaca log sistem. Dengan opsi '-b -1' Anda memfilter log untuk sesi boot terakhir. Dengan opsi '-r', log ditampilkan dalam urutan kronologis terbalik.

Dengan kata lain, perintah 'journalctl -rb -1' akan menampilkan log sistem tepat sebelum sistem Linux Anda dimatikan terakhir kali. Inilah yang Anda butuhkan untuk menganalisis masalah shutdown yang lama di Linux.

Tidak ada log jurnal? Inilah yang harus Anda lakukan

Jika tidak ada log jurnal, pastikan distribusi Anda menggunakan systemd.

Bahkan pada beberapa distribusi Linux dengan systemd, log jurnal tidak diaktifkan secara default.

Pastikan /var/log/journal ada. Jika tidak, buatlah:

sudo mkdir /var/log/journal

Anda juga harus memeriksa konten file /etc/systemd/journald.conf dan memastikan bahwa nilai Storage disetel ke auto atau persistent.

Apakah Anda menemukan sesuatu yang mencurigakan di log? Apakah ada proses/layanan yang menolak untuk berhenti? Jika ya, selidiki apakah Anda dapat menghapusnya tanpa efek samping atau jika Anda dapat mengkonfigurasi ulang. Jangan membabi buta menghapus barang-barang di sini, tolong. Anda harus memiliki pengetahuan tentang prosesnya.

Percepat shutdown di Linux dengan mengurangi default stop timeout [Perbaikan cepat]

Periode tunggu default untuk shutdown biasanya diatur pada 90 detik. Sistem Anda mencoba menghentikan layanan secara paksa setelah jangka waktu ini.

Jika Anda ingin sistem Linux Anda dimatikan dengan cepat, Anda dapat mengubah masa tunggu ini.

Anda akan menemukan semua pengaturan systemd di file konfigurasi yang terletak di /etc/systemd/system.conf. File ini harus diisi dengan banyak baris dimulai dengan #. Mereka mewakili nilai default entri dalam file.

Sebelum Anda melakukan apa pun, ada baiknya Anda membuat salinan dari file aslinya.

sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.orig

Cari DefaultTimeoutStopSec di sini. Mungkin harus disetel ke 90 detik.

#DefaultTimeoutStopSec=90s

Anda harus mengubah nilai ini menjadi sesuatu yang lebih nyaman seperti 5 atau 10 detik.

DefaultTimeoutStopSec=5s

Jika Anda tidak tahu cara mengedit file konfigurasi di terminal, gunakan perintah ini untuk membuka file yang akan diedit di editor teks default sistem Anda (seperti Gedit):

sudo xdg-open /etc/systemd/system.conf

Jangan lupa untuk menghapus # sebelum DefaultTimeoutStopSec . Simpan file dan reboot sistem Anda.

Ini akan membantu Anda mengurangi penundaan shutdown untuk sistem Linux Anda.

Masalah pengawas!

Linux memiliki modul bernama pengawas yang digunakan untuk memantau apakah layanan tertentu berjalan atau tidak. Itu dapat dikonfigurasi untuk mem-boot ulang sistem secara otomatis jika digantung karena kesalahan perangkat lunak.

Tidak biasa menggunakan Watchdog pada sistem desktop karena Anda dapat mematikan atau mem-boot ulang sistem secara manual. Ini sering digunakan pada server jarak jauh.

Pemeriksaan pertama pengawas sedang berjalan:

ps -af | grep watch*

Jika watchdog berjalan di sistem Anda, Anda dapat mengubah nilai ShutdownWatchdogSec dari 10 menit menjadi sesuatu yang lebih rendah di file konfigurasi systemd /etc/systemd/system.conf.

Bacaan yang Disarankan:

Cari Tahu Berapa Lama Untuk Mem-boot Sistem Linux Anda

Berapa lama waktu yang dibutuhkan sistem Linux Anda untuk boot? Berikut cara mengetahuinya dengan perintah systemd-analyze.

Apakah Anda dapat memperbaiki shutdown yang lama?

Saya harap tutorial ini membantu Anda dalam menyelidiki dan memperbaiki masalah shutdown yang lama pada sistem Anda. Beri tahu saya di komentar jika Anda berhasil memperbaikinya.



Linux
  1. Perintah reboot dan shutdown Linux

  2. Cara Melihat Tanggal dan Waktu Reboot Sistem Linux

  3. Cara Menggunakan Perintah Shutdown dan Reboot Linux dengan Contoh

  1. Cara Menonaktifkan Perintah Shutdown dan Reboot di Linux

  2. Cara memeriksa Versi OS dan Linux

  3. Cara memasang dan memasang sistem file di Linux

  1. Berapa lama waktu yang dibutuhkan sistem Linux Anda untuk boot?

  2. Cara Menginstal dan Menggunakan Git di Sistem Linux

  3. Sudah berapa lama sistem Linux saya berjalan?