Rumah >Tutorial sistem >LINUX >Proses sistem: 10 mata pengetahuan yang kakitangan operasi dan penyelenggaraan mesti biasa
Pengenalan | Dalam operasi harian dan kerja penyelenggaraan, apabila kita biasa melaksanakan arahan ps, kita akan melihat banyak proses "pelik", dan kebanyakan proses ini adalah proses kernel sistem. Ramai pelajar mengetahui serba sedikit mengenainya, jadi hari ini saya akan menyusun siaran pengenalan proses sistem peringkat permulaan untuk anda, dengan harapan dapat membantu semua orang memahami proses sistem pengendalian. |
Dalam operasi harian dan kerja penyelenggaraan, apabila kita biasa melaksanakan arahan ps, kita akan melihat banyak proses "pelik", dan kebanyakan proses ini adalah proses kernel sistem. Ramai pelajar mengetahui serba sedikit mengenainya, jadi hari ini saya akan menyusun siaran pengenalan proses sistem peringkat permulaan untuk anda, dengan harapan dapat membantu semua orang memahami proses sistem pengendalian.
Dalam operasi harian dan kerja penyelenggaraan, kita sering melihat beberapa proses sistem yang pelik yang menduduki sumber yang agak tinggi. Dan saya selalu mendengar pelajar dari barisan perniagaan bertanya, "Apakah proses xxx? Mengapa begitu banyak daripada mereka telah dibuka?"
Proses kernel peringkat sistem ini disertakan dalam kurungan, dan ia melaksanakan beberapa fungsi tambahan sistem (seperti menulis cache ke cakera proses tanpa kurungan ialah proses yang dilaksanakan oleh pengguna (seperti php, nginx, dll.);Seperti gambar di bawah:
Berikut ialah 10 proses sistem biasa untuk semua orang:
kswapd0
kjournald
pdflush
kthreadd
penghijrahan
pengawas
acara
kblockd
aio
rpsiod
Linux menggunakan kswapd untuk pengurusan memori maya supaya halaman yang telah diakses baru-baru ini disimpan dalam ingatan dan halaman yang kurang aktif dihalakan ke cakera.(apa itu halaman?)…Linux menggunakan mengurus memori dalam unit yang dipanggil halaman. proses kswapd kerap mengurangkan umur halaman yang tidak dirujuk…dan pada akhirnya halaman itu dialihkan keluar (dialihkan keluar) ke cakera kjournald jurnal: Rekod perubahan metadata pada semua sistem fail, mod paling perlahan.
log semua data sistem fail dan perubahan metadata Yang paling perlahan daripada tiga mod penjurnalan ext3, mod penjurnalan ini meminimumkan peluang kehilangan perubahan yang telah anda buat pada mana-mana fail dalam sistem fail ext3. dipesan: Mod lalai, hanya merekodkan metadata perubahan sistem fail dan merekodkan log sebelum perubahan.
hanya merekodkan perubahan pada metadata sistem fail, tetapi mengepam kemas kini data fail ke cakera sebelum membuat perubahan pada metadata sistem fail yang berkaitan Ini ialah mod penjurnalan ext3 lalai. tulis balik: Mod terpantas, yang juga hanya merekodkan metadata yang diubah suai dan bergantung pada proses penulisan sistem fail standard untuk menulis data ke cakera keras
hanya log perubahan pada metadata sistem fail tetapi bergantung pada proses penulisan sistem fail standard untuk menulis perubahan data fail pada cakera Ini adalah mod penjurnalan ext3 terpantas. pdflush pdflush digunakan untuk menyegerakkan kandungan dalam ingatan dengan sistem fail.
Contohnya: apabila fail diubah suai dalam ingatan, pdflush bertanggungjawab untuk menulisnya kembali ke cakera keras. Apabila bilangan halaman kotor dalam ingatan melebihi 10%, pdflush akan menyandarkan halaman ini kembali ke cakera keras. Nisbah ini boleh laras dan nilai lalai ialah 10 melalui item vm.dirty_background_ratio dalam /etc/sysctl.conf.
kthreadd Hanya terdapat satu utas kernel sedemikian, dan peranannya adalah untuk mengurus dan menjadualkan utas kernel lain.
Ia dicipta semasa pemulaan kernel dan akan menggelung untuk menjalankan fungsi yang dipanggil kthreadd Fungsi fungsi ini adalah untuk menjalankan kthread yang dikekalkan dalam senarai terpaut global kthread_create_list. Anda boleh memanggil kthread_create untuk mencipta kthread, yang akan ditambahkan pada senarai terpaut kthread_create_list Pada masa yang sama, kthread_create akan melemahkan kthreadd_task. Apabila kthreadd melaksanakan kthread, ia akan memanggil antara muka lama - kernel_thread menjalankan utas kernel bernama "kthread" untuk menjalankan kthread yang dibuat akan dipadamkan daripada senarai terpaut kthread_create_list, dan kthreadd akan terus memanggil penjadual untuk melepaskan CPU. . Utas ini tidak boleh ditutup.
hijrah Terdapat 32 utas kernel secara keseluruhan, dari migrasi/0 kepada migrasi/31 Setiap teras pemproses sepadan dengan utas inti penghijrahan Fungsi utamanya adalah untuk berfungsi sebagai proses penghijrahan teras CPU yang sepadan dan digunakan untuk melaksanakan proses pemindahan operasi. Dalam kernel Fungsinya ialah migration_thread()
Kepunyaan sistem pengimbangan beban kernel 2.6 Proses ini dimuatkan secara automatik apabila sistem bermula (satu untuk setiap CPU), dan menetapkan dirinya sebagai proses masa nyata SCHED_FIFO, dan kemudian menyemak sama ada terdapat permintaan yang menunggu untuk dibuat. diproses dalam runqueue::migration_queue Jika tidak, Hanya tidur dalam TASK_INTERRUPTIBLE sehingga anda bangun dan semak semula. migration_thread() hanyalah antara muka untuk mengikat CPU dan fungsi pengurusan kuasa CPU. Urutan ini merupakan bahagian penting dalam sistem penjadualan.
anjing pengawas
Terdapat 32 utas kernel secara keseluruhan, daripada anjing pemantau/0 kepada anjing pemerhati/31 Setiap teras pemproses sepadan dengan utas kernel anjing pemerhati digunakan untuk memantau operasi sistem dan memulakan semula sistem secara automatik apabila sistem gagal, termasuk a modul pengawas kernel dan program pengawas ruang pengguna.
Di bawah kernel Linux, prinsip kerja asas pengawas ialah: apabila pengawas dimulakan (iaitu, selepas /dev/peranti pengawas dibuka), jika /dev/penjaga tidak dilaksanakan dalam selang masa yang ditetapkan (1 minit ) Operasi tulis, litar pengawas perkakasan atau pemasa perisian akan memulakan semula sistem dan setiap operasi tulis akan menyebabkan pemasa ditetapkan semula.
acaraTerdapat 32 utas kernel sedemikian secara keseluruhannya, daripada acara/0 hingga acara/31, dan setiap teras pemproses sepadan dengan utas kernel acara. Digunakan untuk memproses peristiwa kernel Banyak peristiwa perisian dan perkakasan (seperti gangguan bekalan elektrik, perubahan fail) ditukar kepada peristiwa dan diedarkan kepada utas yang berminat dengan peristiwa yang sepadan untuk tindak balas.
kblockdTerdapat 32 utas kernel secara keseluruhan, daripada kblockd/0 hingga kblockd/31 Setiap teras pemproses sepadan dengan utas kernel kblockd. Digunakan untuk mengurus peranti blok sistem, ia akan mengaktifkan pemacu peranti blok dalam sistem secara berkala. Jika anda memiliki peranti sekat, urutan ini tidak boleh dialih keluar.
aioTerdapat 32 utas kernel secara keseluruhan, dari aio/0 hingga aio/31 Setiap teras pemproses sepadan dengan utas kernel aio, yang menguruskan I/O dan bukannya proses pengguna untuk menyokong AIO mod pengguna (I/O tak segerak). ., tidak sepatutnya ditutup.
rpciodTerdapat 32 utas kernel secara keseluruhan, dari rpsiod/0 hingga rcciod/31 Setiap teras pemproses sepadan dengan satu utas kernel rcciod Fungsi utamanya adalah untuk berfungsi sebagai daemon untuk perkhidmatan panggilan prosedur jauh dan digunakan untuk memulakan I/. O daripada perkhidmatan pelanggan, yang biasanya digunakan semasa memulakan perkhidmatan NFS.
RingkasanProses adalah konsep yang sangat penting dalam sistem pengendalian Semua data yang berjalan pada sistem akan wujud dalam jenis proses. Dalam sistem Linux: apabila sebarang peristiwa dicetuskan, sistem akan mentakrifkannya sebagai proses Oleh itu, proses adalah satu-satunya cara untuk melaksanakan program Linux.
Atas ialah kandungan terperinci Proses sistem: 10 mata pengetahuan yang kakitangan operasi dan penyelenggaraan mesti biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!