Qanday va nima uchun noatime opsiyasi Linux tizimlarining ish faoliyatini yaxshilaydi

Atime yangilanishi tizimning ishlashiga ta'sir qiladi. U erda nima sodir bo'lmoqda va bu haqda nima qilish kerak - maqolani o'qing.

Qanday va nima uchun noatime opsiyasi Linux tizimlarining ish faoliyatini yaxshilaydi
Men har doim uy kompyuterimda Linuxni yangilaganimda, ba'zi muammolarni hal qilishim kerak. Yillar davomida bu odat bo'lib qoldi: men fayllarimni zaxiralayman, tizimni o'chirib tashlayman, hamma narsani noldan o'rnataman, fayllarimni tiklayman, keyin sevimli ilovalarimni qayta o'rnataman. Men tizim sozlamalarini o'zimga mos ravishda o'zgartiraman. Ba'zan bu juda ko'p vaqtni oladi. Va yaqinda men bu bosh og'rig'i kerakmi, deb o'yladim.

vaqt Linuxdagi fayllar uchun uchta vaqt belgilaridan biri (bu haqda keyinroq). Xususan, men so'nggi Linux tizimlarida vaqtni o'chirib qo'yish yaxshi fikr bo'ladimi, deb o'ylardim. Faylga har safar kirishda atime yangilanganligi sababli, men bu tizimning ishlashiga sezilarli ta'sir ko'rsatishini angladim.
Men yaqinda Fedora 32 ga yangiladim va odatdagidan ko'ra atime o'chirib qo'yishni boshladim. Men o'yladim: menga haqiqatan ham kerakmi? Men bu masalani o'rganishga qaror qildim va men qazib oldim.

Fayl vaqt belgilari haqida bir oz

Buni tushunish uchun siz bir qadam orqaga qaytishingiz va Linux fayl tizimlari va yadro fayllar va kataloglarni qanday vaqt belgilarini belgilashi haqida bir necha narsalarni eslab qolishingiz kerak. Buyruqni ishga tushirish orqali fayllar va kataloglarning oxirgi o'zgartirilgan sanasini ko'rishingiz mumkin ls -l (uzun) yoki oddiygina fayl menejerida bu haqdagi ma'lumotlarni ko'rish orqali. Ammo sahna ortida Linux yadrosi fayllar va kataloglar uchun bir nechta vaqt belgilarini kuzatib boradi:

  1. Fayl oxirgi marta qachon o'zgartirilgan (mtime)
  2. Fayl xususiyatlari va metadata oxirgi marta qachon o'zgartirilgan (ctime)
  3. Faylga oxirgi marta qachon kirgan (atime)
  4. Buyruqdan foydalanishingiz mumkin Davlatfayl yoki katalog haqidagi ma'lumotlarni ko'rish uchun. Mana fayl / etc / fstab sinov serverlarimdan biridan:

$ 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

Bu erda siz ushbu fayl 25 yil 2019 aprelda tizimni o'rnatganimda yaratilganligini ko'rishingiz mumkin. Mening faylim / etc / fstab oxirgi marta 16-yil 2019-mayda o‘zgartirilgan va boshqa barcha atributlar bir vaqtning o‘zida o‘zgartirilgan.

Men nusxa olsam / etc / fstab yangi faylga, sanalar yangi fayl ekanligini ko'rsatish uchun o'zgaradi:

$ 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

Agar men faylni mazmunini o'zgartirmasdan nomini o'zgartirsam, Linux faqat fayl o'zgartirilgan vaqtni yangilaydi:

$ 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

Bu vaqt belgilari muayyan Unix dasturlari uchun juda foydali. Misol uchun, biff - bu sizning elektron pochtangizga yangi xabar kelganda sizni xabardor qiladigan dastur. Hozirgi kunda kam odam foydalanadi biff, lekin pochta qutilari tizim uchun mahalliy bo'lgan kunlarda biff juda keng tarqalgan edi.

Dastur sizning pochta qutingizda yangi xat borligini qanday biladi? biff oxirgi o'zgartirilgan vaqtni (inbox fayli yangi elektron pochta xabari bilan yangilanganda) va oxirgi kirish vaqtini (e-pochtangizni oxirgi marta o'qiganingizda) solishtiradi. Agar o'zgarish kirishdan kechroq sodir bo'lsa, u holda biff yangi xat kelganini tushunadi va bu haqda sizni xabardor qiladi. Mutt elektron pochta mijozi xuddi shunday ishlaydi.

Oxirgi kirish vaqt tamg'asi fayl tizimidan foydalanish statistikasini to'plash va ishlashni sozlash kerak bo'lsa ham foydali bo'ladi. Tizim ma'murlari fayl tizimini mos ravishda sozlashlari uchun qanday ob'ektlarga kirishni bilishlari kerak.

Ammo zamonaviy dasturlarning aksariyati endi bu belgiga muhtoj emas, shuning uchun uni ishlatmaslik taklifi paydo bo'ldi. 2007 yilda Linus Torvalds va boshqa bir qator yadro ishlab chiquvchilari ishlash muammosi kontekstida muhokama qilishdi. Linux yadrosi ishlab chiqaruvchisi Ingo Molnar atime va ext3 fayl tizimi haqida quyidagi fikrni aytdi:

“Har bir Linux ish stoli va serveri doimiy yangilanishlar tufayli kiritish-chiqarish unumdorligi sezilarli darajada yomonlashishi juda g‘alati, garchi faqat ikkita haqiqiy foydalanuvchi bo‘lsa ham: tmpwatch [uni ctime ishlatish uchun sozlash mumkin, shuning uchun bu katta muammo emas] va ba'zi zaxira vositalari."

Ammo odamlar hali ham ushbu belgiga muhtoj bo'lgan ba'zi dasturlardan foydalanishadi. Shunday qilib, atimeni olib tashlash ularning funksionalligini buzadi. Linux yadrosini ishlab chiquvchilari foydalanuvchi erkinligini buzmasligi kerak.

Sulaymonning yechimi

Linux distributivlarida ko'plab ilovalar mavjud va bundan tashqari, foydalanuvchilar o'z ehtiyojlariga ko'ra boshqa dasturlarni yuklab olishlari va o'rnatishlari mumkin. Bu ochiq kodli operatsion tizimning asosiy afzalligi. Ammo bu fayl tizimingiz ish faoliyatini optimallashtirishni qiyinlashtiradi. Resurs talab qiladigan komponentlarni olib tashlash tizimni buzishi mumkin.

Murosaga kelish uchun Linux yadrosini ishlab chiquvchilari ishlash va moslik o'rtasidagi muvozanatni saqlashga mo'ljallangan yangi relaytime variantini taqdim etdilar:

atime faqat oldingi kirish vaqti joriy o'zgartirish yoki holatni o'zgartirish vaqtidan kamroq bo'lsa yangilanadi... Linux 2.6.30 dan boshlab yadro bu variantni sukut bo'yicha ishlatadi (agar noatime belgilanmagan bo'lsa)... Shuningdek, Linux 2.6.30 dan boshlab. 1, agar fayl XNUMX kundan ortiq bo'lsa, oxirgi kirish vaqti har doim yangilanadi.

Zamonaviy Linux tizimlari (2.6.30-yilda chiqarilgan Linux 2009-dan beri) allaqachon relay vaqtini ishlatadi, bu esa haqiqatan ham katta ishlashni oshirishi kerak. Bu sizga faylni sozlashingiz shart emasligini anglatadi / etc / fstab, va relaytime bilan siz sukut bo'yicha ishonishingiz mumkin.

Noatime bilan tizim ish faoliyatini yaxshilash

Ammo agar siz tizimingizni maksimal unumdorlikka erishish uchun sozlashni istasangiz, vaqtni o'chirib qo'yish hali ham mumkin.

Ishlashning o'zgarishi juda tez zamonaviy drayvlarda (masalan, NVME yoki Fast SSD) unchalik sezilmasligi mumkin, ammo u erda kichik o'sish bor.

Agar siz vaqt talab qiladigan dasturiy ta'minotdan foydalanmayotganingizni bilsangiz, fayldagi noatime opsiyasini yoqish orqali unumdorlikni biroz oshirishingiz mumkin. /etc/fstab. Shundan so'ng, yadro doimiy ravishda yangilanmaydi. Fayl tizimini o'rnatishda noatime opsiyasidan foydalaning:

/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

O'zgarishlar keyingi safar qayta ishga tushirilganda kuchga kiradi.

Reklama huquqlari to'g'risida

Sizga veb-saytingizni joylashtirish uchun server kerakmi? Kompaniyamiz taklif qiladi ishonchli serverlar kunlik yoki bir martalik toʻlov bilan har bir server 500 Megabitlik internet kanaliga ulangan va DDoS hujumlaridan bepul himoyalangan!

Qanday va nima uchun noatime opsiyasi Linux tizimlarining ish faoliyatini yaxshilaydi

Manba: www.habr.com

a Izoh qo'shish