Rumah Operasi dan penyelenggaraan operasi dan penyelenggaraan linux Adakah proses mempunyai keutamaan dalam linux?

Adakah proses mempunyai keutamaan dalam linux?

Mar 30, 2023 pm 01:45 PM
linux proses

Proses dalam Linux mempunyai keutamaan. Linux ialah sistem pengendalian berbilang pengguna dan berbilang tugas Biasanya terdapat banyak proses yang dijalankan dalam sistem, tetapi CPU hanya boleh mengendalikan satu arahan dalam satu kitaran jam Proses manakah yang harus beroperasi dahulu dan siapa yang harus beroperasi terakhir. Ini perlu ditentukan oleh keutamaan proses. Dalam sistem Linux, terdapat dua parameter yang menunjukkan keutamaan proses: Pri dan Nice keutamaan proses ialah nilai PRI, bukan nilai Nice, tetapi nilai Nice akan menjejaskan keutamaan.

Adakah proses mempunyai keutamaan dalam linux?

Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.

Keutamaan proses Linux

Linux ialah sistem pengendalian berbilang pengguna, berbilang tugas, dan biasanya terdapat banyak proses yang berjalan dalam sistem. Walau bagaimanapun, CPU hanya boleh mengendalikan satu arahan dalam satu kitaran jam (CPU semasa menggunakan teknologi berbilang benang dan berbilang teras, jadi ia boleh mengendalikan berbilang arahan dalam satu kitaran jam. Walau bagaimanapun, bilangan arahan yang boleh dikendalikan pada masa yang sama jauh lebih kecil daripada itu dalam sistem Jumlah bilangan proses), maka persoalannya datang: Siapa yang harus mengira dahulu dan siapa yang harus mengira terakhir? Ini perlu ditentukan oleh keutamaan proses.

  • Tertib di mana CPU memperuntukkan sumber adalah keutamaan

  • Proses dengan keutamaan yang lebih tinggi mempunyai hak untuk melaksanakan terlebih dahulu,

  • Anda boleh membiarkan proses berjalan pada CPU yang ditentukan untuk meningkatkan prestasi keseluruhan sistem

Selain itu, apabila CPU sedang mengira data, ia tidak melengkapkan set pengiraan dan kemudian meneruskan ke langkah seterusnya Operasi proses mula-mula beroperasi pada proses 1, kemudian pada proses 2, kemudian pada proses 3, dan kemudian pada proses 1 sehingga tugas proses tamat. Bukan itu sahaja, disebabkan wujudnya keutamaan proses, proses tidak dikira secara berurutan, tetapi proses mana yang mempunyai keutamaan lebih tinggi akan dikira lebih banyak kali dalam satu kitaran pengiraan.

Sukar untuk memahami cara ini, katakan dengan cara lain. Katakan saya kini mempunyai 4 anak (proses) yang perlu diberi makan (dikira saya lebih suka anak 1 (proses 1 mempunyai keutamaan yang lebih tinggi), dan anak 2, anak 3 dan anak 4 dilayan secara sama rata (proses 2, proses 3 dan). proses 4 mempunyai keutamaan). Sekarang saya mula memberi makan. Saya tidak boleh memberi makan kepada kanak-kanak 1 dahulu, dan kemudian memberi makan kepada kanak-kanak lain Sebaliknya, saya perlu menyuap makanan dalam gelung (semua gelung proses semasa operasi CPU). Kemudian, apabila saya memberi makan (pengiraan), saya akan menyuapkan anak sesuap nasi dahulu, dan kemudian memberi makan kepada anak-anak yang lain. Dan dalam satu kitaran, suapkan anak 1 dua suapan makanan dahulu, kerana saya lebih suka anak 1 (keutamaan tinggi), dan suapkan anak yang lain satu suap makanan. Dengan cara ini, anak 1 akan diberi makan dahulu (proses 1 pengiraan lebih cepat) kerana saya lebih suka anak 1.

Lihat keutamaan proses

1 Gunakan ps-al untuk melihat keutamaan proses

Adakah proses mempunyai keutamaan dalam linux?

2.PRI dan NI

Dalam sistem Linux, terdapat dua parameter yang mewakili keutamaan proses: Priority dan Nice.

[root@localhost ~]# ps -le
F S UID PID PPID C PRI NI ADDR  SZ WCHAN TTY    TIME  CMD
4 S   0   1    0 0  80  0    - 718     -   ? 00:00:01 init
1 S   0   2    0 0  80  0    -   0     -   ? 00:00:00 kthreadd
...省略部分输出...
Salin selepas log masuk

Di mana PRI bermaksud Keutamaan dan NI bermaksud Nice. Kedua-dua nilai mewakili keutamaan Semakin kecil nilai, semakin tinggi keutamaan proses yang perlu diproses oleh CPU. Walau bagaimanapun, nilai PRI dilaraskan secara dinamik oleh kernel dan tidak boleh diubah suai secara langsung oleh pengguna. Jadi kita hanya boleh mempengaruhi nilai PRI dengan mengubah suai nilai NI dan secara tidak langsung melaraskan keutamaan proses.

Hubungan antara PRI dan NI adalah seperti berikut:

PRI (nilai akhir) = PRI (nilai asal) + NI

Sebenarnya semua orang cuma perlu ingat, kita boleh menukar keutamaan proses dengan mengubah suai nilai NI. Semakin kecil nilai NI, nilai PRI proses akan berkurangan, dan proses akan diproses oleh CPU terlebih dahulu, sebaliknya, semakin besar nilai NI, nilai PRI proses akan meningkat, dan proses akan diproses kemudian oleh CPU.

Terdapat beberapa perkara yang perlu diberi perhatian apabila mengubah suai nilai NI:

  • Julat NI ialah -20~19.

  • Pengguna biasa boleh melaraskan nilai NI dalam julat 0~19, dan hanya boleh melaraskan proses mereka sendiri.

  • Pengguna biasa hanya boleh meningkatkan nilai NI, bukan menurunkannya. Jika nilai NI asal ialah 0, ia hanya boleh dilaraskan menjadi lebih besar daripada 0.

  • Hanya pengguna akar boleh menetapkan nilai NI proses kepada nilai negatif, dan boleh melaraskan mana-mana proses pengguna.

Lihat arahan untuk melihat dan mengubah suai nilai yang bagus

1 nilai bagus

Masukkan atas-tekan r, masukkan pid proses, dan masukkan nilai bagus. (Jika ia menunjukkan bahawa ketinggian ditolak, gunakan sudo untuk meningkatkan kebenaran arahan atas).

2. Konsep lain

  • Berdaya saing: Terdapat banyak sistem, tetapi hanya sebilangan kecil CPU, atau hanya satu, jadi terdapat persaingan antara proses. Untuk menyelesaikan tugas dengan cekap dan bersaing untuk mendapatkan sumber berkaitan dengan lebih munasabah, keutamaan diberikan.

  • Kemerdekaan: Operasi berbilang proses memerlukan penggunaan eksklusif pelbagai sumber, jadi pelbagai proses tidak mengganggu satu sama lain.

  • Sejajar: Berbilang proses berjalan dalam berbilang CPU pada masa yang sama dipanggil selari.

  • Konkurensi: Berbilang proses menggunakan pensuisan proses pada CPU untuk memajukan berbilang proses dalam tempoh masa, yang dipanggil konkurensi.

Keutamaan proses ialah nilai PRI, bukan nilai Nice, tetapi nilai Nice akan menjejaskan keutamaan

PRI juga Lebih mudah difahami, iaitu keutamaan proses, atau dalam istilah orang awam, susunan program dilaksanakan oleh CPU Semakin kecil nilai ini, semakin tinggi keutamaan proses. Bagaimana dengan NI? Inilah nilai bagus yang kita bincangkan, yang mewakili nilai diubah suai keutamaan di mana proses itu boleh dilaksanakan. Seperti yang dinyatakan sebelum ini, lebih kecil nilai PRI, lebih cepat ia akan dilaksanakan Selepas menambah nilai bagus, PRI akan menjadi: PRI(baru)=PRI(lama)+bagus.

Setakat ini, apa yang perlu ditekankan ialah nilai bagus sesuatu proses bukanlah keutamaan proses itu, tetapi nilai bagus proses itu akan mempengaruhi perubahan keutamaan proses.

Tukar keutamaan proses dengan melaraskan nilai bagus Julat pelarasan yang bagus ialah -20~19.

Faktor dan prinsip yang mempengaruhi keutamaan dan perubahan proses

Strategi penjadualan: Penjadualan RR dan proses penjadualan FIFO ialah proses masa nyata . Proses yang dijadualkan dengan perkongsian masa (OTHER) ialah proses bukan masa nyata.

FIFO (masuk dahulu, keluar dahulu) dan RR (putaran kepingan masa) digunakan untuk proses masa nyata, LAIN (penjadualan perkongsian masa) digunakan untuk proses bukan masa nyata; -proses masa akan mendahului proses biasa; FIFO akan menyebabkan proses masa Nyata serentak dengan keutamaan sentiasa menduduki CPU, dan RR akan memastikan proses masa nyata dengan keutamaan yang sama dilaksanakan secara bergilir-gilir mengikut kepingan masa.

Proses masa nyata mempunyai keutamaan yang lebih tinggi daripada proses masa nyata menggunakan penjadualan keutamaan statik, dan proses bukan masa nyata menggunakan penjadualan keutamaan dinamik proses diselaraskan dengan bagus dan mungkin dipengaruhi oleh bonus.

Proses Linux mempunyai dua keutamaan: keutamaan proses biasa (menggunakan dasar penjadualan SCHED_NORMAL) dan keutamaan proses masa nyata (menggunakan dasar penjadualan SCHED_FIFO atau SCHED_RR)

Dasar penjadualan yang berbeza Nyata- proses masa boleh dibandingkan hanya apabila mereka mempunyai keutamaan yang sama Pada bila-bila masa, keutamaan proses masa nyata adalah lebih tinggi daripada proses biasa

Linux menggunakan penjadualan keutamaan statik untuk proses masa nyata, dan untuk proses biasa (Proses bukan masa nyata), dijadualkan mengikut keutamaan dinamik.

Proses masa nyata hanya mempunyai keutamaan statik (antara 0~MAX_RT_PRIO-1, MAX_RT_PRIO lalai ialah 100), dan kernel tidak lagi akan melaraskan keutamaan statiknya berdasarkan faktor seperti tidur

Setiap tahap keutamaan proses masa nyata No. 0-99 sepadan dengan baris gilir keutamaan (senarai terpaut yang sepadan dengan nilai yang lebih tinggi dilaksanakan terlebih dahulu (nombor 0 adalah yang paling rendah). diubah suai oleh chrt dan fungsi sepadan yang diterangkan kemudian;

Keutamaan statik proses bukan masa nyata boleh dilaraskan melalui nilai bagus (-20~19): static_prio=MAX_RT_PRIO + nice + 20.

bagus hanya mempengaruhi proses bukan masa nyata (keutamaan statik adalah antara 100 dan 139 Lebih besar bagus, lebih besar nilai keutamaan statik dan lebih rendah keutamaan).

Keutamaan dinamik proses bukan masa nyata dikira berdasarkan keutamaan statik dan bonus: dynamic_prio = maks (100, min (static_prio - bonus + 5, 139))

bonus mencerminkan purata masa tidur proses (Julat 0~10), lebih banyak masa tidur, lebih besar kemungkinan ia adalah proses interaktif, dan lebih besar kemungkinan ia tidak akan menghabiskan potongan masa sebelum melepaskan CPU setiap kali ia adalah miliknya. berpusing untuk berlari.

Cadangan berkaitan: "Tutorial Video Linux"

Atas ialah kandungan terperinci Adakah proses mempunyai keutamaan dalam linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbezaan antara centos dan ubuntu Perbezaan antara centos dan ubuntu Apr 14, 2025 pm 09:09 PM

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

CentOS berhenti penyelenggaraan 2024 CentOS berhenti penyelenggaraan 2024 Apr 14, 2025 pm 08:39 PM

CentOS akan ditutup pada tahun 2024 kerana pengedaran hulu, RHEL 8, telah ditutup. Penutupan ini akan menjejaskan sistem CentOS 8, menghalangnya daripada terus menerima kemas kini. Pengguna harus merancang untuk penghijrahan, dan pilihan yang disyorkan termasuk CentOS Stream, Almalinux, dan Rocky Linux untuk memastikan sistem selamat dan stabil.

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Cara memasang centos Cara memasang centos Apr 14, 2025 pm 09:03 PM

Langkah Pemasangan CentOS: Muat turun Imej ISO dan Burn Bootable Media; boot dan pilih sumber pemasangan; Pilih susun atur bahasa dan papan kekunci; Konfigurasikan rangkaian; memisahkan cakera keras; Tetapkan jam sistem; Buat pengguna root; pilih pakej perisian; Mulakan pemasangan; Mulakan semula dan boot dari cakera keras selepas pemasangan selesai.

Apakah kaedah sandaran untuk gitlab di centos Apakah kaedah sandaran untuk gitlab di centos Apr 14, 2025 pm 05:33 PM

Dasar sandaran dan pemulihan Gitlab di bawah sistem CentOS untuk memastikan keselamatan data dan pemulihan, Gitlab pada CentOS menyediakan pelbagai kaedah sandaran. Artikel ini akan memperkenalkan beberapa kaedah sandaran biasa, parameter konfigurasi dan proses pemulihan secara terperinci untuk membantu anda menubuhkan strategi sandaran dan pemulihan GitLab lengkap. 1. Backup Manual Gunakan Gitlab-Rakegitlab: Backup: Buat Perintah untuk Melaksanakan Backup Manual. Perintah ini menyokong maklumat utama seperti repositori Gitlab, pangkalan data, pengguna, kumpulan pengguna, kunci, dan kebenaran. Fail sandaran lalai disimpan dalam direktori/var/opt/gitlab/sandaran. Anda boleh mengubah suai /etc /gitlab

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Cara memasang cakera keras di centos Cara memasang cakera keras di centos Apr 14, 2025 pm 08:15 PM

Centos Hard Disk Mount dibahagikan kepada langkah -langkah berikut: Tentukan nama peranti cakera keras (/dev/sdx); Buat titik gunung (disyorkan untuk menggunakan /mnt /newdisk); laksanakan perintah gunung (mount /dev /sdx1 /mnt /newdisk); Edit fail /etc /fstab untuk menambah konfigurasi gunung tetap; Gunakan perintah UMount untuk menyahpasang peranti untuk memastikan bahawa tiada proses menggunakan peranti.

Apa yang Harus Dilakukan Setelah CentOs Berhenti Penyelenggaraan Apa yang Harus Dilakukan Setelah CentOs Berhenti Penyelenggaraan Apr 14, 2025 pm 08:48 PM

Selepas CentOS dihentikan, pengguna boleh mengambil langkah -langkah berikut untuk menanganinya: Pilih pengedaran yang serasi: seperti Almalinux, Rocky Linux, dan CentOS Stream. Berhijrah ke pengagihan komersial: seperti Red Hat Enterprise Linux, Oracle Linux. Menaik taraf ke CentOS 9 Stream: Pengagihan Rolling, menyediakan teknologi terkini. Pilih pengagihan Linux yang lain: seperti Ubuntu, Debian. Menilai pilihan lain seperti bekas, mesin maya, atau platform awan.

See all articles