- Namamahagi ang irqbalance ng mga interrupt hardware sa pagitan ng mga core upang maiwasan ang mga bottleneck sa mga SMP system, na lalong kapaki-pakinabang sa mga server na may mataas na trapiko.
- Ang aktwal na pagganap ay nakasalalay sa pagsasama ng irqbalance sa NAPI, mga pila ng network, mahusay na laki ng mga TCP buffer, modernong qdisc, at mga algorithm sa pagkontrol ng congestion tulad ng BBR.
- Ang mga advanced na setting ng NIC (ring buffers, RSS/RPS, offloads) at manual IRQ affinity assignment ay nagbibigay-daan para sa karagdagang pagpipino ng distribusyon ng load sa pagitan ng mga CPU.
- Ang pangkalahatang pag-optimize ng Linux Nakukumpleto ito sa pamamagitan ng mga pagbabago sa memory, swap, zram, mga pansamantalang file system, at mga desktop parameter at application tulad ng Firefox.
Kapag sinimulan mong baguhin ang performance ng isang GNU/Linux system, maya-maya ay isang paulit-ulit na bida ang lilitaw: ang irqbalance at ang distribusyon ng mga hardware interrupt sa pagitan ng mga CPU . Tinatalakay ito sa mga forum, dokumentasyon ng distribusyon, at mga tutorial sa "pag-tune" ng system upang gumana ito... ngunit bihirang ipaliwanag nang malinaw kung ano talaga ang ginagawa nito, sa anong mga sitwasyon ito nakikinabang, at kung saan wala kang mapapansin.
Bukod pa rito, ang lahat ng IRQ balancing na ito ay nahahalo sa iba pang mga advanced na konsepto: NAPI, kernel receive queues, NIC buffers, TCP congestion control algorithms, RSS/RPS, BBR, sysctl settings, performance daemons tulad ng preload, zram-compressed swap, GTK optimization, temporary files sa RAM, at iba pa. Napakadaling maligaw sa mga parameter, command, at configuration file nang walang malinaw na pag-unawa sa ginagawa ng bawat bagay.
Ano ang IRQbalance at para saan talaga ito ginagamit sa Linux?
Ang irqbalance ay isang user-space daemon na namamahagi ng mga hardware interrupt (IRQ) sa mga CPU core sa mga SMP (multiprocessor o multicore) system. Ang layunin nito ay hindi mahiwaga: nilalayon lamang nitong pigilan ang buong workload ng mga servicing device (network, disk, USB , atbp.) na mahulog sa iisang core.
Kapag ang isang device ay bumuo ng IRQ, ang kernel ay nagsasagawa ng interrupt handler. Kung marami sa mga interrupt na ito ay naka-concentrate sa iisang CPU, ang CPU na iyon ay maaaring ma-overload habang ang iba ay nananatiling idle. Sinusuri ng irqbalance ang dami ng mga interrupt sa bawat device at itinatalaga ang bawat IRQ sa isang angkop na core upang ipamahagi ang load , habang sinusubukan ding bawasan ang mga cache losses at igalang ang mga logical affinity (halimbawa, pinapanatili ang mga IRQ mula sa parehong network interface na may kaugnayan).
Sa mga sistemang may iisang CPU o mga core na ganap na naghahati sa L2 cache , ang irqbalance mismo ang nakakakita na wala itong kapaki-pakinabang na gawin at nagsasara. Hindi ito isang bug; wala nang lugar para sa pagpapabuti. Gayunpaman, sa mga server na may maraming pisikal na CPU o maraming core, lalo na sa mabigat na trapiko sa network o mataas na I/O, maaari itong gumawa ng pagkakaiba sa latency at stability.
Ang daemon ay maaaring tumakbo sa background (service mode) o kung kinakailangan gamit ang opsyon –oneshot. Gayundin, nagpapahintulot sa pagbubukod ng mga partikular na IRQ ayon sa pagpipilian --banirq at pigilan ito sa paggamit ng ilang partikular na core na may CPU mask na tinukoy sa environment variable IRQBALANCE_BANNED_CPUSAng lahat ng ito ay karaniwang kinokontrol mula sa iyong configuration file, na sa maraming distribusyon ay matatagpuan sa /etc/default/irqbalance o /etc/irqbalance.env.
Pagbabalanse ng IRQ: kernel vs irqbalance at kung kailan ito kapansin-pansin
Mayroon nang sariling panloob na mekanismo ang Linux para sa pagpapasya kung aling CPU ang humahawak sa bawat IRQ, nang hindi nangangailangan ng irqbalance. Maaaring magtakda ang kernel ng mga interrupt affinity at ipamahagi ang mga ito gamit ang mga simpleng heuristics , at sa maraming desktop machine, sapat na iyon: hindi mapapansin ng karaniwang gumagamit ang anumang pagkakaiba sa pamamagitan ng pag-enable o pag-disable ng irqbalance.
Kaya naman medyo karaniwan para sa isang tao na subukan ang irqbalance sa kanilang desktop distro at sabihing, "Wala akong napapansing anumang pagbuti, pero wala rin namang masama ." Normal lang iyon. Sa isang laptop na may quad-core processor at isang network card na walang mabigat na I/O load, ang Linux scheduler at internal kernel mechanisms (NAPI, network queues, atbp.) ay nagpapanatili na ng mga bagay na may makatwirang balanse.
Kung saan ito may katuturan ay sa mga multi-core server na may matinding trapiko : malalaking database , reverse proxy, mga web server na may mataas na trapiko, backup storage , mga virtual machine na puno ng laman , atbp. Sa mga sitwasyong ito, ang pagkakaroon ng maraming network o disk IRQ na naka-pin sa iisang core ay maaaring maging isang bottleneck. Ang pamamahagi ng mga ito ay epektibong nakakabawas ng mga pila, oras ng serbisyo, at pagtaas ng latency.
Mas gusto ng ilang gumagamit na gamitin ang irqbalance sa halip na irqbalance i-parameterize ang kernel gamit ang mga opsyon tulad ng acpi_irq_balance sa GRUB. Nakakaimpluwensya ang parameter na ito kung paano naglalaan ang ACPI at ang kernel ng mga IRQ, ngunit hindi nito inaalok ang parehong dynamic na flexibility gaya ng irqbalance, na muling sinusuri ang alokasyon batay sa aktwal na load. Magkaiba ang mga ito ng mga pamamaraan: ang una ay mas static at low-level; ang pangalawa, mas adaptive.
Sa mga ultra-low latency na kapaligiran (halimbawa, ilang trading platform o network na may DPDK), kabaligtaran ang nangyayari: ang irqbalance ay karaniwang hindi pinagana, at ang mga IRQ ay manu-manong itinatalaga sa mga partikular na core , kasama ang maingat na pagmamapa sa pagitan ng mga NIC queues at CPU. Sa mga sitwasyong ito, hinahanap ang ganap na kontrol, at isinasakripisyo ang ilang automation.
Mga interrupt, NAPI, at mga pila ng network: kung paano umaangkop ang IRQbalance
Para mas maunawaan ang papel ng irqbalance, kailangan nating dumaan sa isa pang yugto at tingnan kung paano ito pinangangasiwaan ng Linux. mga pagkaantala sa network at pagtanggap ng packetPinagsasama ng network subsystem ng kernel ang ilang mahahalagang bahagi: NAPI, mga receive queues (DMA buffer), mga parameter ng net.core.*, mga algorithm sa pamamahala ng pila (qdisc) at lateral scaling (RSS/RPS).
Ang NAPI (New API) ay ang mekanismo kung saan binabawasan ng kernel ang mga interrupt storm kapag dumarating ang mataas na trapiko. Sa halip na magpagana ng IRQ para sa bawat packet, bumubuo ang NIC ng interrupt na nagpapahiwatig na "may nakabinbing trabaho," at sinusuri ng kernel ang receive queue hanggang sa ito ay mawalan ng laman o maubos ang badyet ng oras/packet. Binabawasan nito ang jitter at pinapabuti ang pagganap, bagama't maaari rin itong magdulot ng ilang pagkakaiba-iba ng latency.
Ang pila kung saan dumarating ang mga packet bago maproseso ng network stack ay karaniwang tinatawag na kernel receive queue o DMA buffer . Ang kapasidad nito ay limitado ng mga parameter tulad ng:
net.core.netdev_max_backlog: ang pinakamataas na bilang ng mga packet sa pila ng pagtanggap ng software kapag hindi maproseso ng kernel ang mga ito sa bilis ng pagdating ng mga ito.net.core.netdev_budget_usecs: "badyet" ng oras sa microseconds na kailangan ng NAPI para mawalan ng laman ang mga pila sa bawat cycle.net.core.dev_weight: bilang ng mga packet na naproseso bawat interface sa bawat round sa loob ng badyet na iyon.
Si napakababa ng netdev_max_backlog at ang NIC ay nagpapadala ng mas maraming packet kaysa sa kayang hawakan ng kernel, magsisimula tayong makakita ng "mga dropped packet" sa /proc/net/softnet_statAng isang karaniwang panimulang punto para sa pagpipino sa mga server na may mataas na trapiko ay nasa hanay na 4000 pack, na-configure sa /etc/sysctl.conf na may katulad na:
net.core.netdev_max_backlog = 4000
Pagkatapos itong baguhin, inilalapat ito gamit ang sysctl -p o sa isang sysctl -w nasa oras. Sa ganitong paraan, mas mahusay na sinisipsip ng buntot ang mga arrival peak nang hindi nawawala ang mga packet, hangga't ang natitirang bahagi ng processing path ay nagpapatuloy.
Sa buong circuit na ito, ang irqbalance ang nagpapasya kung aling CPU ang humahawak sa mga IRQ na nauugnay sa network interface. Kung iko-concentrate natin ang lahat ng NIC interrupts sa iisang core, ang core na iyon ang magpapatakbo ng mga NAPI routine at mag-iisang mag-aalis ng tubig sa queue . Kung mabisa nating ipamahagi ang mga IRQ at gagamit ng mga mekanismo tulad ng RSS o RPS, maraming CPU ang maaaring magtulungan upang iproseso ang mga packet, na binabawasan ang mga queue at packet loss.
Ayusin ang mga pila, buffer, at TCP window para sa mabigat na trapiko
Kapag ang isang server ay humahawak ng maraming data (halimbawa, mga backup, trapiko ng FTP, malalaking file, o mga database na kinokopya), hindi sapat ang simpleng pagpapagana ng irqbalance. Kailangang i-harmonize ang ilang antas: mga kernel queue, mga network interface buffer, mga laki ng TCP window, at mga parameter ng congestion , upang ang lahat ay gumana sa parehong direksyon.
Ang unang adjustment block ay nasa packet receive buffer at TCP window . Inilalantad ng Linux ang mga parameter tulad ng:
net.ipv4.tcp_rmem: ang triplet (minimum, default, maximum) ng TCP ay tumatanggap ng memorya bawat socket.net.ipv4.tcp_wmem: katumbas para sa pagpapadala.net.core.rmem_maxynet.core.wmem_max: pinakamataas na hard buffer na maaaring hilingin ng isang aplikasyon.
Ang isang praktikal na paraan upang isaayos ang mga ito para sa isang low-latency Gigabit link ay ang pagkalkula ng Bandwidth-Delay Product (BDP) at paglalapat ng scaling factor (salamat sa opsyon na TCP window scaling , na pinagana bilang default sa karamihan ng mga modernong kernel). Sa pagsasagawa, maraming administrator ang nagkakaroon ng pinakamataas na halaga na ilang megabytes, halimbawa:
net.ipv4.tcp_rmem = 4096 16384 10880000
net.ipv4.tcp_wmem = 4096 16384 10880000
Ang pinakamataas na ~10,8 MB ay nagmumula sa mga partikular na kalkulasyon para sa 1 Gbps links na may napakababang RTT (~0,00017 s). Kung mas mataas ang throughput o latency, mas malaki ang buffer na kailangan upang masulit ang bandwidth nang hindi nalilimitahan ng buffer window.
Mahalagang iugnay ang maximum na ito sa laki ng pila ng pagtanggap ng packet. Kung ang netdev_max_backlog = 4000 at ang bawat epektibong packet ay nasa humigit-kumulang 1480 bytes, ang pila na iyon ay kumakatawan sa humigit-kumulang 5,9 MB. Ang TCP window buffer ay dapat na mas malaki kaysa sa kapasidad ng pila , o mawawalan tayo ng mga packet dahil ang buffer ay mapupuno bago ang pila.
Para masubaybayan ang mga pagkalugi , maaaring gamitin ang mga utos tulad ng sumusunod:
cat /sys/class/net/eth0/statistics/rx_dropped: mga packet na nawala sa NIC.watch -n 1 -t -d cat /proc/net/softnet_stat: mga kolum na naproseso, tinanggal, piniga sa oras, atbp. bawat CPU.watch -n 1 -t -d "netstat -s | grep err": mga error sa network stack.
Kung ang netstat ay nagpapakita ng mga error ngunit ang /proc/net/softnet_stat ay hindi nagpapakita , ang mga pagkalugi ay malamang na nangyayari sa labas ng ating host (sa daanan, sa pamamagitan ng isang intermediate firewall, atbp.). Ang ilang pagkalugi ay palaging naroroon dahil sa mga algorithm ng pagkontrol ng congestion, ngunit dapat itong manatiling mapapamahalaan at nauugnay sa mga pagtaas ng trapiko.
Pamamahala ng pila (qdisc), pagkontrol sa QoS at TCP congestion
Bagama't kritikal ang mga internal queues ng kernel, gayundin ang queuing discipline (qdisc) na nauugnay sa mga network interface . Ito ang tumutukoy kung paano inaayos, pinapangkat, at itinatapon ang mga packet sa output, at maaaring makagawa ng pagkakaiba sa pagpapagaan ng mga phenomena tulad ng bufferbloat.
Nag-aalok ang Linux ng ilang kaugnay na qdisc :
- pfifo_fast: lumang default na disiplina, isang FIFO na may tatlong priority band.
- fq_codel: kombinasyon ng patas na pagpila kasama ang CoDel upang labanan ang bufferbloat, lubos na inirerekomenda para sa mga router at pangkalahatang paggamit.
- fq: simpleng patas na pagpila, lubhang kapaki-pakinabang sa mga server na may mataas na karga.
- keyk (sch_cake): ang pinaka-advanced ngayon, ngunit nangangailangan ito ng pag-compile o pagkakaroon ng module sa kernel.
Ganito ang hitsura ng default na qdisc:
sysctl net.core.default_qdisc
At maaari itong palitan ng:
sysctl -w net.core.default_qdisc=fq_codel
Upang matiyak na ang isang partikular na interface ay gumagamit ng isang partikular na disiplina, ginagamit ang tc:
sudo tc qdisc palitan ang dev eth0 root fq_codel
Kaugnay nito, ang TCP congestion control algorithm ay nakakagawa rin ng pagkakaiba sa mga WAN environment o sa mga may napakalaking trapiko. Nag-aalok ang kernel ng ilan (cubic, reno, atbp.), at kabilang sa mga modernong bersyon ang BBR, na binuo ng Google , na karaniwang nagpapabuti sa napapanatiling throughput nang hindi lubos na pinapataas ang latency. Ito ay ina-activate gamit ang:
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
Maaaring suriin ang listahan ng mga magagamit na algorithm sa pamamagitan ng pagtingin sa mga module tcp_* en /lib/modules/<versión>/kernel/net/ipv4/. Pagsamahin ang BBR sa isang angkop na qdisc (fq/fq_code) at isang mahusay na buffer configuration Nagreresulta ito sa mas matatag na daloy ng datos.
Mga advanced na setting ng NIC: mga ring buffer, RSS, RPS, at mga offload
Ang network card mismo ay mayroon ding sariling hanay ng mga pila at buffer: ang mga ring buffer na receive (RX) at transmit (TX) . Ang kanilang maximum na laki ay depende sa hardware at ipinapakita tulad ng sumusunod:
ethtool -g ethX
Ang mga patlang na "Pre-set maximums" ay nagpapahiwatig kung gaano kalaki ang maaaring dagdagan ng mga halaga. Kung pinahihintulutan ito ng card, ang RX at TX ay maaaring dagdagan sa mga halagang tulad ng 4096, 8192, o 16384 gamit ang:
ethtool -G ethX rx 4096 tx 4096
Kung may lumabas na error gaya ng “Cannot set device ring parameters: Invalid argument,” lalampas ang value na iyon sa kakayahan ng NIC at kailangang subukan ang mas maliliit na divider.
Upang maiwasan ang isang CPU na humawak sa lahat ng workload na tinatanggap , maraming modernong NIC ang nagpapatupad ng Receive Side Scaling (RSS) , na lumilikha ng maraming hardware queues na nauugnay sa iba't ibang core. Sa Linux, ang distribusyon na ito ay kinakatawan ng:
cat /proc/interrupts | grep
Sa mga card na walang RSS, maaaring "gayahin" ang isang katulad nito gamit ang RPS (Receive Packet Steering) , na nagtatalaga ng mga CPU sa mga pila ng software ng interface:
echo f > /sys/class/net/enp4s0f0/queues/rx-0/rps_cpus
Ang halaga ay isang hexadecimal mask. Halimbawa, f Sa binary (1111), ipinapahiwatig nito ang paggamit ng unang apat na kernel. Ang kernel ay dapat na i-compile gamit ang CONFIG_RPS Upang gawin itong gumana.
Maaari ka ring makipaglaro sa mga pag-offload at segmentasyon ng checksum upang ilipat ang trabaho mula sa CPU patungo sa NIC processor. ethtool -k Makikita ang mga na-activate na kakayahan, at maaaring i-on ang mga bagay tulad ng mga sumusunod:
ethtool -K ethX rx on (pag-verify ng checksum sa reception)
ethtool -K ethX tso on (Pag-offload ng segmentasyon ng TCP)
Para ang mga pagbabagong ito ay magtagal, ay karaniwang inilalagay sa mga script ng network (/etc/network/interfaces sa Debian/Ubuntu, /etc/sysconfig/network-scripts/ifcfg-ethX sa Red Hat) o sa mga panuntunan ng udev.
Manu-manong i-fine-tune ang IRQ affinity at mabuhay gamit ang IRQbalance
Sa mga mas lumang kernel o sa mga pagkakataon kung saan gusto natin ng maayos na kontrol, posible Manu-manong italaga kung aling CPU ang humahawak sa isang partikular na IRQ.Ang lahat ng impormasyon ay nasa /proc/irq y /proc/interruptsAng isang karaniwang daloy ay:
- Tingnan ang mga pagkaantala: nakakagambala ang pusa / proc / at hanapin ang linya ng interface ng network (hal., IRQ 25 para sa enp0s8).
- Suriin ang kasalukuyang kaugnayan: cat /proc/irq/25/smp_affinity (hex mask: 02 = CPU1, 01 = CPU0, 04 = CPU2, atbp.).
- Baguhin ito: echo 1 > /proc/irq/25/smp_affinity para ilipat ito sa CPU0.
Sa ganitong paraan, halimbawa, maaari mong i-offload ang isang saturated CPU sa pamamagitan ng paglipat ng IRQ sa isang hindi gaanong busy na core. Kung naka-install at naka-enable ang irqbalance, mahalagang sabihin dito na huwag hawakan ang partikular na interrupt na iyon sa pamamagitan ng pagdaragdag ng opsyon tulad ng:
MGA OPSYON="--banirq=25"
en /etc/default/irqbalanceo gamit ang opsyon --banirq=25 Kapag nagsimula na ang demonyo. Ganoon Hindi mo ito isinama sa awtomatikong lohika ng pamamahagi nito. at iginagalang mo ang iyong manwal na takdang-aralin.
Kaya nagbabago iyon tulad ng echo 1 > /proc/irq/25/smp_affinity makaligtas sa mga rebootKaraniwan silang idinaragdag sa klasiko /etc/rc.local (kung pinagana) o sa mga partikular na systemd unit.
Iba pang kaugnay na mga setting ng pagganap: swap, zram, pansamantalang mga file, preload
Ang lahat ng gawaing ito ng pagpapabuti ng tugon ng network at pamamahagi ng IRQ ay karaniwang sinasamahan ng iba pang pag-tune ng sistema na, bagama't hindi direktang nakatali sa irqbalance, ay kumukumpleto sa larawan ng pagganap.
Sa larangan ng memorya, maraming administrador ang nagbabawas sa agresibong paggamit ng swap pagbabago /etc/sysctl.conf na may mga parameter tulad ng:
- vm.swappiness: kung gaano mas gusto ng kernel na gamitin ang swap (0-100, default na 60). Ang mababang halaga (1-10) ay nagbibigay-priyoridad sa RAM.
- vm.vfs_cache_pressureAng presyon sa inode at dentry cache. Ang pagbabawas nito ay nakakatulong na mapanatili ang metadata sa RAM.
- vm.dirty_writeback_centisecs y vm.dirty_expire_centisecs: dalas at pagtatapos ng pagsulat ng mga maruruming pahina sa disk.
- vm.dirty_ratio y vm.dirty_background_ratio: porsyento ng memorya na maaaring mapuno ng maruming datos bago ang sapilitang pagsusulat.
Gamit ang mga naaangkop na halaga (halimbawa, vm.swappiness=1 , vm.vfs_cache_pressure=50 , atbp.), maaaring magamit ng sistema ang mas maraming RAM bago magsimulang mag-page , na kanais-nais sa mga server na may maraming memorya.
Ang isa pang klasikong sukatan ay ilipat ang mga pansamantalang direktoryo sa RAM pag-mount ng mga ito bilang tmpfs en /etc/fstab:
tmpfs /tmp tmpfs noatime,nodiratime,nodev,nosuid,mode=1777,mga default 0 0
tmpfs /var/tmp tmpfs noatime,nodiratime,nodev,nosuid,mode=1777,mga default 0 0
Pinapayagan nito ang mga pansamantalang pag-access (mga compilation, mga gumaganang file ng application, atbp.) na maisagawa sa bilis ng RAM , na binabawasan ang pagkasira sa mga SSD disk.
Karaniwan din sa mga kapaligirang mababa ang mapagkukunan ang pag-activate zram-swapIsang compressed swap device sa RAM. Ito ay naka-install mula sa isang repository (halimbawa, gamit ang Git sa pamamagitan ng cloning). zram-swap at pagpapatupad ng kanyang install.sh) at lumilikha ng isang naka-compress na block device kung saan nagpapalit ang sistema bago gamitin, kung magagamit, ang disk swapping. Makakakuha ka ng epektibong memorya sa halaga ng bahagyang mas malaking CPU.na bumabawi sa maraming karga.
Panghuli, sinusuri ng mga daemon tulad ng preload kung aling mga application ang pinakamadalas tumatakbo at ini-preload ang kanilang mga binary at library sa RAM, na nagpapabilis sa kanilang startup kapalit ng pagkonsumo ng memory. May katuturan ito sa mga desktop na may sapat na RAM; sa mga server na may limitadong resources, kadalasan itong hindi isinasama.
GTK, GRUB, Firefox at iba pang mga pag-aayos para sa "kalidad ng buhay"
Higit pa sa purong pagganap ng server, maraming tutorial ang may kasamang mahahabang seksyon sa pag-optimize ng karanasan sa desktop : mga oras ng pagtugon sa GTK menu, mga font, dark theme, tunog, gawi ng mouse, atbp. Bagama't hindi direktang nakakaapekto ang mga ito sa balanse ng IRQ o trapiko sa network, nakakatulong ang mga ito sa isang mas tumutugong sistema.
Sa GTK2, GTK3 at GTK4, maaaring magsagawa ng mga pagsasaayos. dose-dosenang mga parameter sa mga file tulad ng ~/.gtkrc-2.0, ~/.config/gtk-3.0/settings.ini o ~/.config/gtk-4.0/settings.iniMga animation, timing ng pag-double click, laki ng cursor, disenyo ng title bar, paggamit ng dark themes, gawi ng tooltip, font antialiasing, atbp. Ang mga file na ito ay manu-manong ine-edit (gamit ang nano) o sa pamamagitan ng pagdaragdag ng mga linya sa pamamagitan ng echo >> mula sa pandulo.
Karaniwan ding inaayos ang mga bersyon. "pandaigdigan" ng mga parametrong ito sa /etc/gtk-2.0/gtkrc, /etc/gtk-3.0/settings.ini y /etc/gtk-4.0/settings.ini, para maapektuhan nito ang lahat ng user, palaging isinasaalang-alang na sa mga kasong iyon kailangan mong maging root (sa pamamagitan ng su - o sudo).
El oras ng paghihintay ng manager boot GRUB Mas umiikli ito kapag inedit. /etc/default/grub at pagbabago GRUB_TIMEOUT (halimbawa, mula 10 hanggang 3 segundo), at pagdaragdag ng mga parameter sa kernel tulad ng noresume o acpi_irq_balance en GRUB_CMDLINE_LINUX_DEFAULT. Pagkatapos ito ay pinaandar update-grub (Debian/Ubuntu) o grub-mkconfig -o /boot/grub/grub.cfg (Mga archive at derivatives).
Sa kaso ng browser, may mga file tulad ng user.js para sa firefox Ang mga setting na ito ay nagbibigay-daan sa iyong maglapat ng mga pangkat ng mga kagustuhan na naglalayong mapabilis ang pag-browse: bilang ng mga koneksyon, pag-uugali ng cache, compression, WebSockets, atbp. Ang karaniwang pamamaraan ay ang pag-reset ng profile, buksan ang direktoryo ng profile mula sa "Impormasyon sa Pag-troubleshoot," isara ang Firefox, at i-paste ang mga sumusunod: user.js sa folder ng profile at buksan muli ang browser.
Bagama't ang lahat ng ito ay may kaugnayan sa paksang irqbalance, inilalarawan nito ang isang mahalagang ideya: Ang pag-optimize ng Linux ay isang holistic na proseso . Hindi lamang ito tungkol sa isang daemon o isang magic parameter, kundi tungkol sa pagpino ng CPU, memory, disk, network, desktop, at mga application hanggang sa tumugma ito sa aktwal na paggamit ng makina.
Kung titingnan ang buong larawan—ang alokasyon ng IRQ na may irqbalance o manu-manong configuration, na-optimize na NAPI at mga pila, wastong laki ng mga TCP buffer, mga modernong qdisc tulad ng fq_codel o fq, kontrol sa pagsisikip ng BBR, pinalawak na ring buffer, pinaganang RSS/RPS, kontroladong swap at zram, pansamantalang RAM, at isang mahusay na naka-tune na desktop environment—malinaw na ang irqbalance ay isa lamang piraso ng isang malaking palaisipan . Mahalaga ang papel nito sa mga multi-core server na may mabigat na trapiko, hindi mahalaga sa maraming desktop, at kontra-produktibo sa mga sistemang may labis na latency kung saan mas gusto ang manu-manong setting ng affinity. Ang pag-unawa sa kontekstong ito ay susi sa pagpapasya kung hahayaan itong gumana, limitahan ang paggamit nito, o tuluyan itong i-disable.
Masigasig na manunulat tungkol sa mundo ng mga byte at teknolohiya sa pangkalahatan. Gustung-gusto kong ibahagi ang aking kaalaman sa pamamagitan ng pagsusulat, at iyon ang gagawin ko sa blog na ito, ipakita sa iyo ang lahat ng mga pinaka-kagiliw-giliw na bagay tungkol sa mga gadget, software, hardware, teknolohikal na uso, at higit pa. Ang layunin ko ay tulungan kang mag-navigate sa digital na mundo sa simple at nakakaaliw na paraan.