Cumu è perchè l'opzione noatime migliurà u rendiment di i sistemi Linux

L'aghjurnamentu di Atime afecta u rendiment di u sistema. Ciò chì succede quì è ciò chì deve fà - leghje l'articulu.

Cumu è perchè l'opzione noatime migliurà u rendiment di i sistemi Linux
Ogni volta chì aghjurnà Linux in u mo urdinatore di casa, aghju da risolve certi prublemi. Duranti l'anni, questu hè diventatu un abitudine: fate una copia di salvezza di i mo fugliali, sguassate u sistema, installate tuttu da zero, restaurà i mo fugliali, poi reinstallà e mo applicazioni preferite. Aghju cambiatu ancu i paràmetri di u sistema per mè stessu. Calchì volta pigghia troppu tempu. È pocu tempu mi dumandu s'ellu avia bisognu di stu mal di testa.

tempu hè unu di i trè timestamps per i schedari in Linux (più nantu à questu dopu). In particulare, mi dumandava s'ellu saria sempre una bona idea di disattivà atime in sistemi Linux più recenti. Siccomu atime hè aghjurnatu ogni volta chì u schedariu hè accessu, aghju realizatu chì hà un impattu significativu in u rendiment di u sistema.
Aghju aghjurnatu recentemente à Fedora 32 è, per abitudine, hà cuminciatu disattivendu atime. Pensu : ne aghju veramente bisognu ? Aghju decisu di studià stu prublema è questu hè ciò chì aghju scavatu.

Un pocu nantu à i timestamps di i schedari

Per capisce, avete bisognu di fà un passu in daretu è ricurdate uni pochi di cose nantu à i sistemi di fugliale Linux è cumu u kernel timestamps i schedari è i cartulari. Pudete vede l'ultima data mudificata di i schedari è i cartulari esecutendu u cumandamentu ls -l (longu) o simpricimenti fighjendu l'infurmazioni nantu à questu in u file manager. Ma daretu à i sceni, u kernel Linux mantene a traccia di parechji timestamps per i fugliali è i cartulari:

  1. Quandu hè statu l'ultima modificazione di u schedariu (mtime)
  2. Quandu hè stata l'ultima volta chì e proprietà di u schedariu è i metadati sò stati cambiati (ctime)
  3. Quandu u schedariu hè statu l'ultimu accessu (atime)
  4. Pudete aduprà u cumandamentu statuper vede l'infurmazioni nantu à un schedariu o cartulare. Eccu u schedariu / etc / fstab da unu di i mo servitori di prova:

$ 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

Quì pudete vede chì stu schedariu hè statu creatu u 25 d'aprile di u 2019 quandu aghju installatu u sistema. U mo schedariu / etc / fstab hè statu mudificatu l'ultima volta u 16 di maghju di u 2019, è tutti l'altri attributi sò stati cambiati in u stessu tempu.

Se mi copia / etc / fstab à un novu schedariu, e date cambianu per indicà chì hè un novu schedariu:

$ 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

Ma s'ellu rinumate u schedariu senza cambià u so cuntenutu, Linux aghjurnà solu u tempu chì u schedariu hè statu mudificatu:

$ 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

Questi timestamps sò assai utili per certi prugrammi Unix. Per esempiu, biff hè un prugramma chì vi avvisa quandu ci hè un novu missaghju in u vostru email. Oghji pochi persone usanu biff, ma in i ghjorni chì i mailboxes eranu lucali à u sistema, biff era abbastanza cumuni.

Cumu sapè u prugramma s'ellu avete un novu mail in u vostru inbox? biff compara l'ultimu tempu mudificatu (quandu u schedariu di inbox hè statu aghjurnatu cù un novu messagiu email) è l'ultimu tempu d'accessu (l'ultima volta chì leghjite u vostru email). Se u cambiamentu hè accadutu dopu à l'accessu, allora biff capisce chì una nova lettera hè ghjunta è vi avviserà. U cliente di e-mail Mutt travaglia in u listessu modu.

L'ultimu timestamp d'accessu hè ancu utile se avete bisognu di cullà statistiche d'utilizazione di u sistema di fugliale è sintonizà u rendiment. L'amministratori di u sistema anu bisognu di sapè chì l'uggetti sò accessu per pudè cunfigurà u sistema di fugliale in cunfurmità.

Ma a maiò parte di i prugrammi muderni ùn anu più bisognu di sta etichetta, cusì ci era una pruposta per ùn aduprà micca. In u 2007, Linus Torvalds è parechji altri sviluppatori di u kernel discutevanu atime in u cuntestu di un prublema di rendiment. U sviluppatore di kernel Linux Ingo Molnar hà fattu u puntu seguente nantu à atime è u sistema di fugliale ext3:

"Hè abbastanza stranu chì ogni desktop è servitore Linux soffre una notevole degradazione di u rendiment I / O per via di l'aghjurnamenti constanti di atime, ancu s'ellu ci sò solu dui utilizatori veri: tmpwatch [chì pò esse cunfiguratu per aduprà ctime, dunque ùn hè micca un grande prublema] è alcuni strumenti di salvezza ".

Ma a ghjente usa sempre alcuni prugrammi chì necessitanu sta etichetta. Allora sguassate atime romperà a so funziunalità. I sviluppatori di u kernel Linux ùn deve micca infruntà a libertà di l'utilizatori.

A suluzione di Salomon

Ci sò parechje applicazioni incluse in distribuzioni Linux è in più, l'utilizatori ponu scaricà è installà altri prugrammi secondu i so bisogni. Questu hè un vantaghju chjave di un OS open source. Ma questu rende difficiule di ottimisà u rendiment di u vostru sistema di schedari. L'eliminazione di cumpunenti intensivi di risorse pò disturbà u sistema.

Cum'è un cumprumissu, i sviluppatori di u kernel Linux anu introduttu una nova opzione di relaytime chì hè destinata à truvà un equilibriu trà u rendiment è a cumpatibilità:

atime hè aghjurnatu solu se u tempu d'accessu precedente hè menu di u tempu di mudificazione o di cambiamentu di statutu attuale ... Da Linux 2.6.30, u kernel usa sta opzione per automaticamente (salvo chì noatime hè specificatu) ... Inoltre, da Linux 2.6.30 . 1, l'ultimu tempu d'accessu di un schedariu hè sempre aghjurnatu s'ellu hè più di XNUMX ghjornu.

I sistemi Linux muderni (dapoi Linux 2.6.30, liberatu in u 2009) usanu digià u relaytime, chì duverebbe dà un grande impulsu di rendiment. Questu significa chì ùn avete micca bisognu di cunfigurà u schedariu / etc / fstab, è cù relaytime pudete confià nantu à u default.

Migliurà u rendiment di u sistema cù noatime

Ma sè vo vulete sintonizà u vostru sistema per ottene u massimu rendimentu, disattivà u tempu hè sempre pussibule.

U cambiamentu di prestazione pò esse micca assai notevuli nantu à i discu muderni assai veloci (cum'è NVME o Fast SSD), ma ci hè un picculu aumentu.

Se sapete chì ùn site micca aduprate un software chì richiede un tempu, pudete migliurà ligeramente u rendiment attivendu l'opzione noatime in u schedariu. /etc/fstab. Dopu questu, u kernel ùn hà micca aghjurnatu constantemente à tempu. Aduprate l'opzione noatime quandu muntate u filesystem:

/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

I cambiamenti saranu efficaci a prossima volta chì reboot.

I diritti di publicità

Avete bisognu di un servitore per accoglie u vostru situ web? A nostra cumpagnia prupone servitori affidabili cù un pagamentu ogni ghjornu o una volta, ogni servitore hè cunnessu à un canale Internet di 500 Megabits è hè prutettu contr'à attacchi DDoS gratuitamente!

Cumu è perchè l'opzione noatime migliurà u rendiment di i sistemi Linux

Source: www.habr.com

Add a comment