cari
RumahOperasi dan penyelenggaraanoperasi dan penyelenggaraan linuxApakah perbezaan antara tinjauan pendapat dan pilih dalam linux

Perbezaan antara tinjauan pendapat dan pilihan dalam Linux ialah: bilangan maksimum sambungan yang boleh dibuka oleh satu proses dalam pilihan ditakrifkan oleh makro "FD_SETSIZE" dan saiznya ialah 32 integer, manakala tinjauan pendapat menggunakan storan senarai terpaut, jadi tiada Had pada bilangan maksimum sambungan.

Apakah perbezaan antara tinjauan pendapat dan pilih dalam linux

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

Apakah perbezaan antara tinjauan pendapat dan pilihan dalam Linux

Pilihan yang digunakan oleh setiap proses mempunyai had pada bilangan sambungan maksimum, yang hanya boleh FD_SETSIZE, manakala tinjauan pendapat tidak mempunyai apa-apa had (menggunakan storan senarai terpaut);

Kedua-dua epoll dan pilih boleh menyediakan penyelesaian pemultipleksan I/O berbilang saluran. Semua boleh disokong dalam kernel Linux semasa, antaranya epoll adalah unik untuk Linux, manakala pilih harus ditetapkan oleh POSIX dan dilaksanakan dalam sistem pengendalian umum

pilih:

Select pada asasnya melaksanakan langkah pemprosesan seterusnya dengan menetapkan atau menyemak struktur data yang menyimpan bendera fd. Kelemahan ini adalah:

1 Bilangan fd yang boleh dipantau oleh satu proses adalah terhad, iaitu saiz port pendengaran adalah terhad.

Secara umumnya, nombor ini berkait rapat dengan memori sistem Nombor khusus boleh dilihat oleh cat /proc/sys/fs/file-max. Lalai untuk mesin 32-bit ialah 1024. Lalai untuk mesin 64-bit ialah 2048.

2 Apabila mengimbas soket, ia adalah imbasan linear, iaitu kaedah pengundian digunakan, yang kurang cekap:

Apabila. terdapat banyak soket, Setiap pilih() mesti melengkapkan penjadualan dengan merentasi Soket FD_SETSIZE Tidak kira Soket mana yang aktif, ia akan dilalui sekali. Ini membazirkan banyak masa CPU. Jika anda boleh mendaftarkan fungsi panggil balik untuk soket dan melengkapkan operasi berkaitan secara automatik apabila ia aktif, maka pengundian akan dielakkan. Inilah yang dilakukan oleh epoll dan kqueue.

3. Adalah perlu untuk mengekalkan struktur data untuk menyimpan sejumlah besar FD, yang akan menyebabkan overhed salinan yang tinggi apabila memindahkan struktur antara ruang pengguna dan ruang kernel

tinjauan pendapat:

Tinjauan pada asasnya sama dengan pilih Ia menyalin tatasusunan yang dihantar oleh pengguna ke ruang kernel, dan kemudian menanyakan status peranti yang sepadan dengan setiap fd. ia menambah item pada baris gilir menunggu peranti dan meneruskan Traversal, jika tiada peranti sedia ditemui selepas merentasi semua fd, proses semasa akan digantung sehingga peranti itu bersedia atau masa inisiatif itu akan tamat fd lagi. Proses ini telah melalui banyak laluan yang tidak perlu.

Ia tiada had pada bilangan maksimum sambungan kerana ia disimpan berdasarkan senarai terpaut, tetapi ia juga mempunyai kelemahan:

1 Sebilangan besar tatasusunan fd disalin sebagai keseluruhan dalam mod pengguna dan antara ruang alamat kernel, tidak kira sama ada penyalinan tersebut masuk akal.

2. Tinjauan juga mempunyai ciri yang "mencetuskan mendatar".

epoll:

epoll mempunyai dua mod pencetus: EPOLLLT dan EPOLLET ialah mod lalai dan ET ialah mod "kelajuan tinggi". Dalam mod LT, selagi fd masih mempunyai data untuk dibaca, epoll_wait akan mengembalikan acaranya setiap kali untuk mengingatkan program pengguna untuk beroperasi Dalam mod ET (cetusan tepi), ia hanya akan menggesa sekali sehingga terdapat data seterusnya masa. Tidak akan ada gesaan lanjut sebelum aliran masuk, tidak kira sama ada masih terdapat data yang boleh dibaca dalam fd. Oleh itu, dalam mod ET, apabila membaca fd, penimbalnya mesti dibaca, iaitu, sehingga nilai pulangan bacaan kurang daripada nilai yang diminta, atau ralat EAGAIN ditemui. Ciri lain ialah epoll menggunakan kaedah pemberitahuan kesediaan "event" untuk mendaftarkan fd melalui epoll_ctl Setelah fd sedia, kernel akan menggunakan mekanisme panggil balik seperti panggilan balik untuk mengaktifkan fd, dan epoll_wait boleh menerima pemberitahuan.

Mengapa epoll mempunyai mod pencetus EPOLLET?

Jika mod EPOLLLT digunakan, apabila terdapat sejumlah besar deskriptor fail sedia dalam sistem yang anda tidak perlu membaca atau menulis, mereka akan kembali setiap kali epoll_wait dipanggil, yang akan mengurangkan keupayaan program pemprosesan untuk mendapatkan semula fail sedia yang penting bagi kecekapan deskriptor fail... Jika mod pencetus tepi EPOLLET digunakan, apabila peristiwa boleh dibaca dan boleh ditulis berlaku pada deskriptor fail yang dipantau, epoll_wait() akan memberitahu pengendali untuk membaca dan menulis. Jika semua data tidak dibaca dan ditulis kali ini (contohnya, penimbal baca-tulis terlalu kecil), ia tidak akan memberitahu anda pada kali seterusnya anda menghubungi epoll_wait(), iaitu, ia hanya akan memberitahu anda sekali, sehingga deskriptor fail ialah Anda tidak akan dimaklumkan sehingga peristiwa baca-tulis kedua berlaku! ! ! Mod ini lebih cekap daripada pencetus mendatar, dan sistem tidak akan dibanjiri dengan sejumlah besar deskriptor fail sedia yang anda tidak pedulikan

Kelebihan epoll:

1. Tiada sekatan sambungan serentak maksimum, had atas FD yang boleh dibuka adalah lebih besar daripada 1024 (memori 1G boleh memantau kira-kira 100,000 port, tetapi tidak kaedah pengundian, dan ia tidak akan meningkat dengan bilangan FD Peningkatan kecekapan berkurangan. Hanya FD yang aktif dan tersedia akan memanggil fungsi panggil balik;

Iaitu, kelebihan terbesar Epoll ialah ia hanya mengambil berat tentang sambungan "aktif" anda dan tiada kaitan dengan jumlah sambungan. dalam persekitaran rangkaian sebenar, kecekapan Epoll Ia akan jauh lebih tinggi daripada pilih dan tinjauan pendapat.

3. Salinan memori, gunakan memori pemetaan fail mmap() untuk mempercepatkan penghantaran mesej dengan ruang kernel; iaitu, epoll menggunakan mmap untuk mengurangkan overhead salinan.

Ringkasan perbezaan antara pilih, tinjauan pendapat dan epoll:

1 Menyokong bilangan maksimum sambungan yang boleh dibuka melalui proses

pilih

Bilangan maksimum sambungan yang boleh dibuka dengan satu proses ditakrifkan oleh makro FD_SETSIZE dan saiznya ialah saiz 32 integer (pada 32- mesin bit, saiznya ialah 3232, dan begitu juga pada mesin 64-bit FD_SETSIZE ialah 3264), sudah tentu kita boleh mengubah suainya dan kemudian menyusun semula kernel, tetapi prestasi mungkin terjejas, yang memerlukan ujian lanjut.

pungutan suara

pungutan suara pada dasarnya adalah sama seperti pilih, tetapi ia tidak mempunyai had pada bilangan maksimum sambungan kerana ia disimpan berdasarkan senarai terpaut

epoll

Walaupun terdapat had atas bilangan sambungan, ia adalah sangat besar Mesin dengan memori 1G boleh membuka kira-kira 100,000 sambungan, dan mesin dengan memori 2G boleh membuka kira-kira 200,000 sambungan

<.> 2. FD meningkat secara mendadak Masalah kecekapan IO yang disebabkan oleh

pilih

Oleh kerana sambungan akan dilalui secara linear setiap kali ia dipanggil, peningkatan dalam FD akan menyebabkan " penurunan linear" dalam kelajuan traversal yang perlahan. isu prestasi".

poll

Sama seperti di atas

epoll

Oleh kerana pelaksanaan dalam kernel epoll adalah berdasarkan fungsi panggil balik pada setiap fd, hanya soket aktif panggilan balik akan dipanggil secara aktif, jadi apabila terdapat beberapa soket aktif, menggunakan epoll tidak mempunyai masalah prestasi penurunan linear daripada dua sebelumnya, bagaimanapun, apabila semua soket aktif, mungkin terdapat masalah prestasi.

3. Kaedah penghantaran mesej

pilih

Inti perlu menghantar mesej ke ruang pengguna, yang memerlukan tindakan salinan kernel

tinjauan pendapat

Sama seperti di atas

epoll

epoll dilaksanakan dengan berkongsi memori antara kernel dan ruang pengguna.

Ringkasan:

Ringkasnya, apabila memilih pilih, tinjauan pendapat atau epoll, anda harus mempertimbangkan peristiwa penggunaan khusus dan ciri-ciri ketiga-tiga kaedah ini.

1. Secara luaran, epoll mempunyai prestasi terbaik, tetapi apabila bilangan sambungan kecil dan sambungan sangat aktif, prestasi pilih dan tinjauan pendapat mungkin lebih baik daripada pemberitahuan epoll mekanisme memerlukan banyak panggilan balik fungsi.

2. Pilih tidak cekap kerana ia perlu ditinjau setiap masa. Tetapi ketidakcekapan juga relatif, bergantung pada keadaan, ia juga boleh diperbaiki melalui reka bentuk yang baik

Pembelajaran yang disyorkan:

Tutorial video Linux

Atas ialah kandungan terperinci Apakah perbezaan antara tinjauan pendapat dan pilih dalam linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Operasi Linux: menggunakan mod penyelenggaraanOperasi Linux: menggunakan mod penyelenggaraanApr 19, 2025 am 12:08 AM

Mod penyelenggaraan Linux boleh dimasukkan melalui menu grub. Langkah -langkah tertentu ialah: 1) Pilih kernel dalam menu grub dan tekan 'E' untuk mengedit, 2) Tambah 'Single' atau '1' pada akhir garis 'Linux', 3) Tekan Ctrl X untuk memulakan. Mod penyelenggaraan menyediakan persekitaran yang selamat untuk tugas seperti pembaikan sistem, penetapan semula kata laluan dan peningkatan sistem.

Linux: Cara Memasuki Mod Pemulihan (dan Penyelenggaraan)Linux: Cara Memasuki Mod Pemulihan (dan Penyelenggaraan)Apr 18, 2025 am 12:05 AM

Langkah -langkah untuk memasukkan mod pemulihan Linux adalah: 1. Mulakan semula sistem dan tekan kekunci khusus untuk memasukkan menu Grub; 2. Pilih pilihan dengan (pemulihanMode); 3. Pilih operasi dalam menu Mod Pemulihan, seperti FSCK atau Root. Mod pemulihan membolehkan anda memulakan sistem dalam mod pengguna tunggal, melakukan pemeriksaan sistem fail dan pembaikan, mengedit fail konfigurasi, dan operasi lain untuk membantu menyelesaikan masalah sistem.

Komponen Penting Linux: Dijelaskan untuk PemulaKomponen Penting Linux: Dijelaskan untuk PemulaApr 17, 2025 am 12:08 AM

Komponen teras Linux termasuk kernel, sistem fail, shell dan alat biasa. 1. Kernel menguruskan sumber perkakasan dan menyediakan perkhidmatan asas. 2. Sistem fail menganjurkan dan menyimpan data. 3. Shell adalah antara muka bagi pengguna untuk berinteraksi dengan sistem. 4. Alat umum membantu menyelesaikan tugas harian.

Linux: Lihat struktur asasnyaLinux: Lihat struktur asasnyaApr 16, 2025 am 12:01 AM

Struktur asas Linux termasuk kernel, sistem fail, dan shell. 1) Sumber perkakasan pengurusan kernel dan gunakan UNAME-R untuk melihat versi. 2) Sistem fail ext4 menyokong fail dan log besar dan dibuat menggunakan mkfs.ext4. 3) Shell menyediakan interaksi baris arahan seperti BASH, dan menyenaraikan fail menggunakan LS-L.

Operasi Linux: Pentadbiran Sistem dan PenyelenggaraanOperasi Linux: Pentadbiran Sistem dan PenyelenggaraanApr 15, 2025 am 12:10 AM

Langkah -langkah utama pengurusan dan penyelenggaraan sistem Linux termasuk: 1) menguasai pengetahuan asas, seperti struktur sistem fail dan pengurusan pengguna; 2) Menjalankan pemantauan sistem dan pengurusan sumber, gunakan alat atas, HTOP dan lain -lain; 3) Gunakan log sistem untuk menyelesaikan masalah, gunakan JournalCTL dan alat lain; 4) Tulis skrip automatik dan penjadualan tugas, gunakan alat Cron; 5) Melaksanakan pengurusan dan perlindungan keselamatan, konfigurasikan firewall melalui iptables; 6) Menjalankan pengoptimuman prestasi dan amalan terbaik, menyesuaikan parameter kernel dan mengembangkan tabiat yang baik.

Memahami Mod Penyelenggaraan Linux: KeperluanMemahami Mod Penyelenggaraan Linux: KeperluanApr 14, 2025 am 12:04 AM

Mod penyelenggaraan Linux dimasukkan dengan menambah init =/bin/bash atau parameter tunggal pada permulaan. 1. Masukkan Mod Penyelenggaraan: Edit menu Grub dan tambahkan parameter permulaan. 2. Mengembalikan sistem fail untuk membaca dan menulis mod: mount-oremount, rw/. 3. Membaiki sistem fail: Gunakan arahan FSCK, seperti FSCK/DEV/SDA1. 4. Menyokong data dan beroperasi dengan berhati -hati untuk mengelakkan kehilangan data.

Bagaimana Debian Meningkatkan Kelajuan Pemprosesan Data HadoopBagaimana Debian Meningkatkan Kelajuan Pemprosesan Data HadoopApr 13, 2025 am 11:54 AM

Artikel ini membincangkan cara meningkatkan kecekapan pemprosesan data Hadoop pada sistem Debian. Strategi pengoptimuman meliputi peningkatan perkakasan, pelarasan parameter sistem operasi, pengubahsuaian konfigurasi Hadoop, dan penggunaan algoritma dan alat yang cekap. 1. Pengukuhan sumber perkakasan memastikan bahawa semua nod mempunyai konfigurasi perkakasan yang konsisten, terutama memberi perhatian kepada prestasi CPU, memori dan peralatan rangkaian. Memilih komponen perkakasan berprestasi tinggi adalah penting untuk meningkatkan kelajuan pemprosesan keseluruhan. 2. Sistem operasi Tunes deskriptor fail dan sambungan rangkaian: Ubah suai fail /etc/security/limits.conf untuk meningkatkan had atas deskriptor fail dan sambungan rangkaian yang dibenarkan dibuka pada masa yang sama oleh sistem. Pelarasan Parameter JVM: Laraskan fail Hadoop-env.sh

Cara Belajar Debian SyslogCara Belajar Debian SyslogApr 13, 2025 am 11:51 AM

Panduan ini akan membimbing anda untuk belajar cara menggunakan syslog dalam sistem Debian. SYSLOG adalah perkhidmatan utama dalam sistem Linux untuk sistem pembalakan dan mesej log aplikasi. Ia membantu pentadbir memantau dan menganalisis aktiviti sistem untuk mengenal pasti dan menyelesaikan masalah dengan cepat. 1. Pengetahuan asas syslog Fungsi teras syslog termasuk: mengumpul dan menguruskan mesej log secara terpusat; menyokong pelbagai format output log dan lokasi sasaran (seperti fail atau rangkaian); Menyediakan fungsi tontonan log dan penapisan masa nyata. 2. Pasang dan konfigurasikan syslog (menggunakan rsyslog) Sistem Debian menggunakan rsyslog secara lalai. Anda boleh memasangnya dengan arahan berikut: sudoaptupdatesud

See all articles

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.

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.