Noatime seçimi Linux sistemlərinin performansını necə və niyə yaxşılaşdırır

Atime yeniləməsi sistemin işinə təsir edir. Orada nə baş verir və bununla bağlı nə etmək lazımdır - məqaləni oxuyun.

Noatime seçimi Linux sistemlərinin performansını necə və niyə yaxşılaşdırır
Ev kompüterimdə Linux-u nə vaxt yeniləsəm, müəyyən problemləri həll etməliyəm. İllər keçdikcə bu vərdiş halına gəldi: mən fayllarımın ehtiyat nüsxəsini çıxarıram, sistemi silirəm, hər şeyi sıfırdan quraşdırıram, fayllarımı bərpa edirəm, sonra sevimli proqramlarımı yenidən quraşdırıram. Mən də özümə uyğun olaraq sistem parametrlərini dəyişirəm. Bəzən çox vaxt aparır. Və bu yaxınlarda fikirləşdim ki, mənə bu baş ağrısı lazımdırmı?

vaxt Linux-da fayllar üçün üç vaxt damğasından biridir (bu barədə daha sonra). Xüsusilə, daha yeni Linux sistemlərində vaxtı söndürməyin yaxşı bir fikir olub-olmayacağı ilə maraqlanırdım. Fayla hər dəfə daxil olanda atime yeniləndiyi üçün bunun sistemin işinə əhəmiyyətli təsir etdiyini başa düşdüm.
Mən bu yaxınlarda Fedora 32-ə yüksəltdim və vərdişdən kənar olaraq vaxtı söndürməklə başladım. Fikirləşdim: həqiqətən buna ehtiyacım varmı? Mən bu məsələni araşdırmaq qərarına gəldim və mən bunu kəşf etdim.

Fayl vaxt damğaları haqqında bir az

Bunu anlamaq üçün bir addım geri çəkilməli və Linux fayl sistemləri və nüvənin faylları və qovluqları necə vaxt möhürlədiyi haqqında bir neçə şeyi xatırlamalısınız. Komandanı işlətməklə faylların və qovluqların son dəyişdirilmiş tarixini görə bilərsiniz ls -l (uzun) və ya sadəcə fayl menecerində bu barədə məlumatlara baxmaqla. Lakin pərdə arxasında Linux nüvəsi fayl və qovluqlar üçün bir neçə vaxt ştamplarını izləyir:

  1. Fayl sonuncu dəfə nə vaxt dəyişdirilib (mtime)
  2. Fayl xüsusiyyətləri və metadata sonuncu dəfə nə vaxt dəyişdirilib (ctime)
  3. Fayla sonuncu dəfə nə vaxt daxil olub (atime)
  4. əmrindən istifadə edə bilərsiniz statfayl və ya qovluq haqqında məlumatı görmək üçün. Budur fayl / etc / fstab test serverlərimdən birindən:

$ 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

Burada görə bilərsiniz ki, bu fayl 25 aprel 2019-cu ildə sistemi quraşdırarkən yaradılıb. Mənim faylım / etc / fstab sonuncu dəfə 16 may 2019-cu ildə dəyişdirilib və bütün digər atributlar təxminən eyni vaxtda dəyişdirilib.

kopyalasam / etc / fstab yeni fayla çevrildikdə, onun yeni fayl olduğunu göstərmək üçün tarixlər dəyişir:

$ 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

Ancaq məzmununu dəyişmədən faylın adını dəyişdirsəm, Linux yalnız faylın dəyişdirildiyi vaxtı yeniləyəcək:

$ 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 vaxt ştampları müəyyən Unix proqramları üçün çox faydalıdır. Məsələn, biff e-poçtunuzda yeni mesaj olduqda sizi xəbərdar edən proqramdır. İndi az adam istifadə edir biff, lakin poçt qutularının sistem üçün lokal olduğu günlərdə biff olduqca yaygın idi.

Proqram gələnlər qutunuzda yeni məktubların olub olmadığını necə bilir? biff son dəyişdirilmiş vaxtı (gələnlər qutusu faylı yeni e-poçt mesajı ilə yeniləndikdə) və son giriş vaxtını (e-poçtunuzu sonuncu dəfə oxuduğunuz) müqayisə edir. Dəyişiklik girişdən gec baş veribsə, biff yeni məktubun gəldiyini başa düşəcək və bu barədə sizə məlumat verəcəkdir. Mutt e-poçt müştərisi eyni şəkildə işləyir.

Fayl sistemindən istifadə statistikasını toplamaq və performansı tənzimləmək lazımdırsa, son giriş vaxt damğası da faydalıdır. Sistem administratorları fayl sistemini müvafiq olaraq konfiqurasiya edə bilməsi üçün hansı obyektlərə daxil olduğunu bilməlidirlər.

Amma müasir proqramların əksəriyyətinə artıq bu etiket lazım deyil, ona görə də ondan istifadə etməmək təklifi var idi. 2007-ci ildə Linus Torvalds və bir neçə digər kernel tərtibatçıları performans məsələsi kontekstində müzakirə etdilər. Linux nüvəsi inkişaf etdiricisi Ingo Molnar atime və ext3 fayl sistemi haqqında aşağıdakı fikri söylədi:

"Çox qəribədir ki, hər bir Linux masa üstü və serveri daimi vaxt yeniləmələri səbəbindən nəzərəçarpacaq dərəcədə I/O performansının azalmasına məruz qalır, baxmayaraq ki, yalnız iki real istifadəçi var: tmpwatch [ctime istifadə etmək üçün konfiqurasiya edilə bilər, ona görə də böyük problem deyil] və bəzi ehtiyat alətləri."

Ancaq insanlar hələ də bu etiketə ehtiyacı olan bəzi proqramlardan istifadə edirlər. Beləliklə, atime silmək onların funksionallığını pozacaq. Linux nüvəsi tərtibatçıları istifadəçi azadlığını pozmamalıdır.

Süleymanın qərarı

Linux paylamalarına çoxlu proqramlar daxildir və bundan əlavə, istifadəçilər ehtiyaclarına uyğun olaraq digər proqramları yükləyə və quraşdıra bilərlər. Bu, açıq mənbəli OS-nin əsas üstünlüyüdür. Lakin bu, fayl sisteminizin performansını optimallaşdırmağı çətinləşdirir. Resurs tutumlu komponentlərin çıxarılması sistemi poza bilər.

Güzəşt olaraq, Linux nüvəsi tərtibatçıları performans və uyğunluq arasında tarazlıq yaratmaq üçün nəzərdə tutulmuş yeni relay vaxtı seçimini təqdim etdilər:

atime yalnız əvvəlki giriş vaxtı cari modifikasiyadan və ya statusun dəyişdirilməsi vaxtından az olduqda yenilənir... Linux 2.6.30-dan bəri kernel bu variantı defolt olaraq istifadə edir (noatime göstərilməyibsə)... Həmçinin, Linux 2.6.30-dan bəri. 1, faylın son giriş vaxtı XNUMX gündən artıqdırsa, həmişə yenilənir.

Müasir Linux sistemləri (2.6.30-cu ildə buraxılmış Linux 2009-dan bəri) artıq relay zamanından istifadə edir ki, bu da həqiqətən böyük performans artırmalıdır. Bu o deməkdir ki, faylı konfiqurasiya etməyə ehtiyac yoxdur / etc / fstab, və relaytime ilə siz standarta etibar edə bilərsiniz.

Noatime ilə sistem performansının yaxşılaşdırılması

Ancaq sisteminizi maksimum performans əldə etmək üçün tənzimləmək istəyirsinizsə, vaxtı söndürmək hələ də mümkündür.

Performans dəyişikliyi çox sürətli müasir disklərdə (məsələn, NVME və ya Fast SSD) çox nəzərə çarpmaya bilər, lakin orada kiçik bir artım var.

Əgər vaxt tələb edən proqram təminatından istifadə etmədiyinizi bilirsinizsə, faylda noatime seçimini aktiv etməklə performansı bir qədər yaxşılaşdıra bilərsiniz. /etc/fstab. Bundan sonra kernel daim yenilənməyəcək. Fayl sistemini quraşdırarkən noatime seçimindən istifadə edin:

/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

Dəyişikliklər növbəti dəfə yenidən başladıqda qüvvəyə minəcək.

Reklam Hüquqları haqqında

Veb saytınızı yerləşdirmək üçün serverə ehtiyacınız varmı? Şirkətimiz təklif edir etibarlı serverlər gündəlik və ya birdəfəlik ödənişlə hər bir server 500 Meqabitlik İnternet kanalına qoşulur və pulsuz olaraq DDoS hücumlarından qorunur!

Noatime seçimi Linux sistemlərinin performansını necə və niyə yaxşılaşdırır

Mənbə: www.habr.com

Добавить комментарий