Sut a pham mae'r opsiwn noatime yn gwella perfformiad systemau Linux

Mae diweddariad Atime yn effeithio ar berfformiad y system. Beth sy'n digwydd yno a beth i'w wneud amdano - darllenwch yr erthygl.

Sut a pham mae'r opsiwn noatime yn gwella perfformiad systemau Linux
Pryd bynnag y byddaf yn diweddaru Linux ar fy nghyfrifiadur cartref, mae'n rhaid i mi ddatrys rhai problemau. Dros y blynyddoedd, mae hyn wedi dod yn arferiad: rwy'n gwneud copi wrth gefn o'm ffeiliau, yn sychu'r system, yn gosod popeth o'r dechrau, yn adfer fy ffeiliau, ac yn ailosod fy hoff gymwysiadau. Rwyf hefyd yn newid gosodiadau'r system i mi fy hun. Weithiau mae'n cymryd gormod o amser. Ac yn ddiweddar roeddwn i'n meddwl tybed a oedd angen y cur pen hwn arnaf.

amser yn un o dri stamp amser ar gyfer ffeiliau yn Linux (mwy am hyn yn nes ymlaen). Yn benodol, roeddwn i'n meddwl tybed a fyddai'n dal i fod yn syniad da analluogi amser ar systemau Linux mwy diweddar. Gan fod atime yn cael ei diweddaru bob tro y caiff y ffeil ei chyrchu, sylweddolais ei bod yn cael effaith sylweddol ar berfformiad y system.
Yn ddiweddar, fe wnes i uwchraddio i Fedora 32 ac, allan o arfer, dechreuais trwy analluogi amser. Meddyliais: a oes ei angen arnaf mewn gwirionedd? Penderfynais astudio'r mater hwn a dyma beth wnes i ei gloddio.

Ychydig am stampiau amser ffeiliau

I'w ddarganfod, mae angen i chi gymryd cam yn Γ΄l a chofio ychydig o bethau am systemau ffeiliau Linux a sut mae'r cnewyllyn yn stampio ffeiliau a chyfeiriaduron. Gallwch weld dyddiad olaf y ffeiliau a chyfeiriaduron wedi'u haddasu trwy redeg y gorchymyn ls -l (hir) neu'n syml drwy edrych ar wybodaeth amdano yn y rheolwr ffeiliau. Ond y tu Γ΄l i'r llenni, mae'r cnewyllyn Linux yn cadw golwg ar sawl stamp amser ar gyfer ffeiliau a chyfeiriaduron:

  1. Pryd gafodd y ffeil ei haddasu ddiwethaf (mtime)
  2. Pryd oedd y tro diwethaf i briodweddau'r ffeil a metadata gael eu newid (ctime)
  3. Pryd cyrchwyd y ffeil ddiwethaf (atime)
  4. Gallwch ddefnyddio'r gorchymyn stati weld gwybodaeth am ffeil neu gyfeiriadur. Dyma'r ffeil / etc / fstab gan un o'm gweinyddwyr prawf:

$ 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

Yma gallwch weld bod y ffeil hon wedi'i chreu ar Ebrill 25, 2019 pan osodais y system. Fy ffeil / etc / fstab wedi'i addasu ddiwethaf ar Mai 16, 2019, a newidiwyd yr holl briodoleddau eraill tua'r un pryd.

Os byddaf yn copΓ―o / etc / fstab i ffeil newydd, mae'r dyddiadau'n newid i ddangos ei bod yn ffeil newydd:

$ 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

Ond os ydw i'n ailenwi'r ffeil heb newid ei chynnwys, dim ond yr amser y cafodd y ffeil ei haddasu y bydd Linux yn ei diweddaru:

$ 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

Mae'r stampiau amser hyn yn ddefnyddiol iawn ar gyfer rhai rhaglenni Unix. Er enghraifft, mae biff yn rhaglen sy'n eich hysbysu pan fydd neges newydd yn eich e-bost. Y dyddiau hyn ychydig o bobl sy'n defnyddio biff, ond yn y dyddiau pan oedd blychau post yn lleol i'r system, roedd biff yn eithaf cyffredin.

Sut mae'r rhaglen yn gwybod a oes gennych bost newydd yn eich mewnflwch? mae biff yn cymharu'r amser a addaswyd ddiwethaf (pan gafodd y ffeil mewnflwch ei diweddaru gyda neges e-bost newydd) a'r amser mynediad diwethaf (y tro diwethaf i chi ddarllen eich e-bost). Os digwyddodd y newid yn hwyrach na mynediad, yna bydd biff yn deall bod llythyr newydd wedi cyrraedd a bydd yn rhoi gwybod i chi amdano. Mae cleient e-bost Mutt yn gweithio yn yr un ffordd fwy neu lai.

Mae'r stamp amser mynediad olaf hefyd yn ddefnyddiol os oes angen i chi gasglu ystadegau defnydd system ffeiliau a pherfformiad tiwnio. Mae angen i weinyddwyr systemau wybod pa wrthrychau sy'n cael eu cyrchu er mwyn iddynt allu ffurfweddu'r system ffeiliau yn unol Γ’ hynny.

Ond nid oes angen y label hwn ar y rhan fwyaf o raglenni modern bellach, felly roedd cynnig i beidio Γ’'i ddefnyddio. Yn 2007, trafododd Linus Torvalds a sawl datblygwr cnewyllyn arall dro ar Γ΄l tro yng nghyd-destun mater perfformiad. Gwnaeth datblygwr cnewyllyn Linux Ingo Molnar y pwynt canlynol am atime a'r system ffeiliau ext3:

"Mae'n eithaf rhyfedd bod pob bwrdd gwaith a gweinydd Linux yn dioddef dirywiad perfformiad I/O amlwg oherwydd diweddariadau amser cyson, er mai dim ond dau ddefnyddiwr go iawn sydd: tmpwatch [y gellir ei ffurfweddu i ddefnyddio ctime, felly nid yw'n broblem fawr] a rhai offer wrth gefn."

Ond mae pobl yn dal i ddefnyddio rhai rhaglenni sydd angen y label hwn. Felly bydd cael gwared ar atime yn torri eu swyddogaeth. Ni ddylai datblygwyr cnewyllyn Linux dorri ar ryddid defnyddwyr.

Datrysiad Solomon

Mae yna lawer o gymwysiadau wedi'u cynnwys mewn dosbarthiadau Linux ac yn ogystal, gall defnyddwyr lawrlwytho a gosod rhaglenni eraill yn unol Γ’'u hanghenion. Mae hyn yn fantais allweddol o AO ffynhonnell agored. Ond mae hyn yn ei gwneud hi'n anodd optimeiddio perfformiad eich system ffeiliau. Gall cael gwared ar gydrannau sy'n defnyddio llawer o adnoddau amharu ar y system.

Fel cyfaddawd, mae datblygwyr cnewyllyn Linux wedi cyflwyno opsiwn amser cyfnewid newydd gyda'r bwriad o sicrhau cydbwysedd rhwng perfformiad a chydnawsedd:

atime yn cael ei ddiweddaru dim ond os yw'r amser mynediad blaenorol yn llai na'r newid cyfredol neu amser newid statws... Gan fod Linux 2.6.30, mae'r cnewyllyn yn defnyddio'r opsiwn hwn yn ddiofyn (oni bai bod noatime wedi'i nodi)... Hefyd, ers Linux 2.6.30 . 1, mae amser mynediad olaf ffeil bob amser yn cael ei ddiweddaru os yw'n fwy nag XNUMX diwrnod oed.

Mae systemau Linux modern (ers Linux 2.6.30, a ryddhawyd yn 2009) eisoes yn defnyddio amser cyfnewid, a ddylai roi hwb perfformiad mawr iawn. Mae hyn yn golygu nad oes angen i chi ffurfweddu'r ffeil / etc / fstab, a chydag amser cyfnewid gallwch ddibynnu ar y rhagosodiad.

Gwella perfformiad y system gyda noatime

Ond os ydych chi am diwnio'ch system i gael y perfformiad mwyaf posibl, mae analluogi amser yn dal yn bosibl.

Efallai na fydd y newid perfformiad yn amlwg iawn ar yriannau modern cyflym iawn (fel NVME neu SSD Cyflym), ond mae cynnydd bach yno.

Os ydych yn gwybod nad ydych yn defnyddio meddalwedd sy'n gofyn am amser, gallwch wella perfformiad ychydig trwy alluogi'r opsiwn noatime yn y ffeil /etc/fstab. Ar Γ΄l hyn, ni fydd y cnewyllyn yn diweddaru amser yn gyson. Defnyddiwch yr opsiwn noatime wrth osod y system ffeiliau:

/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

Daw'r newidiadau i rym y tro nesaf y byddwch yn ailgychwyn.

Ar Hawliau Hysbysebu

Oes angen gweinydd arnoch chi i gynnal eich gwefan? Mae ein cwmni'n cynnig gweinyddwyr dibynadwy gyda thaliad dyddiol neu un-amser, mae pob gweinydd wedi'i gysylltu Γ’ sianel Rhyngrwyd o 500 Megabits ac wedi'i ddiogelu rhag ymosodiadau DDoS am ddim!

Sut a pham mae'r opsiwn noatime yn gwella perfformiad systemau Linux

Ffynhonnell: hab.com

Ychwanegu sylw