Кантип жана эмне үчүн noatime опциясы Linux тутумдарынын иштешин жакшыртат

Atime жаңыртуу тутумдун иштешине таасирин тийгизет. Ал жерде эмне болуп жатат жана бул тууралуу эмне кылуу керек - макаланы окуп чыгыңыз.

Кантип жана эмне үчүн noatime опциясы Linux тутумдарынын иштешин жакшыртат
Мен үйдөгү компьютеримде Linux жаңырткан сайын, кээ бир көйгөйлөрдү чечишим керек. Жылдар бою бул адатка айланды: мен файлдарымдын резервдик көчүрмөсүн жасайм, системаны тазалайм, баарын нөлдөн баштап орнотом, файлдарымды калыбына келтирем, анан сүйүктүү тиркемелеримди кайра орнотом. Мен өзүм үчүн системанын жөндөөлөрүн да өзгөртөм. Кээде өтө көп убакыт талап кылынат. Анан жакында эле ушул баш оору керекпи деп ойлодум.

убакыт Linux'тагы файлдар үчүн үч убакыт белгисинин бири (бул жөнүндө кийинчерээк). Атап айтканда, мен дагы эле акыркы Linux тутумдарында убакытты өчүрүү жакшы идея болуп калабы деп ойлогом. Atime файлга кирген сайын жаңыланып тургандыктан, анын системанын иштешине олуттуу таасир этээрин түшүндүм.
Мен жакында Fedora 32ге жаңырттым жана адаттан тыш, убакытты өчүрүп баштадым. Мен ойлодум: чын эле мага керекпи? Мен бул маселени изилдөөнү чечтим жана бул мен казып алган нерсе.

Файлдын убакыт белгилери жөнүндө бир аз

Аны түшүнүү үчүн, сиз артка кадам таштап, Linux файл тутумдары жана ядронун файлдарды жана каталогдорду кантип убакыт белгилерин белгилей турганы жөнүндө бир нече нерсени эстеп чыгышыңыз керек. Сиз буйрукту иштетүү менен файлдардын жана каталогдордун акыркы өзгөртүлгөн күнүн көрө аласыз ls -l (узун) же жөн гана файл менеджеринде бул тууралуу маалыматты карап. Бирок көшөгө артында, Linux ядросу файлдар жана каталогдор үчүн бир нече убакыт белгилерин көзөмөлдөйт:

  1. Файл акыркы жолу качан өзгөртүлгөн (mtime)
  2. Качан акыркы жолу файлдын касиеттери жана метадайындары өзгөртүлгөн (ctime)
  3. Файлга акыркы жолу качан кирген (atime)
  4. Сиз буйрукту колдоно аласыз мамлекетфайл же каталог жөнүндө маалыматты көрүү үчүн. Бул жерде файл / Ж.б. / жазылбайт менин сыноо серверлеримдин биринен:

$ 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

Бул жерде сиз бул файл 25-жылдын 2019-апрелинде мен системаны орноткондо түзүлгөнүн көрө аласыз. Менин файлым / Ж.б. / жазылбайт акыркы жолу 16-жылдын 2019-майында өзгөртүлгөн жана башка бардык атрибуттар ошол эле учурда өзгөртүлгөн.

Көчүрүп алсам / Ж.б. / жазылбайт жаңы файлга, даталар анын жаңы файл экенин көрсөтүү үчүн өзгөрөт:

$ 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

Бирок мен анын мазмунун өзгөртпөй эле файлдын атын өзгөртсөм, Linux файл өзгөртүлгөн убакытты гана жаңылайт:

$ 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

Бул убакыт белгилери белгилүү Unix программалары үчүн абдан пайдалуу. Мисалы, biff бул сиздин электрондук почтаңызга жаңы билдирүү келгенде кабарлай турган программа. Азыр аз эле адамдар колдонот biff, бирок почта ящиктери система үчүн жергиликтүү болгон күндөрү, biff абдан кеңири таралган.

Сиздин почтаңызда жаңы кат бар же жок экенин программа кантип билет? biff акыркы өзгөртүлгөн убакытты (кирүү кутусу файлы жаңы электрондук почта билдирүүсү менен жаңыртылганда) жана акыркы кирүү убакытын (электрондук почтаңызды акыркы жолу окуганыңызда) салыштырат. Эгерде өзгөртүү кирүү мүмкүнчүлүгүнөн кечирээк болсо, анда biff жаңы кат келгенин түшүнөт жана бул тууралуу сизге кабарлайт. Mutt электрондук почта кардары дал ушундай жол менен иштейт.

Акыркы кирүү убакыт белгиси, эгер сиз файл тутумунун колдонулуш статистикасын чогултушуңуз жана аткарууну тууралоо керек болсоңуз дагы пайдалуу. Системалык администраторлор файлдык тутумду ошого жараша конфигурациялоо үчүн кандай объекттерге кирилип жатканын билиши керек.

Бирок заманбап программалардын көбү бул энбелгиге муктаж болбой калгандыктан, аны колдонбоо сунушу болгон. 2007-жылы Линус Торвалдс жана башка бир нече ядро ​​иштеп чыгуучулар аткаруу маселесинин контекстинде талкуулашты. Linux ядросун иштеп чыгуучу Инго Молнар atime жана ext3 файл системасы жөнүндө төмөнкү ойду айтты:

"Ар бир Linux иш тактасы жана сервери эки гана чыныгы колдонуучу болгонуна карабастан, такай жаңыртуулардан улам I/O иштешинин байкаларлык начарлашы абдан таң калыштуу: tmpwatch [ctime колдонуу үчүн конфигурацияланса болот, андыктан бул чоң көйгөй эмес] жана кээ бир камдык куралдар."

Бирок адамдар дагы эле бул белгини талап кылган кээ бир программаларды колдонушат. Ошентип, убакытты алып салуу алардын иштөөсүн бузат. Linux ядросун иштеп чыгуучулар колдонуучунун эркиндигин бузбашы керек.

сабак чечим

Linux дистрибуцияларында көптөгөн тиркемелер бар жана мындан тышкары, колдонуучулар өздөрүнүн муктаждыктарына жараша башка программаларды жүктөп алып орното алышат. Бул ачык булак OS негизги артыкчылыгы болуп саналат. Бирок бул сиздин файл тутумуңуздун иштешин оптималдаштырууну кыйындатат. Ресурсту көп талап кылган компоненттерди алып салуу системаны үзгүлтүккө учуратышы мүмкүн.

Компромисс катары, Linux ядросун иштеп чыгуучулар аткаруу жана шайкештиктин ортосундагы тең салмактуулукту түзүүгө багытталган жаңы релейлик опцияны киргизишти:

atime мурунку кирүү убактысы учурдагы өзгөртүүдөн же абалды өзгөртүү убакытынан азыраак болсо гана жаңыланат... Linux 2.6.30дан бери, ядро ​​бул параметрди демейки боюнча колдонот (эгер noatime көрсөтүлбөсө)... Ошондой эле, Linux 2.6.30. 1, файлдын акыркы кирүү убактысы, эгерде ал XNUMX күндөн ашык болсо, ар дайым жаңыртылып турат.

Заманбап Linux системалары (Linux 2.6.30, 2009-жылы чыгарылгандан бери) релейлик убакытты колдонушат, бул чындап эле чоң өндүрүмдүүлүктү жогорулатууга тийиш. Бул файлды конфигурациялоонун кереги жок дегенди билдирет / Ж.б. / жазылбайт, жана релейлик убакыт менен сиз демейкиге таяна аласыз.

noatime менен системанын иштешин жакшыртуу

Бирок, эгер сиз тутумуңузду максималдуу өндүрүмдүүлүккө ээ болгуңуз келсе, убакытты өчүрүү дагы деле мүмкүн.

Өтө ылдам заманбап дисктерде (мисалы, NVME же Fast SSD сыяктуу) аткаруунун өзгөрүүсү анча байкалбашы мүмкүн, бирок ал жерде бир аз өсүш бар.

Эгер сиз убакытты талап кылган программаны колдонбой жатканыңызды билсеңиз, файлдагы noatime опциясын иштетүү менен майнаптуулукту бир аз жакшыртсаңыз болот. /etc/fstab. Андан кийин, ядро ​​дайыма жаңыланбайт. Файлдык системаны орнотууда noatime опциясын колдонуңуз:

/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

Өзгөртүүлөр кийинки жолу өчүрүлгөндө күчүнө кирет.

жарнама катары

Вебсайтыңызды жайгаштыруу үчүн сервер керекпи? Биздин компания сунуш кылат ишенимдүү серверлер күнүмдүк же бир жолку төлөм менен ар бир сервер 500 мегабиттик интернет каналына туташып, DDoS чабуулдарынан акысыз корголот!

Кантип жана эмне үчүн noatime опциясы Linux тутумдарынын иштешин жакшыртат

Source: www.habr.com

Комментарий кошуу