Dalam file layanan systemd, seseorang dapat mengatur opsi terkait penjadwalan berikut (dari systemd.exec
halaman manual , koreksi saya jika saya salah):
Nice Mengatur level nice default (prioritas penjadwalan) untuk proses yang dijalankan. Mengambil bilangan bulat antara -20 (prioritas tertinggi) dan 19 (prioritas terendah). Lihat setpriority (2) untuk detailnya.
Yang merupakan level bagus yang akrab. Sepertinya pengaruhnya 'subverted' agak karena fitur 'autogroup' dari kernel linux baru-baru ini. Jadi opsi di bawah ini mungkin yang ingin saya setel agar proses berjalan dengan baik untuk pengalaman desktop saya.
CPUSchedulingPolicy Menetapkan kebijakan penjadwalan CPU untuk proses yang dijalankan. Mengambil salah satu dari yang lain, batch, idle, fifo atau rr. Lihat sched_setscheduler (2) untuk detailnya.
CPUSchedulingPriority Menetapkan prioritas penjadwalan CPU untuk proses yang dijalankan. Kisaran prioritas yang tersedia tergantung pada kebijakan penjadwalan CPU yang dipilih (lihat di atas). Untuk kebijakan penjadwalan waktu nyata, integer antara 1 (prioritas terendah) dan 99 (prioritas tertinggi) dapat digunakan. Lihat sched_setscheduler (2) untuk detailnya.
CPUSchedulingResetOnFork Membawa argumen boolean. Jika benar, prioritas dan kebijakan penjadwalan CPU yang meningkat akan diatur ulang saat proses dieksekusi bercabang, dan karenanya tidak dapat bocor ke proses anak. Lihat sched_setscheduler (2) untuk detailnya. Default ke false.
Saya mengerti pilihan terakhir. Saya mengumpulkan dari penjelasan dua yang pertama bahwa saya dapat memilih kebijakan penjadwalan dan kemudian, mengingat kebijakan itu, menjadi prioritas. Tidak sepenuhnya jelas bagi saya apa yang harus saya pilih untuk jenis tugas apa. Sebagai contoh, apakah aman untuk memilih 'idle' untuk tugas cadangan (relatif intensif CPU, karena deduplicating), atau yang lain lebih cocok?
Secara umum, mendapatkan gambaran umum yang dapat dipahami dari setiap kebijakan, dengan masing-masing prioritas dan kesesuaian untuk tujuan tertentu adalah apa yang saya cari. Juga interaksi dengan level yang bagus menarik.
Di samping penjadwalan CPU, ada penjadwalan IO. Saya kira ini sesuai dengan ionice
(koreksi saya jika saya salah).
IOSchedulingClass Menetapkan kelas penjadwalan I / O untuk proses yang dieksekusi. Mengambil bilangan bulat antara 0 dan 3 atau salah satu dari string tidak ada, realtime, usaha terbaik atau idle. Lihat ioprio_set (2) untuk detailnya.
IOSchedulingPriority Menetapkan prioritas penjadwalan I / O untuk proses yang dieksekusi. Mengambil bilangan bulat antara 0 (prioritas tertinggi) dan 7 (prioritas terendah). Prioritas yang tersedia tergantung pada kelas penjadwalan I / O yang dipilih (lihat di atas). Lihat ioprio_set (2) untuk detailnya.
Kami di sini melihat struktur yang sama dengan penjadwalan CPU. Saya mencari jenis informasi yang sama juga.
Untuk semua opsi 'Penjadwalan', halaman manual yang dirujuk tidak cukup jelas bagi saya, kebanyakan dalam menerjemahkan hal-hal ke sudut pandang pengguna desktop yang cenderung teknis.
nice
nilainya berlaku).