Чӣ тавр ва чаро опсияи noatime кори системаҳои Linux-ро беҳтар мекунад

Навсозии Atime ба кори система таъсир мерасонад. Дар он ҷо чӣ рӯй медиҳад ва чӣ бояд кард - мақоларо хонед.

Чӣ тавр ва чаро опсияи noatime кори системаҳои Linux-ро беҳтар мекунад
Ҳар вақте ки ман Linux-ро дар компютери хонагии худ навсозӣ мекунам, ман бояд мушкилоти муайянро ҳал кунам. Дар тӯли солҳо, ин ба одат табдил ёфтааст: ман файлҳои худро нусхабардорӣ мекунам, системаро тоза мекунам, ҳама чизро аз сифр насб мекунам, файлҳои худро барқарор мекунам ва сипас барномаҳои дӯстдоштаамро аз нав насб мекунам. Ман инчунин танзимоти системаро барои мувофиқ кардани худам тағир медиҳам. Баъзан он вақти аз ҳад зиёд мегирад. Ва чанде пеш фикр кардам, ки оё ин дарди сар ба ман лозим аст?

замон яке аз се тамғаи вақт барои файлҳо дар Linux мебошад (дар ин бора баъдтар бештар). Аз ҷумла, ман дар ҳайрат будам, ки оё он ҳоло ҳам як идеяи хубе нест, ки вақтро дар системаҳои охирини Linux хомӯш кунед. Азбаски вақт ҳар дафъае, ки ба файл дастрас мешавад, нав карда мешавад, ман фаҳмидам, ки он ба кори система таъсири назаррас дорад.
Ман ба наздикӣ ба Fedora 32 навсозӣ кардам ва аз рӯи одат, бо хомӯш кардани вақт оғоз кардам. Ман фикр кардам: оё дар ҳақиқат ба ман лозим аст? Ман тасмим гирифтам, ки ин масъаларо омӯзам ва ин аст он чизе ки ман кофтам.

Каме дар бораи вақтҳои файл

Барои фаҳмидани он, шумо бояд як қадам қафо гузоред ва чанд чизро дар бораи системаҳои файлии Linux ва чӣ тавр ядро ​​​​файлҳо ва директорияҳоро тамғаи вақт нишон медиҳад, дар хотир доред. Шумо метавонед санаи охирини тағирёфтаи файлҳо ва директорияҳоро тавассути иҷро кардани фармон дидан кунед ls -l (дароз) ё танҳо тавассути дидани маълумот дар бораи он дар мудири файл. Аммо дар паси парда ядрои Linux якчанд тамғаҳои вақтро барои файлҳо ва директорияҳо пайгирӣ мекунад:

  1. Файл кай охирин тағир дода шудааст (mtime)
  2. Кай бори охир хосиятҳои файл ва метамаълумотҳо тағир дода шуданд (ctime)
  3. Кай бори охир ба файл дастрасӣ пайдо шуд (atime)
  4. Шумо метавонед фармонро истифода баред давлатбарои дидани маълумот дар бораи файл ё директория. Ин аст файл / etc / fstab аз яке аз серверҳои санҷишии ман:

$ 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 ҳангоми насб кардани система сохта шудааст. Файли ман / etc / fstab бори охир 16 майи соли 2019 тағир дода шуд ва ҳама атрибутҳои дигар тақрибан дар ҳамон вақт тағир дода шуданд.

Агар нусхабардорӣ кунам / etc / fstab ба файли нав, санаҳо тағир меёбанд, то нишон диҳад, ки он файли нав аст:

$ 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 мефаҳмад, ки номаи нав расидааст ва шуморо дар ин бора огоҳ мекунад. Мизоҷи почтаи электронии 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 нашр шудааст) аллакай вақти релеро истифода мебаранд, ки бояд воқеан баланд бардоштани самаранокӣ бахшад. Ин маънои онро дорад, ки ба шумо лозим нест, ки файлро танзим кунед / etc / fstab, ва бо relaytime шумо метавонед ба пешфарз такя кунед.

Беҳтар кардани кори система бо 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-ро беҳтар мекунад

Манбаъ: will.com

Илова Эзоҳ