Ինչպես և ինչու է noatime տարբերակը բարելավում Linux համակարգերի աշխատանքը

Atime թարմացումը ազդում է համակարգի աշխատանքի վրա: Ինչ է կատարվում այնտեղ և ինչ անել դրա հետ կապված - կարդացեք հոդվածը:

Ինչպես և ինչու է noatime տարբերակը բարելավում Linux համակարգերի աշխատանքը
Ամեն անգամ, երբ ես թարմացնում եմ Linux-ը իմ տնային համակարգչում, ես պետք է որոշ խնդիրներ լուծեմ: Տարիների ընթացքում սա սովորություն է դարձել՝ ես կրկնօրինակում եմ իմ ֆայլերը, ջնջում եմ համակարգը, ամեն ինչ զրոյից տեղադրում, ֆայլերս վերականգնում, հետո նորից տեղադրում իմ սիրելի հավելվածները: Ես նաև փոխում եմ համակարգի կարգավորումները ինձ համար: Երբեմն դա չափազանց շատ ժամանակ է պահանջում: Եվ վերջերս ես մտածում էի, թե արդյոք ինձ պետք է այս գլխացավը:

մի ժամանակ Linux-ում ֆայլերի երեք ժամանակային դրոշմանիշներից մեկն է (այս մասին ավելի ուշ): Մասնավորապես, ես մտածում էի, թե արդյոք դեռ լավ գաղափար կլինի անջատել ժամը ավելի վաղ Linux համակարգերում: Քանի որ atime-ը թարմացվում է ամեն անգամ, երբ ֆայլը մուտք է գործում, ես հասկացա, որ դա էական ազդեցություն ունի համակարգի աշխատանքի վրա:
Ես վերջերս թարմացրի Fedora 32-ի և սովորությունից դրդված սկսեցի ժամանակին անջատելով: Մտածեցի՝ իսկապե՞ս դրա կարիքն ունեմ։ Ես որոշեցի ուսումնասիրել այս հարցը, և սա այն է, ինչ ես փորեցի:

Մի փոքր ֆայլի ժամանակային դրոշմանիշների մասին

Դա պարզելու համար դուք պետք է մի քայլ հետ գնաք և հիշեք մի քանի բան Linux ֆայլային համակարգերի և միջուկի ֆայլերի և գրացուցակների ժամանակի դրոշմանիշների մասին: Դուք կարող եք տեսնել ֆայլերի և գրացուցակների վերջին փոփոխված ամսաթիվը՝ գործարկելով հրամանը ls -l (երկար) կամ պարզապես դրա մասին տեղեկատվությունը դիտելով ֆայլերի կառավարիչում: Բայց կուլիսների հետևում Linux միջուկը հետևում է ֆայլերի և գրացուցակների մի քանի ժամանակի դրոշմանիշներին.

  1. Ե՞րբ է վերջին անգամ փոփոխվել ֆայլը (mtime)
  2. Ե՞րբ է վերջին անգամ փոխվել ֆայլի հատկությունները և մետատվյալները (ctime)
  3. Ե՞րբ է վերջին անգամ մուտք գործել ֆայլ (ժամանակ)
  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 բաշխումներում, և բացի այդ, օգտվողները կարող են ներբեռնել և տեղադրել այլ ծրագրեր՝ ըստ իրենց կարիքների: Սա բաց կոդով ՕՀ-ի հիմնական առավելությունն է: Բայց դա դժվարացնում է ձեր ֆայլային համակարգի աշխատանքի օպտիմալացումը: Ռեսուրսներ պահանջող բաղադրիչների հեռացումը կարող է խաթարել համակարգը:

Որպես փոխզիջում, Linux միջուկի մշակողները ներկայացրել են փոխանցման ժամանակի նոր տարբերակ, որը նպատակ ունի հավասարակշռություն հաստատել կատարողականի և համատեղելիության միջև.

atime-ը թարմացվում է միայն այն դեպքում, եթե նախորդ մուտքի ժամանակը պակաս է ընթացիկ փոփոխության կամ կարգավիճակի փոփոխման ժամանակից... Քանի որ Linux 2.6.30-ից, միջուկը լռելյայն օգտագործում է այս տարբերակը (եթե noatime-ը նշված չէ)... Բացի այդ, քանի որ Linux 2.6.30 . 1, ֆայլի վերջին մուտքի ժամանակը միշտ թարմացվում է, եթե այն ավելի քան XNUMX օր է:

Ժամանակակից Linux համակարգերը (սկսած Linux 2.6.30-ից, որը թողարկվել է 2009 թվականին) արդեն օգտագործում են ռելեի ժամանակ, որը պետք է իսկապես մեծ կատարողականի խթան տա: Սա նշանակում է, որ ձեզ հարկավոր չէ կարգավորել ֆայլը / etc / fstab, և փոխանցման ժամանակի դեպքում կարող եք ապավինել լռելյայնին:

Համակարգի կատարողականի բարելավում 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

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