Atime eguneratzeak sistemaren errendimenduari eragiten dio. Zer gertatzen ari den eta zer egin horri buruz - irakurri artikulua.
Nire etxeko ordenagailuan Linux eguneratzen dudan bakoitzean arazo batzuk konpondu behar izaten ditut. Urteen poderioz, hori ohitura bihurtu da: nire fitxategien babeskopia egiten dut, sistema ezabatzen dut, dena hutsetik instalatzen dut, nire fitxategiak leheneratzen ditut eta, ondoren, nire aplikazio gogokoenak berriro instalatzen ditut. Sistemaren ezarpenak ere aldatzen ditut nire arabera. Batzuetan denbora gehiegi behar da. Eta duela gutxi buruhauste hau behar ote nuen galdetzen nion.
denboran Linux-eko fitxategien hiru denbora-zigiluetako bat da (geroago honi buruz gehiago). Bereziki, Linux sistema berriagoetan atime desgaitzea oraindik ere ideia ona izango ote zen galdetzen nion. Fitxategia sartzen den bakoitzean atime eguneratzen denez, sistemaren errendimenduan eragin handia duela konturatu nintzen.
Duela gutxi Fedora 32ra berritu nuen eta, ohituragatik, atime desgaitzen hasi nintzen. Pentsatu nuen: benetan behar al dut? Gai hau aztertzea erabaki nuen eta hau da zulatu nuena.
Fitxategien denbora-zigiluei buruzko apur bat
Hori asmatzeko, urrats bat egin behar duzu eta Linux fitxategi-sistemei buruzko zenbait gauza gogoratu eta nukleoak fitxategi eta direktorioen denbora-zigiluak nola markatzen dituen. Fitxategien eta direktorioen azken aldaketaren data ikus dezakezu komandoa exekutatuz ls -l (luzea) edo, besterik gabe, horri buruzko informazioa fitxategi-kudeatzailean begiratuz. Baina atzean, Linux nukleoak hainbat denbora-zigilu egiten ditu fitxategien eta direktorioen jarraipena:
- Noiz aldatu zen fitxategia azken aldiz (mtime)
- Noiz aldatu ziren azken aldiz fitxategiaren propietateak eta metadatuak (ctime)
- Noiz atzitu zen azkenekoz fitxategia (garaian)
- Komandoa erabil dezakezu statfitxategi edo direktorio bati buruzko informazioa ikusteko. Hona hemen fitxategia / etc / fstab Nire probako zerbitzari batetik:
$ 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
Hemen ikus dezakezu fitxategi hau 25ko apirilaren 2019ean sortu zela sistema instalatu nuenean. Nire fitxategia / etc / fstab 16ko maiatzaren 2019an aldatu zen azkenekoz, eta gainerako atributu guztiak aldi berean aldatu ziren.
Kopiatzen badut / etc / fstab fitxategi berri batera, datak aldatu egiten dira fitxategi berria dela adierazteko:
$ 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
Baina fitxategiari izena aldatu besterik ez badut bere edukia aldatu gabe, Linuxek fitxategia aldatu den unean soilik eguneratuko du:
$ 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
Denbora-zigilu hauek oso erabilgarriak dira Unix programa batzuetarako. Adibidez, biff zure posta elektronikoan mezu berri bat dagoenean jakinarazten dizun programa da. Gaur egun jende gutxik erabiltzen du
Nola daki programak zure sarrera-ontzian posta berria baduzu? biff-ek aldatutako azken ordua (sarrera-ontziaren fitxategia mezu elektroniko berri batekin eguneratu zenean) eta azken sarbide-ordua (zure mezu elektronikoa irakurri duzun azken aldia) konparatzen ditu. Aldaketa sarbidea baino beranduago gertatu bada, biffek gutun berri bat iritsi dela ulertuko du eta horren berri emango dizu. Mutt posta elektronikoko bezeroak modu berean funtzionatzen du.
Azken sarbide-zigilua ere erabilgarria da fitxategi-sistemaren erabilera-estatistikak bildu eta errendimendua doitzeko. Sistema-administratzaileek jakin behar dute zer objektu sartzen ari diren, fitxategi-sistema horren arabera konfiguratu ahal izateko.
Baina programa moderno gehienek ez dute etiketa hau behar, beraz, ez erabiltzeko proposamena zegoen. 2007an, Linus Torvalds eta nukleoko beste hainbat garatzailek atime eztabaidatu zuten errendimendu arazo baten testuinguruan. Ingo Molnar Linux nukleoaren garatzaileak honako puntu hau egin zuen atime eta ext3 fitxategi sistemari buruz:
"Nahiko arraroa da Linux mahaigain eta zerbitzari guztiek I/O errendimenduaren narriadura nabarmena jasaten dutela etengabeko atime eguneratzeen ondorioz, nahiz eta bi erabiltzaile erreal bakarrik egon: tmpwatch [ctime erabiltzeko konfigura daitekeena, beraz, ez da arazo handia] eta babeskopia tresna batzuk".
Baina jendeak oraindik ere etiketa hau behar duten programa batzuk erabiltzen ditu. Beraz, atime kentzeak haien funtzionaltasuna hautsiko du. Linux kerneleko garatzaileek ez lukete erabiltzailearen askatasuna urratu behar.
Salomonen irtenbidea
Aplikazio asko daude Linux-en banaketetan sartuta eta gainera, erabiltzaileek beste programa batzuk deskargatu eta instala ditzakete euren beharren arabera. Hau kode irekiko sistema eragilearen abantaila nagusi bat da. Baina horrek zaildu egiten du zure fitxategi-sistemaren errendimendua optimizatzea. Baliabide intentsiboko osagaiak kentzeak sistema eten dezake.
Konpromiso gisa, Linux kernel-eko garatzaileek erreprodukzio-denbora aukera berri bat aurkeztu dute, errendimenduaren eta bateragarritasunaren arteko oreka lortu nahi duena:
atime eguneratzen da aurreko sarbide-denbora oraingo aldaketa- edo egoera-aldaketa-denbora baino txikiagoa bada... Linux 2.6.30-tik aurrera, nukleoak aukera hau lehenespenez erabiltzen du (noatime zehaztu ezean)... Gainera, Linux 2.6.30-tik aurrera. 1, fitxategi baten azken sarbide-ordua beti eguneratzen da egun bat baino gehiago badu.
Linux sistema modernoek (Linux 2.6.30etik, 2009an kaleratua) dagoeneko erreleboa erabiltzen dute, eta horrek errendimenduaren bultzada handia eman beharko luke. Horrek esan nahi du ez duzula fitxategia konfiguratu beharrik / etc / fstab, eta errelebo-denborarekin lehenetsian fida zaitezke.
Sistemaren errendimendua hobetzea noatime-rekin
Baina zure sistema sintonizatu nahi baduzu errendimendu handiena lortzeko, oraindik posible da atime desgaitzea.
Baliteke errendimendu-aldaketa oso nabarmena ez izatea disko moderno oso bizkorretan (adibidez, NVME edo Fast SSD), baina igoera txiki bat dago hor.
Badakizu ez duzula atime behar duen softwarerik erabiltzen, errendimendua apur bat hobe dezakezu fitxategian noatime aukera gaituta. /etc/fstab. Horren ondoren, nukleoa ez da etengabe eguneratuko. Erabili noatime aukera fitxategi-sistema muntatzean:
/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
Aldaketak berrabiarazten duzun hurrengoan izango dute eragina.
Publizitatearen Eskubideei buruz
Zerbitzari bat behar al duzu zure webgunea ostatatzeko? Gure enpresak eskaintzen ditu
Iturria: www.habr.com