Nûvekirina Atime bandorê li performansa pergalê dike. Tiştê ku li wir diqewime û li ser wê çi bikin - gotarê bixwînin.
Gava ku ez Linux-ê li ser komputera xweya malê nûve bikim, divê ez hin pirsgirêkan çareser bikim. Bi salan, ev bûye adet: Ez pelên xwe paşde vedigirim, pergalê paqij dikim, her tiştî ji sifirê saz dikim, pelên xwe sererast dikim, dûv re serîlêdanên xweyên bijare ji nû ve saz dikim. Ez mîhengên pergalê jî li gorî xwe diguherim. Carinan ew pir wext digire. Û di van demên dawî de min meraq kir gelo hewcedariya min bi vê serêşê heye.
atime ji bo pelên li Linux-ê yek ji sê mohra demjimêran e (li ser vê paşê bêtir). Bi taybetî, min meraq dikir gelo ew ê hîn jî ramanek baş be ku meriv li ser pergalên Linux yên nûtirîn dem neçalak bike. Ji ber ku her gava ku pel tê gihîştinê atime nûve dibe, min fêm kir ku ew bandorek girîng li ser performansa pergalê heye.
Min vê dawiyê nûve kir Fedora 32 û, ji adetî, dest bi neçalakkirina demekê kir. Ez fikirîm: Ma ez bi rastî hewce dikim? Min biryar da ku ez vê mijarê bixwînim û ev tiştê ku min vekir.
Piçekî li ser demjimêrên pelan
Ji bo ku hûn wiya fêm bikin, hûn hewce ne ku gav paşde bavêjin û çend tiştan li ser pergalên pelan ên Linux-ê û çawa kernel pel û peldankan nîşan dide. Hûn dikarin bi xebitandina fermanê tarîxa paşîn a pel û peldankan a guherandinê bibînin ls -l (dirêj) an jî bi tenê bi dîtina agahdariya li ser wê di rêvebirê pelê de. Lê li pişt perdeyê, kernel Linux ji bo pel û peldankan çend demjimaran dişopîne:
- Dosya herî dawî kengê hate guherandin (mtime)
- Cara dawî kengê taybetmendiyên pelê û metadata hatin guhertin (ctime)
- Dosya herî dawî kengê hat gihîştin (wext)
- Hûn dikarin fermanê bikar bînin statji bo dîtina agahdariya li ser pel an pelrêçek. Li vir pelê ye / etc / fstab ji yek ji serverên testa min:
$ 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
Li vir hûn dikarin bibînin ku ev pel di 25ê Avrêl, 2019 de dema ku min pergalê saz kir hate afirandin. Dosya min / etc / fstab herî dawî di 16ê Gulana 2019an de hate guherandin, û hemî taybetmendiyên din di heman demê de hatin guhertin.
Ger ez kopî bikim / etc / fstab ji pelek nû re, tarîx diguherin da ku nîşan bidin ku ew pelek nû ye:
$ 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
Lê heke ez tenê navê pelê biguhezînim bêyî ku naveroka wê biguhezînim, Linux dê tenê dema ku pel hate guheztin nûve bike:
$ 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
Van demjimêran ji bo hin bernameyên Unix pir bikêr in. Mînakî, biff bernameyek e ku gava di e-nameya we de peyamek nû hebe we agahdar dike. Niha hindik kes bikar tînin
Bername çawa dizane ku di nav qutiya we de nameya we ya nû heye? biff dema paşîn a guherandinê (gava ku pela inboxê bi peyamek e-nameyek nû hate nûve kirin) û dema gihîştina paşîn (cara paşîn a ku we e-nameya xwe xwend) berhev dike. Ger guhertin ji gihîştinê dereng çêbû, wê hingê biff dê fêm bike ku nameyek nû hatiye û dê we di derbarê wê de agahdar bike. Muwekîlê e-nameya Mutt bi heman rengî dixebite.
Ger hûn hewce ne ku statîstîkên karanîna pergala pelan berhev bikin û performansa xweş bikin, dema gihandina paşîn a paşîn jî bikêr e. Pêdivî ye ku rêvebirên pergalê zanibin ka kîjan tiştan têne gihîştin da ku ew li gorî pergala pelan mîheng bikin.
Lê piraniya bernameyên nûjen êdî ne hewceyî vê etîketê ne, ji ber vê yekê pêşniyarek hebû ku ew neyê bikar anîn. Di 2007 de, Linus Torvalds û çend pêşdebirên kernelê yên din di çarçoveyek pirsgirêkek performansê de demekê nîqaş kirin. Pêşdebirê kernel Linux Ingo Molnar li ser atime û pergala pelê ext3 xala jêrîn kir:
"Ew pir ecêb e ku her sermaseyek û serverek Linux-ê ji ber nûvekirinên domdar ên demkî rastî xirabûna performansa I/O ya berbiçav tê, her çend tenê du bikarhênerên rastîn hene: tmpwatch [ku dikare were mîheng kirin ku ctime bikar bîne, ji ber vê yekê ew ne pirsgirêkek mezin e] û hin amûrên hilanînê."
Lê mirov dîsa jî hin bernameyên ku hewceyê vê labelê ne bikar tînin. Ji ber vê yekê rakirina demê dê fonksiyona wan bişkîne. Pêşdebirên kernel Linux divê azadiya bikarhêner binpê nekin.
Çareseriya Silêman
Di nav belavkirinên Linuxê de gelek sepan hene û ji bilî vê, bikarhêner dikarin li gorî hewcedariyên xwe bernameyên din daxin û saz bikin. Ev avantajek bingehîn a OS-ya çavkaniya vekirî ye. Lê ev yek xweşbînkirina performansa pergala pelê we dijwar dike. Rakirina hêmanên çavkanî-dijwar dibe ku pergalê xera bike.
Wekî lihevkirinek, pêşdebirên kernel Linux vebijarkek nû ya relaytime destnîşan kirine ku armanc e ku balansek di navbera performans û lihevhatinê de çêbike:
atime tenê tê nûvekirin heke dema gihîştina berê ji dema guherandina an jî dema guherîna statûyê kêmtir be... Ji Linux 2.6.30 ve, kernel vê vebijarkê bi xweber bikar tîne (heta ku noatime diyar nebe)... Her weha, ji Linux 2.6.30. 1, dema gihîştina paşîn a pelê her gav tê nûve kirin heke ew ji XNUMX rojî zêdetir be.
Pergalên nûjen ên Linux (ji Linux 2.6.30, ku di 2009-an de hatî berdan) jixwe relaytime bikar tînin, ku divê performansek pir mezin bide. Ev tê vê wateyê ku hûn ne hewce ne ku hûn pelê mîheng bikin / etc / fstab, û bi relaytime re hûn dikarin xwe bispêrin xwerû.
Bi noatime re performansa pergalê çêtir dike
Lê heke hûn dixwazin pergala xwe guhezînin da ku performansa herî zêde bistînin, neçalakkirina demê hîn jî gengaz e.
Guhertina performansê dibe ku li ser ajokarên nûjen ên pir bilez (wekî NVME an Fast SSD) pir xuya nebe, lê li wir zêdebûnek piçûk heye.
Heke hûn dizanin ku hûn nermalava ku wextê hewce dike bikar neynin, hûn dikarin bi çalakkirina vebijarka noatime di pelê de performansê hinekî baştir bikin. /etc/fstab. Piştî vê yekê, kernel dê her dem bi domdarî nûve neke. Dema ku pergala pelan saz bikin vebijarka noatime bikar bînin:
/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
Dema ku hûn ji nû ve dest pê bikin dê guheztin bikeve meriyetê.
Li Mafên Malperê
Ma hûn serverek hewce ne ku hûn malpera xwe mêvandar bikin? Pargîdaniya me pêşkêşî dike
Source: www.habr.com