`noatime` seçeneğinin performansı nasıl ve neden iyileştirdiği Linux- sistem

Atime güncellemesi sistem performansını etkiler. Orada neler oluyor ve bu konuda ne yapılmalı - makaleyi okuyun.

`noatime` seçeneğinin performansı nasıl ve neden iyileştirdiği Linux- sistem
Her güncelleme yaptığımda Linux Ev bilgisayarımda bazı işlerle uğraşmak zorundayım. Yıllar içinde bu bir alışkanlık haline geldi: Dosyalarımı yedekliyorum, sistemi siliyorum, her şeyi sıfırdan kuruyorum, dosyalarımı geri yüklüyorum ve ardından favori uygulamalarımı yeniden yüklüyorum. Ayrıca sistem ayarlarını da özelleştiriyorum. Bazen bu çok fazla zaman alıyor. Ve son zamanlarda, gerçekten bu baş ağrısına ihtiyacım olup olmadığını merak etmeye başladım.

bir zaman — dosyalardaki üç zaman damgasından biri Linux (Bununla ilgili daha sonra detaylı bilgi vereceğim.) Özellikle, daha yeni sistemlerde atime özelliğini devre dışı bırakmanın hala faydalı olup olmadığını merak ettim. LinuxDosyaya her erişildiğinde atime değişkeni güncellendiği için, bunun sistem performansını önemli ölçüde etkilediğini fark ettim.
Yakın zamanda Fedora 32'ye yükselttim ve alışkanlıktan dolayı bir süreyi devre dışı bırakarak başladım. Düşündüm: buna gerçekten ihtiyacım var mı? Bu konuyu incelemeye karar verdim ve bunu araştırdım.

Dosya zaman damgaları hakkında biraz

Bunu anlamak için, bir adım geri çekilip dosya sistemleri hakkında birkaç şeyi hatırlamanız gerekiyor. Linux Çekirdeğin dosyalara ve dizinlere zaman damgalarını nasıl atadığını da görebilirsiniz. Dosyaların ve dizinlerin son değiştirilme tarihini şu komutu çalıştırarak görebilirsiniz: ls -l (uzun) Ya da dosya yöneticisindeki bilgilere bakarak da bulabilirsiniz. Ama perde arkasında, çekirdek çalışıyor.Linux Dosyalar ve dizinler için birden fazla zaman damgasını izler:

  1. Dosya en son ne zaman değiştirildi (mtime)
  2. Dosya özellikleri ve meta veriler en son ne zaman değiştirildi (ctime)
  3. Dosyaya en son ne zaman erişildi (atime)
  4. komutunu kullanabilirsiniz. statBir dosya veya dizin hakkındaki bilgileri görüntülemek için. İşte dosya / Etc / fstab test sunucularımdan birinden:

$ 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 bu dosyanın 25 Nisan 2019 tarihinde sistemi kurduğumda oluşturulduğunu görebilirsiniz. Dosyam / Etc / fstab En son değiştirilme tarihi 16 Mayıs 2019'dur ve diğer tüm özellikler de aynı tarihlerde değiştirildi.

Eğer kopyalarsam / Etc / fstab yeni bir dosyada, tarihler onun yeni bir dosya olduğunu gösterecek şekilde değiş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

Ama dosyanın içeriğini değiştirmeden sadece adını değiştirirsem, Linux Yalnızca dosya değiştirme zamanını güncelleyecektir:

$ 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 zaman damgaları belirli Unix programları için çok faydalıdır. Örneğin biff, e-postanızda yeni bir mesaj olduğunda sizi bilgilendiren bir programdır. Günümüzde çok az kişi kullanıyor yumruklamakancak posta kutularının sistemde yerel olduğu günlerde biff oldukça yaygındı.

Program, gelen kutunuzda yeni posta olup olmadığını nasıl biliyor? biff, son değiştirilme zamanını (gelen kutusu dosyasının yeni bir e-posta mesajıyla güncellendiği zaman) ve son erişim zamanını (e-postanızı en son okuduğunuz zaman) karşılaştırır. Değişiklik erişimden sonra meydana gelmişse, biff yeni bir mektubun geldiğini anlayacak ve sizi bu konuda bilgilendirecektir. Mutt e-posta istemcisi hemen hemen aynı şekilde çalışır.

Son erişim zaman damgası, dosya sistemi kullanım istatistiklerini toplamanız ve performansı ayarlamanız gerektiğinde de kullanışlıdır. Sistem yöneticilerinin, dosya sistemini buna göre yapılandırabilmeleri için hangi nesnelere erişildiğini bilmeleri gerekir.

Ancak çoğu modern program artık bu etikete ihtiyaç duymadığından, bunun kullanım dışı bırakılması önerisi ortaya atıldı. 2007'de Linus Torvalds ve diğer birkaç çekirdek geliştiricisi, bir performans sorunu bağlamında bu konuyu tartıştılar. Çekirdek geliştiricisi Linux Ingo Molnar, atime ve ext3 dosya sistemi hakkında şu yorumu yaptı:

"Her masaüstü bilgisayar ve sunucunun böyle olması oldukça garip." Linux Sürekli atime güncellemeleri nedeniyle belirgin G/Ç performans düşüşü yaşanıyor, ancak gerçek anlamda sadece iki kullanıcı var: tmpwatch [ctime kullanacak şekilde yapılandırılabildiği için büyük bir sorun değil] ve bazı yedekleme araçları."

Ancak insanlar hala bu zaman damgasını gerektiren bazı programları kullanıyor, bu nedenle atime'ı kaldırmak bu programları bozacaktır. Çekirdek geliştiricileri Linux Kullanıcının özgürlüğünü ihlal etmemelidir.

Süleyman'ın çözümü

Dağıtımlarda Linux Çok çeşitli uygulamalar dahildir ve kullanıcılar ihtiyaçlarına uygun diğer programları da indirip kurabilirler. Bu, açık kaynaklı bir işletim sisteminin önemli bir avantajıdır. Ancak, dosya sisteminizin performansını optimize etmeyi zorlaştırır. Kaynak yoğun bileşenlerin kaldırılması sistem performansını bozabilir.

Bir uzlaşma olarak, çekirdek geliştiricileri Linux Performans ve uyumluluk arasında bir denge sağlamayı amaçlayan yeni bir relaytime seçeneği ekledik:

atime yalnızca önceki erişim zamanı mevcut değişiklik veya durum değişikliği zamanından daha kısa ise güncellenir... Başlangıç ​​olarak Linux 2.6.30 sürümünden itibaren çekirdek bu seçeneği varsayılan olarak kullanır (noatime belirtilmediği sürece)... Ayrıca, şu sürümden itibaren: Linux 2.6.30 sürümünde, bir dosyanın son erişim zamanı 1 günden eski ise her zaman güncellenir.

Modern sistemler Linux (ile başlayan Linux 2009'da yayınlanan 2.6.30 sürümü zaten relaytime kullanıyor ve bu da gerçekten büyük bir performans artışı sağlamalı. Bu, dosyayı yapılandırmanıza gerek olmadığı anlamına geliyor. / Etc / fstabve aktarma süresiyle varsayılana güvenebilirsiniz.

Noatime ile sistem performansını iyileştirme

Ancak sisteminizi maksimum performans elde edecek şekilde ayarlamak istiyorsanız, zamanı devre dışı bırakmak hala mümkündür.

Performans değişikliği çok hızlı modern sürücülerde (NVME veya Hızlı SSD gibi) pek fark edilmeyebilir, ancak orada küçük bir artış vardır.

Zaman gerektiren bir yazılım kullanmadığınızı biliyorsanız, dosyadaki noatime seçeneğini etkinleştirerek performansı biraz artırabilirsiniz. /etc/fstab. Bundan sonra çekirdek sürekli olarak güncellenmeyecektir. Dosya sistemini bağlarken noatime seçeneğini kullanın:

/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

Değişiklikler bir sonraki yeniden başlatmanızda etkili olacaktır.

Reklam gibi

Web sitenizi barındırmak için bir sunucuya mı ihtiyacınız var? Firmamızın sunduğu teklifler güvenilir sunucular Günlük veya tek seferlik ödeme ile her sunucu 500 Megabit internet kanalına bağlanır ve DDoS saldırılarına karşı ücretsiz korunur!

`noatime` seçeneğinin performansı nasıl ve neden iyileştirdiği Linux- sistem

Kaynak: habr.com

DDoS korumalı siteler, VPS VDS sunucuları için güvenilir hosting satın alın 🔥 DDoS korumalı, güvenilir VPS ve VDS sunucu barındırma hizmeti satın alın | ProHoster