Jinsi na kwa nini chaguo la noatime inaboresha utendaji wa mifumo ya Linux

Usasishaji wa wakati unaathiri utendaji wa mfumo. Nini kinatokea huko na nini cha kufanya kuhusu hilo - soma makala.

Jinsi na kwa nini chaguo la noatime inaboresha utendaji wa mifumo ya Linux
Wakati wowote ninaposasisha Linux kwenye kompyuta yangu ya nyumbani, lazima nitatue matatizo fulani. Kwa miaka mingi, hii imekuwa tabia: Ninahifadhi nakala za faili zangu, kufuta mfumo, kusakinisha kila kitu kutoka mwanzo, kurejesha faili zangu, kisha kusakinisha tena programu ninazozipenda. Pia mimi hubadilisha mipangilio ya mfumo ili ijifae. Wakati mwingine inachukua muda mwingi. Na hivi majuzi nilijiuliza ikiwa nilihitaji kichwa hiki.

wakati ni mojawapo ya alama tatu za nyakati za faili katika Linux (zaidi juu ya hili baadaye). Hasa, nilikuwa nikijiuliza ikiwa bado itakuwa wazo nzuri kuzima wakati kwenye mifumo ya hivi karibuni ya Linux. Kwa kuwa atime inasasishwa kila wakati faili inapofikiwa, niligundua kuwa ina athari kubwa kwenye utendaji wa mfumo.
Hivi majuzi nilisasisha hadi Fedora 32 na, nje ya mazoea, nilianza kwa kuzima wakati. Niliwaza: ninahitaji kweli? Niliamua kusoma suala hili na hii ndio niliyochimba.

Kidogo kuhusu alama za nyakati za faili

Ili kufahamu, unahitaji kuchukua hatua nyuma na kukumbuka mambo machache kuhusu mifumo ya faili ya Linux na jinsi kernel inavyoweka alama za nyakati faili na saraka. Unaweza kuona tarehe ya mwisho iliyorekebishwa ya faili na saraka kwa kuendesha amri ls -l (ndefu) au kwa kuangalia tu habari kuihusu katika kidhibiti faili. Lakini nyuma ya pazia, kinu cha Linux hufuatilia mihuri ya nyakati kadhaa kwa faili na saraka:

  1. Faili ilibadilishwa lini mara ya mwisho (mtime)
  2. Ni lini mara ya mwisho mali na metadata zilibadilishwa (ctime)
  3. Faili ilifikiwa lini mara ya mwisho (atime)
  4. Unaweza kutumia amri statkutazama habari kuhusu faili au saraka. Hapa kuna faili / nk / fstab kutoka kwa mojawapo ya seva zangu za majaribio:

$ stat fstab
  File: fstab
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2097285     Links: 1
Access: (0664/-rw-rw-r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2019-04-25 21:10:18.083325111 -0500
Modify: 2019-05-16 10:46:47.427686706 -0500
Change: 2019-05-16 10:46:47.434686674 -0500
 Birth: 2019-04-25 21:03:11.840496275 -0500

Hapa unaweza kuona kwamba faili hii iliundwa tarehe 25 Aprili 2019 niliposakinisha mfumo. Faili yangu / nk / fstab ilirekebishwa mara ya mwisho tarehe 16 Mei 2019, na sifa nyingine zote zilibadilishwa kwa wakati mmoja.

Nikinakili / nk / fstab kwa faili mpya, tarehe zinabadilika ili kuonyesha kuwa ni faili mpya:

$ sudo cp fstab fstab.bak
$ stat fstab.bak
  File: fstab.bak
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2105664     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:53:58.443659981 -0500
 Birth: 2020-05-12 17:53:58.442659986 -0500

Lakini ikiwa nitabadilisha jina la faili bila kubadilisha yaliyomo, Linux itasasisha tu wakati faili ilibadilishwa:

$ sudo mv fstab.bak fstab.tmp
$ stat fstab.tmp
  File: fstab.tmp
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2105664     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:54:24.576508232 -0500
 Birth: 2020-05-12 17:53:58.442659986 -0500

Muhuri wa nyakati hizi ni muhimu sana kwa programu fulani za Unix. Kwa mfano, biff ni programu inayokujulisha wakati kuna ujumbe mpya katika barua pepe yako. Siku hizi watu wachache hutumia biff, lakini katika siku ambazo masanduku ya barua yalikuwa ya kawaida kwa mfumo, biff ilikuwa ya kawaida sana.

Je, mpango unajuaje kama una barua pepe mpya kwenye kikasha chako? biff inalinganisha muda wa mwisho wa kurekebishwa (wakati faili ya kikasha ilisasishwa kwa ujumbe mpya wa barua pepe) na muda wa mwisho wa kufikia (mara ya mwisho uliposoma barua pepe yako). Ikiwa mabadiliko yalitokea baadaye kuliko ufikiaji, basi biff itaelewa kuwa barua mpya imefika na itakuarifu kuihusu. Kiteja cha barua pepe cha Mutt hufanya kazi kwa njia sawa.

Muhuri wa muda wa mwisho wa ufikiaji pia ni muhimu ikiwa unahitaji kukusanya takwimu za matumizi ya mfumo wa faili na utekeleze. Wasimamizi wa mfumo wanahitaji kujua ni vitu gani vinavyofikiwa ili waweze kusanidi mfumo wa faili ipasavyo.

Lakini programu nyingi za kisasa hazihitaji tena lebo hii, kwa hiyo kulikuwa na pendekezo la kutoitumia. Mnamo 2007, Linus Torvalds na watengenezaji wengine kadhaa wa kernel walijadili wakati katika muktadha wa suala la utendaji. Msanidi wa kernel wa Linux Ingo Molnar alitoa hoja ifuatayo kuhusu wakati na mfumo wa faili wa ext3:

"Inashangaza sana kwamba kila kompyuta ya mezani na seva ya Linux inakabiliwa na uharibifu wa utendaji wa I/O unaoonekana kwa sababu ya visasisho vya kila wakati, ingawa kuna watumiaji wawili tu halisi: tmpwatch [ambayo inaweza kusanidiwa kutumia ctime, kwa hivyo sio shida kubwa] na zana zingine za chelezo."

Lakini watu bado wanatumia baadhi ya programu zinazohitaji lebo hii. Kwa hivyo kuondoa wakati kutavunja utendakazi wao. Watengenezaji wa Linux kernel hawapaswi kukiuka uhuru wa mtumiaji.

Suluhisho la Sulemani

Kuna programu nyingi zinazojumuishwa katika usambazaji wa Linux na kwa kuongeza, watumiaji wanaweza kupakua na kusakinisha programu nyingine kulingana na mahitaji yao. Hii ni faida kuu ya OS ya chanzo wazi. Lakini hii inafanya kuwa vigumu kuongeza utendaji wa mfumo wako wa faili. Kuondoa vipengele vinavyotumia rasilimali nyingi kunaweza kuvuruga mfumo.

Kama maelewano, watengenezaji wa Linux kernel wameanzisha chaguo jipya la muda wa kurejesha tena ambalo linakusudiwa kuleta usawa kati ya utendakazi na uoanifu:

atime inasasishwa tu ikiwa muda wa awali wa kufikia ni chini ya urekebishaji wa sasa au wakati wa kubadilisha hali... Tangu Linux 2.6.30, kernel hutumia chaguo hili kwa chaguo-msingi (isipokuwa wakati wa noatime umebainishwa)... Pia, tangu Linux 2.6.30 . 1, muda wa mwisho wa kufikia faili husasishwa kila mara ikiwa ina zaidi ya siku XNUMX.

Mifumo ya kisasa ya Linux (tangu Linux 2.6.30, iliyotolewa mwaka wa 2009) tayari hutumia muda wa kurudiana, ambao unapaswa kutoa utendakazi mkubwa sana. Hii inamaanisha kuwa hauitaji kusanidi faili / nk / fstab, na kwa relaytime unaweza kutegemea chaguo-msingi.

Kuboresha utendaji wa mfumo na noatime

Lakini ikiwa unataka kurekebisha mfumo wako ili kupata utendaji wa juu zaidi, kulemaza wakati bado kunawezekana.

Mabadiliko ya utendaji huenda yasionekane sana kwenye viendeshi vya kisasa vya haraka sana (kama vile NVME au Fast SSD), lakini kuna ongezeko dogo huko.

Ikiwa unajua kuwa hutumii programu inayohitaji wakati, unaweza kuboresha utendaji kazi kidogo kwa kuwezesha chaguo la noatime kwenye faili. /etc/fstab. Baada ya hayo, kernel haitasasisha kila wakati. Tumia chaguo la noatime wakati wa kuweka mfumo wa faili:

/dev/mapper/fedora_localhost--live-root /          ext4   defaults,noatime,x-systemd.device-timeout=0 1 1
UUID=be37c451-915e-4355-95c4-654729cf662a /boot    ext4   defaults,noatime        1 2
UUID=C594-12B1                          /boot/efi  vfat   umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home      ext4   defaults,noatime,x-systemd.device-timeout=0 1 2
/dev/mapper/fedora_localhost--live-swap none       swap   defaults,x-systemd.device-timeout=0 0 0

Mabadiliko yataanza kutumika utakapowasha upya.

Haki za Matangazo

Je, unahitaji seva ili kupangisha tovuti yako? Kampuni yetu inatoa seva za kuaminika kwa malipo ya kila siku au mara moja, kila seva imeunganishwa kwenye chaneli ya Mtandao ya Megabiti 500 na inalindwa dhidi ya mashambulizi ya DDoS bila malipo!

Jinsi na kwa nini chaguo la noatime inaboresha utendaji wa mifumo ya Linux

Chanzo: mapenzi.com

Kuongeza maoni