Momwe ndi chifukwa chake njira ya noatime imathandizira magwiridwe antchito a Linux

Kusintha kwa nthawi kumakhudza magwiridwe antchito. Zomwe zikuchitika kumeneko ndi zoyenera kuchita - werengani nkhaniyi.

Momwe ndi chifukwa chake njira ya noatime imathandizira magwiridwe antchito a Linux
Nthawi zonse ndikasintha Linux pakompyuta yanga yakunyumba, ndimayenera kuthana ndi zovuta zina. Kwa zaka zambiri, izi zakhala chizolowezi: ndimasunga mafayilo anga, kupukuta dongosolo, kuyika chilichonse kuyambira pachiyambi, kubwezeretsa mafayilo anga, ndikukhazikitsanso mapulogalamu omwe ndimakonda. Ndimasinthanso zoikamo kuti zigwirizane ndi ine ndekha. Nthawi zina zimatenga nthawi yochuluka kwambiri. Ndipo posachedwa ndidadzifunsa ngati ndikufunika mutuwu.

nthawi ndi imodzi mwamasitampu atatu a mafayilo mu Linux (zambiri pa izi pambuyo pake). Makamaka, ndimaganiza ngati lingakhale lingaliro labwino kuletsa nthawi pamakina aposachedwa a Linux. Popeza atime imasinthidwa nthawi iliyonse yomwe fayilo imapezeka, ndinazindikira kuti imakhudza kwambiri machitidwe a dongosolo.
Posachedwa ndakweza ku Fedora 32 ndipo, chifukwa cha chizolowezi, ndidayamba kuletsa nthawi. Ndinaganiza: kodi ndikuzifunadi? Ndinaganiza zophunzira nkhaniyi ndipo izi ndi zomwe ndinafukula.

Pang'ono ndi zilembo zanthawi ya fayilo

Kuti mumvetse, muyenera kubwerera mmbuyo ndikukumbukira zinthu zingapo zamafayilo a Linux komanso momwe ma kernel amasinthira mafayilo ndi zolemba. Mutha kuwona tsiku lomaliza losinthidwa la mafayilo ndi zolemba poyendetsa lamulo ls -l (kutalika) kapena kungoyang'ana zambiri za izo mu fayilo manager. Koma kuseri kwazithunzi, kernel ya Linux imasunga masitampu angapo a mafayilo ndi maupangiri:

  1. Kodi fayiloyo idasinthidwa liti (mtime)
  2. Kodi ndi liti nthawi yomaliza yomwe mafayilo ndi metadata zidasinthidwa (ctime)
  3. Kodi fayiloyo idapezeka liti (atime)
  4. Mutha kugwiritsa ntchito lamulo statkuti muwone zambiri za fayilo kapena chikwatu. Nayi fayilo / etc / fstab kuchokera ku seva yanga yoyesera:

$ 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

Apa mutha kuwona kuti fayiloyi idapangidwa pa Epulo 25, 2019 pomwe ndidayika makinawo. Fayilo yanga / etc / fstab idasinthidwa komaliza pa Meyi 16, 2019, ndipo zina zonse zidasinthidwa nthawi yomweyo.

Ngati ndikope / etc / fstab ku fayilo yatsopano, masiku amasintha kusonyeza kuti ndi fayilo yatsopano:

$ 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

Koma ngati ndingotchulanso fayiloyo osasintha zomwe zili mkati mwake, Linux idzangosintha nthawi yomwe fayiloyo idasinthidwa:

$ 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

Zizindikiro za nthawi izi ndizothandiza kwambiri pamapulogalamu ena a Unix. Mwachitsanzo, biff ndi pulogalamu yomwe imakudziwitsani pakakhala uthenga watsopano mu imelo yanu. Masiku ano anthu ochepa amagwiritsa ntchito biff, koma m'masiku omwe mabokosi amakalata anali am'deralo, biff inali yofala kwambiri.

Kodi pulogalamuyo imadziwa bwanji ngati muli ndi makalata atsopano mubokosi lanu? biff imafanizira nthawi yomaliza yosinthidwa (pamene fayilo ya bokosi lolowera inasinthidwa ndi uthenga watsopano wa imelo) ndi nthawi yomaliza yofikira (nthawi yomaliza yomwe mudawerenga imelo yanu). Ngati kusintha kunachitika mochedwa kuposa kupeza, ndiye biff adzamvetsetsa kuti kalata yatsopano yafika ndipo idzakudziwitsani za izo. Makasitomala a imelo a Mutt amagwira ntchito mofananamo.

Chidindo chomaliza chofikira chimakhalanso chothandiza ngati mukufuna kusonkhanitsa ziwerengero zamakina ogwiritsira ntchito mafayilo ndikuyimba. Oyang'anira madongosolo amayenera kudziwa kuti ndi zinthu ziti zomwe zikufikiridwa kuti athe kukonza mafayilo amafayilo moyenera.

Koma mapulogalamu ambiri amakono safunanso chizindikiro ichi, kotero panali lingaliro lakuti asagwiritse ntchito. Mu 2007, a Linus Torvalds ndi ena angapo opanga ma kernel adakambirana panthawi yomwe ali ndi vuto la magwiridwe antchito. Wopanga ma kernel a Linux Ingo Molnar adanena izi za nthawi ndi fayilo ya ext3:

"Ndizodabwitsa kuti kompyuta iliyonse ya Linux ndi seva imakhala ndi kuwonongeka kwa magwiridwe antchito a I/O chifukwa cha zosintha zanthawi zonse, ngakhale pali ogwiritsa ntchito awiri okha: tmpwatch [omwe amatha kusinthidwa kuti agwiritse ntchito ctime, ndiye kuti si vuto lalikulu] ndipo zida zina zosungira."

Koma anthu amagwiritsabe ntchito mapulogalamu omwe amafunikira chizindikirochi. Chifukwa chake kuchotsa nthawi kumaphwanya magwiridwe antchito awo. Opanga ma kernel a Linux sayenera kuphwanya ufulu wa ogwiritsa ntchito.

Yankho la Solomo

Pali mapulogalamu ambiri omwe akuphatikizidwa mu magawo a Linux ndipo kuwonjezera apo, ogwiritsa ntchito amatha kutsitsa ndikuyika mapulogalamu ena malinga ndi zosowa zawo. Uwu ndi mwayi waukulu wa OS yotseguka. Koma izi zimapangitsa kuti zikhale zovuta kukhathamiritsa magwiridwe antchito a fayilo yanu. Kuchotsa zida zogwiritsa ntchito kwambiri kungasokoneze dongosolo.

Monga kunyengerera, opanga ma kernel a Linux abweretsa njira yatsopano yolumikizirana yomwe cholinga chake ndi kulinganiza pakati pa magwiridwe antchito ndi kuyanjana:

atime imasinthidwa pokhapokha ngati nthawi yofikira kale ili yochepa kuposa nthawi yosinthidwa kapena kusintha kwa chikhalidwe ... Popeza Linux 2.6.30, kernel imagwiritsa ntchito njirayi mwachisawawa (pokhapokha ngati noatime yatchulidwa) ... Komanso, kuyambira Linux 2.6.30 . 1, nthawi yomaliza yofikira fayilo imasinthidwa nthawi zonse ngati ili yopitilira tsiku limodzi.

Makina amakono a Linux (kuyambira Linux 2.6.30, yomwe idatulutsidwa mu 2009) imagwiritsa ntchito nthawi yolumikizirana kale, yomwe ikuyenera kupititsa patsogolo magwiridwe antchito. Izi zikutanthauza kuti simuyenera kukonza fayilo / etc / fstab, ndipo ndi relaytime mutha kudalira zosasintha.

Kupititsa patsogolo magwiridwe antchito ndi noatime

Koma ngati mukufuna kusintha makina anu kuti agwire bwino ntchito, kulepheretsa nthawi kumakhala kotheka.

Kusintha kwa magwiridwe antchito sikungawonekere pamayendedwe amakono othamanga kwambiri (monga NVME kapena Fast SSD), koma pali kuwonjezeka pang'ono pamenepo.

Ngati mukudziwa kuti simukugwiritsa ntchito mapulogalamu omwe amafunikira nthawi, mutha kusintha magwiridwe antchito pang'ono poyambitsa njira ya noatime mufayilo. /etc/fstab. Pambuyo pake, kernel sichidzasintha nthawi zonse. Gwiritsani ntchito njira ya noatime mukamayika mafayilo:

/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

Zosinthazi zidzachitika mukadzayambiranso.

Pa Ufulu Wotsatsa

Kodi mukufuna seva kuti mulandire tsamba lanu? Kampani yathu imapereka maseva odalirika ndi malipiro a tsiku ndi tsiku kapena kamodzi, seva iliyonse imalumikizidwa ndi njira ya intaneti ya 500 Megabits ndipo imatetezedwa ku DDoS kwaulere!

Momwe ndi chifukwa chake njira ya noatime imathandizira magwiridwe antchito a Linux

Source: www.habr.com

Kuwonjezera ndemanga