PĂ«rditĂ«simi i atime ndikon nĂ« performancĂ«n e sistemit. ĂfarĂ« po ndodh dhe çfarĂ« tĂ« bĂ«ni me kĂ«tĂ« - lexoni nĂ« artikull.

Sa herë që përditësoj Linux në kompjuterin tim personal, më duhet të zgjidh disa çështje. Me kalimin e viteve, kjo është bërë zakon: krijoj kopje rezervë të skedarëve të mi, fshij sistemin, instaloj gjithçka nga fillimi, rikthej skedarët e mi, pastaj rinstaloj aplikacionet e mia të preferuara. Gjithashtu ndryshoj konfigurimet e sistemit sipas dëshirës time. Ndonjëherë, kjo merr shumë kohë. Dhe së fundmi, fillova të mendoj nëse më nevojitet ky shqetësim.
atime â njĂ« nga tre shenjat e kohĂ«s pĂ«r skedarĂ«t nĂ« Linux (mĂ« shumĂ« pĂ«r kĂ«tĂ« mĂ« vonĂ«). NĂ« veçanti, pyesja veten nĂ«se ende duhej tĂ« çaktivizoja atime nĂ« sistemet mĂ« tĂ« reja Linux. Duke pasur parasysh qĂ« atime pĂ«rditĂ«sohet çdo herĂ« kur i qasemi njĂ« skedari, kuptova se ka njĂ« ndikim tĂ« konsiderueshĂ«m nĂ« performancĂ«n e sistemit.
Së fundmi, u përditësova në Fedora 32 dhe për zakon, fillova me çaktivizimin e atime. Mendova: a më nevojitet ajo në përgjithësi? Vendosa të studioj këtë çështje dhe këtu është ajo që zbuloj.
Pak për shenjat e kohës të skedarëve
Për të kuptuar, duhet të hidhni një hap prapa dhe të kujtoni disa gjëra rreth sistemeve të skedarëve Linux dhe se si bërthama i cakton vulat temporale skedarëve dhe katalogëve. Mund të shihni datën e ndryshimit të fundit të skedarëve dhe katalogëve duke ekzekutuar komandën ls -l (i gjatë) ose thjesht duke i parë informacionet në menaxherin e skedarëve. Por pas skenës, bërthama Linux ndjek disa vulat temporale për skedarët dhe katalogët:
- Kur është modifikuar për herë të fundit skedari (mtime)
- Kur janë ndryshuar për herë të fundit pronësitë dhe metadatet e skedarit (ctime)
- Kur është aksesuar për herë të fundit skedari (atime)
- Ju mund të përdorni komandën stat, për të parë të dhënat e skedarit ose të katalogut. Ja skedari /etc/fstab nga njëri nga serverët e mi testues:
$ 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 -0500Këtu shihet se ky skedar është krijuar më 25 prill 2019, kur kam instaluar sistemin. Skedari im /etc/fstab u ndryshua për herë të fundit më 16 maj 2019, dhe të gjitha atributet e tjera u ndryshuan rreth të njëjtës kohë.
Nëse kopjoj /etc/fstab në një skedë të re, datat ndryshojnë, duke treguar se është një skedë e re:
$ 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 -0500Por nëse thjesht e ndryshoj emrin e skedës, pa e ndryshuar përmbajtjen e saj, Linux do të përditësojë vetëm kohën e ndryshimit të skedës:
$ 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 -0500Këto markat e kohës janë shumë të dobishme për disa programe Unix. Për shembull, biff është një program që ju njofton për shfaqjen e një mesazhi të ri në email. Tani, pak njerëz e përdorin , porë që kutitë postare ishin lokale për sistemin, biff ishte mjaft i zakonshëm.
Si e di programi nëse keni postë të re në hyrje? biff krahason kohën e fundit të ndryshimit (kur skedari i postës së hyrjes është aktualizuar me një mesazh të ri) dhe kohën e fundit të aksesit (herën e fundit që keni lexuar postën tuaj elektronike). Nëse ndodhi një ndryshim pas aksesit, atëherë biff do të jetë në gjendje të kuptojë se ka ardhur një mesazh i ri dhe do t'ju njoftojë për këtë. Klienti i postës Mutt funksionon përafërsisht në të njëjtën mënyrë.
Shenja e kohës së fundit të aksesit gjithashtu është e dobishme nëse ju nevojitet të mbledhni statistika për përdorimin e sistemit të skedarëve dhe të optimizoni performancën. Administratorët e sistemeve duhet të dinë cilat objekte janë aksesuar për të konfiguruar skedarin e sistemit përkatësisht.
Por shumicën e programeve moderne, kjo shenjë nuk është më e nevojshme, prandaj u propozua mos ta përdorim. Në vitin 2007, Linus Torvalds dhe disa zhvillues të tjerë të bërthamës diskutuan rreth atime në kontekstin e problemeve me performancën. Zhvilluesi i bërthamës Linux, Ingo Molnar, bëri këtë vërejtje në lidhje me atime dhe sistemin e skedarëve ext3:
«ĂshtĂ« mjaft e çuditshme qĂ« çdo desktop dhe server Linux pĂ«sojnĂ« njĂ« rĂ«nie tĂ« dukshme tĂ« performancĂ«s sĂ« hyrjes-daljes pĂ«r shkak tĂ« azhurnimeve tĂ« vazhdueshme atime, megjithĂ«se pĂ«rdoruesit e vĂ«rtetĂ« janĂ« vetĂ«m dy: tmpwatch [i cili mund tĂ« konfigurohet pĂ«r tĂ« pĂ«rdorur ctime, kĂ«shtu qĂ« kjo nuk Ă«shtĂ« njĂ« problem i madh] dhe disa mjete rezervimi».
Por njerëzit vazhdojnë të përdorin disa programe që kanë nevojë për këtë shenjë. Pra, fshirja e atime do të dëmtonte funksionimin e tyre. Zhvilluesit e bërthamës Linux nuk duhet të cënojnë lirinë e përdoruesit.
Zgjidhje Solomonike
Distribucioni Linux përmban një sërë aplikacionesh, dhe përveç kësaj, përdoruesit mund të shkarkojnë dhe instalojnë programe të tjera sipas nevojave të tyre. Ky është një avantajh kyç i OS me kod të hapur. Megjithatë, kjo e bën optimizimin e performancës së sistemit të file-ve më të vështirë. Eliminimi i përbërësve që përfshijnë shumë burime mund të prishë funksionimin e sistemit.
Si një kompromis, zhvilluesit e bërthamës Linux kanë implementuar një opsion të ri relaytime, i cili synon të sigurojë një ekuilibër mes performancës dhe kompatibilitetit:
atime përditësohet vetëm nëse koha e mëparshme e aksesit është më e vogël se koha e tanishme e modifikimit ose ndryshimit të statusit... Që nga Linux 2.6.30, bërthama përdor këtë opsion si të parazgjedhur (nëse nuk është specifikuar noatime)... Për më tepër, që nga Linux 2.6.30, koha e fundit e aksesit të skedarit gjithmonë përditësohet nëse është më shumë se 1 ditë.
Sistemet moderne Linux (që nga Linux 2.6.30, e lëshuar në vitin 2009) tashmë përdorin relaytime, gjë që duhet të ofrojë një rritje të konsiderueshme të performancës. Kjo do të thotë se nuk keni nevojë ta rregulloni skedarin /etc/fstab, dhe me relaytime mund të mbështeteni në vlerën e parazgjedhur.
Rritja e performancës së sistemit me noatime
Por nëse dëshironi të konfiguroni sistemin tuaj për të arritur maksimumin e performancës, çaktivizimi i atime është ende i mundur.
Ndryshimi i performancës mund të mos jetë shumë i dukshëm në diskët modernë shumë të shpejtë (si NVME ose SSD të shpejtë), por ka një përfitim të vogël.
Nëse e dini që nuk po përdorni software që kërkon atime, mund të rrisni pak performancën duke aktivizuar opsionin noatime në skedarin /etc /fstab. Pas kësaj, bërthama nuk do të përditësojë vazhdimisht atime. Përdorni opsionin noatime gjatë montimit të sistemit të skedarëve:
/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 0Ndryshimet do të hyjnë në fuqi pas rinisjes së ardhshme.
Si reklamë
Po kërkoni një server për hostimin e faqes? Kompania jonë ofron me pagesë ditore ose një herë, secili server është i lidhur me kanalin e internetit prej 500 Megabit dhe është i mbrojtur falas nga sulmet DDoS!
Burimi: habr.com
