Atime အပ်ဒိတ်သည် စနစ်စွမ်းဆောင်ရည်အပေါ် သက်ရောက်မှုရှိသည်။ အဲဒီမှာ ဘာတွေဖြစ်နေလဲ၊ အဲဒါကို ဘာလုပ်ရမလဲ - ဆောင်းပါးကို ဖတ်ပါ။
ကျွန်ုပ်၏အိမ်ကွန်ပြူတာတွင် Linux ကိုမွမ်းမံသည့်အခါတိုင်း၊ အချို့သောပြဿနာများကိုဖြေရှင်းရန်ရှိသည်။ နှစ်တွေကြာလာတာနဲ့အမျှ ဒါက အလေ့အထတစ်ခုဖြစ်လာခဲ့တယ်- ကျွန်ုပ်သည် ကျွန်ုပ်၏ဖိုင်များကို မိတ္တူကူးကာ၊ စနစ်အား သုတ်ပစ်ရန်၊ အရာအားလုံးကို အစမှပြန်လည်ထည့်သွင်းကာ၊ ကျွန်ုပ်၏ဖိုင်များကို ပြန်လည်ရယူကာ၊ ထို့နောက် ကျွန်ုပ်၏အကြိုက်ဆုံးအက်ပ်လီကေးရှင်းများကို ပြန်လည်ထည့်သွင်းပါ။ ကျွန်တော်ကိုယ်တိုင်လည်း လိုက်လျောညီထွေဖြစ်အောင် စနစ်ဆက်တင်တွေကို ပြောင်းလိုက်တယ်။ တစ်ခါတစ်လေ အချိန်အရမ်းယူတယ်။ ပြီးတော့ မကြာသေးခင်က ကျွန်တော် ဒီခေါင်းကိုက်ဖို့ လိုအပ်လားလို့ တွေးခဲ့တယ်။
အချိန် Linux ရှိ ဖိုင်များအတွက် အချိန်တံဆိပ် သုံးခုအနက် တစ်ခုဖြစ်သည် (၎င်းကို နောက်မှဖော်ပြပါ)။ အထူးသဖြင့်၊ မကြာသေးမီက Linux စနစ်များတွင် atime ကိုပိတ်ရန် စိတ်ကူးကောင်းရှိပါသေးသလားဟု ကျွန်တော် တွေးနေမိသည်။ ဖိုင်ကိုဝင်ရောက်သည့်အခါတိုင်း atime ကို အပ်ဒိတ်လုပ်ထားသောကြောင့်၊ ၎င်းသည် စနစ်စွမ်းဆောင်ရည်အပေါ် သိသာထင်ရှားသော သက်ရောက်မှုရှိကြောင်း ကျွန်ုပ်သဘောပေါက်ပါသည်။
ကျွန်ုပ်သည် မကြာသေးမီက Fedora 32 သို့ အဆင့်မြှင့်တင်ခဲ့ပြီး၊ အချိန်ကို ပိတ်ထားခြင်းဖြင့် စတင်ခဲ့သည်။ ငါတကယ်လိုအပ်လို့လား? ဒီကိစ္စကို လေ့လာဖို့ ဆုံးဖြတ်ခဲ့ပြီး ဒါက ကျွန်တော် ဖော်ထုတ်ခဲ့တာ ဖြစ်ပါတယ်။
ဖိုင်အချိန်တံဆိပ်တုံးများအကြောင်း အနည်းငယ်
၎င်းကိုသိရှိနိုင်ရန်၊ သင်နောက်ပြန်ဆုတ်ပြီး Linux ဖိုင်စနစ်များနှင့် kernel ဖိုင်များနှင့် လမ်းညွှန်များအကြောင်း အရာအချို့ကို မှတ်သားထားရန် လိုအပ်သည်။ command ကို run ခြင်းဖြင့် ဖိုင်များနှင့် လမ်းညွှန်များ၏ နောက်ဆုံးပြင်ဆင်ထားသော ရက်စွဲကို သင်တွေ့နိုင်ပါသည်။ ls -l (အရှည်) သို့မဟုတ် ဖိုင်မန်နေဂျာတွင် ၎င်းနှင့်ပတ်သက်သည့် အချက်အလက်များကို ရိုးရှင်းစွာကြည့်ခြင်းဖြင့်။ သို့သော် နောက်ကွယ်တွင်၊ Linux kernel သည် ဖိုင်များနှင့် လမ်းညွှန်များအတွက် အချိန်တံဆိပ်များစွာကို ခြေရာခံသည်-
- ဖိုင်ကို ဘယ်အချိန်မှာ နောက်ဆုံးမွမ်းမံထားသလဲ (mtime)
- ဖိုင်ဂုဏ်သတ္တိနှင့် မက်တာဒေတာကို နောက်ဆုံးအကြိမ်အဖြစ် ပြောင်းလဲခဲ့သည် (ctime)
- ဖိုင်ကို ဘယ်အချိန်က နောက်ဆုံးဝင်ရောက်ခဲ့တာလဲ
- သင် command ကိုသုံးနိုင်သည်။ Statဖိုင် သို့မဟုတ် လမ်းညွှန်အချက်အလက်ကို ကြည့်ရှုရန်။ ဒီမှာ ဖိုင် / 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 သည် နောက်ဆုံးမွမ်းမံထားသောအချိန် (inbox ဖိုင်ကို အီးမေးလ်မက်ဆေ့ခ်ျအသစ်ဖြင့် အပ်ဒိတ်လုပ်သောအခါ) နှင့် နောက်ဆုံးဝင်ရောက်အသုံးပြုချိန် (သင့်အီးမေးလ်ကို နောက်ဆုံးအကြိမ်ဖတ်ခြင်း) တို့ကို နှိုင်းယှဉ်ပါသည်။ ဝင်ရောက်မှုထက် နောက်ကျမှ အပြောင်းအလဲ ဖြစ်သွားပါက၊ biff သည် စာလုံးအသစ်ရောက်လာပြီး ၎င်းနှင့်ပတ်သက်ပြီး သင့်အား အကြောင်းကြားမည်ဖြစ်ကြောင်း biff မှ နားလည်မည်ဖြစ်ပါသည်။ Mutt အီးမေးလ်ကလိုင်းယင့်သည် အလားတူနည်းလမ်းများစွာဖြင့် အလုပ်လုပ်သည်။
ဖိုင်စနစ်အသုံးပြုမှုစာရင်းဇယားများနှင့် ချိန်ညှိခြင်းစွမ်းဆောင်ရည်ကို စုဆောင်းရန်လိုအပ်ပါက နောက်ဆုံးဝင်ရောက်ခွင့်အချိန်တံဆိပ်သည်လည်း အသုံးဝင်ပါသည်။ စနစ်စီမံခန့်ခွဲသူများသည် မည်သည့်အရာဝတ္တုများ ဝင်ရောက်နေသည်ကို သိရှိရန် လိုအပ်ပြီး ၎င်းတို့သည် ဖိုင်စနစ်ကို လိုက်လျောညီထွေဖြစ်အောင် စီစဉ်သတ်မှတ်နိုင်မည်ဖြစ်သည်။
သို့သော် ခေတ်မီသော ပရိုဂရမ်အများစုသည် ဤတံဆိပ်ကို မလိုအပ်တော့သောကြောင့် ၎င်းကို အသုံးမပြုရန် အဆိုပြုခဲ့သည်။ 2007 တွင် Linus Torvalds နှင့် အခြားသော kernel developer အများအပြားသည် စွမ်းဆောင်ရည်ပြဿနာတစ်ခုနှင့်ပတ်သက်၍ အချိန်နှင့်တစ်ပြေးညီ ဆွေးနွေးခဲ့ကြသည်။ Linux kernel developer Ingo Molnar သည် atime နှင့် ext3 ဖိုင်စနစ်အကြောင်း အောက်ပါအချက်ကို ပြောကြားခဲ့ပါသည်။
"အမြဲတမ်း အချိန်မွမ်းမံမှုများကြောင့် Linux desktop နှင့် server တိုင်းသည် သိသာထင်ရှားသော I/O စွမ်းဆောင်ရည်ကျဆင်းခြင်းကို ကြုံတွေ့ရသည်မှာ၊ အမှန်တကယ်အသုံးပြုသူနှစ်ဦးသာရှိသည်- tmpwatch [ctime ကိုအသုံးပြုရန် configure လုပ်ထားနိုင်သောကြောင့် ၎င်းသည် ပြဿနာကြီးကြီးမားမားမဟုတ်) နှင့် အရန်ကိရိယာအချို့။"
သို့သော် လူများသည် ဤတံဆိပ်လိုအပ်သော ပရိုဂရမ်အချို့ကို အသုံးပြုဆဲဖြစ်သည်။ ထို့ကြောင့် အချိန်ကို ဖယ်ရှားခြင်းသည် ၎င်းတို့၏ လုပ်ဆောင်နိုင်စွမ်းကို ပျက်ပြားစေသည်။ Linux kernel developer များသည် သုံးစွဲသူလွတ်လပ်ခွင့်ကို မထိပါးသင့်ပါ။
ရှောလမုန်၏ဖြေရှင်းချက်
Linux ဖြန့်ဝေမှုများတွင် ပါဝင်သော application များစွာရှိပြီး သုံးစွဲသူများသည် ၎င်းတို့၏ လိုအပ်ချက်အရ အခြားပရိုဂရမ်များကို ဒေါင်းလုဒ်လုပ်ပြီး ထည့်သွင်းနိုင်သည်။ ၎င်းသည် open source OS ၏ အဓိကအားသာချက်ဖြစ်သည်။ သို့သော် ၎င်းသည် သင့်ဖိုင်စနစ်၏စွမ်းဆောင်ရည်ကို ပိုကောင်းအောင်ပြုလုပ်ရန် ခက်ခဲစေသည်။ အရင်းအမြစ်များ အထူးပြုသော အစိတ်အပိုင်းများကို ဖယ်ရှားခြင်းသည် စနစ်အား အနှောင့်အယှက် ဖြစ်စေနိုင်သည်။
အပေးအယူတစ်ခုအနေဖြင့်၊ Linux kernel developer များသည် စွမ်းဆောင်ရည်နှင့် လိုက်ဖက်ညီမှုအကြား မျှတစေရန် ရည်ရွယ်သည့် relaytime option အသစ်ကို မိတ်ဆက်ပေးခဲ့သည်-
ယခင်ဝင်ရောက်ခွင့်အချိန်သည် လက်ရှိမွမ်းမံပြင်ဆင်မှု သို့မဟုတ် အခြေအနေပြောင်းလဲမှုအချိန်ထက် နည်းနေမှသာ atime ကို အပ်ဒိတ်လုပ်သည်... Linux 2.6.30 မှစတင်၍ kernel သည် ဤရွေးချယ်မှုကို မူရင်းအတိုင်းအသုံးပြုသည် (noatime မသတ်မှတ်ထားဘဲ)... ထို့အပြင် Linux 2.6.30 မှစ၍ . 1၊ ဖိုင်တစ်ခု၏ နောက်ဆုံးဝင်ရောက်ချိန်သည် XNUMX ရက်ထက်ပိုပါက အမြဲတမ်း အပ်ဒိတ်လုပ်ထားသည်။
ခေတ်မီ Linux စနစ်များ (၂၀၀၉ ခုနှစ်တွင်ထွက်ရှိခဲ့သော Linux 2.6.30 မှစတင်၍) သည် relaytime ကိုအသုံးပြုထားပြီးဖြစ်သည်၊ ၎င်းသည် အမှန်တကယ်စွမ်းဆောင်ရည်ကိုမြှင့်တင်ပေးသင့်သည်။ ဆိုလိုသည်မှာ သင်သည် ဖိုင်ကို configure လုပ်ရန် မလိုအပ်ပါ။ / etc / fstabနှင့် relaytime ဖြင့် သင်သည် ပုံသေကို အားကိုးနိုင်သည်။
noatime ဖြင့် စနစ်စွမ်းဆောင်ရည်ကို မြှင့်တင်ခြင်း။
သို့သော် သင့်စနစ်အား အမြင့်ဆုံးစွမ်းဆောင်ရည်ရရှိရန် ချိန်ညှိလိုပါက၊ အချိန်ကိုပိတ်ရန်မှာ ဖြစ်နိုင်သေးသည်။
စွမ်းဆောင်ရည်ပြောင်းလဲမှုသည် အလွန်မြန်ဆန်သော ခေတ်မီဒရိုက်များ (ဥပမာ NVME သို့မဟုတ် Fast SSD) တွင် သိသာထင်ရှားစွာ မတွေ့နိုင်သော်လည်း ထိုနေရာတွင် အနည်းငယ်တိုးလာပါသည်။
သင်သည် အချိန်လိုအပ်သော ဆော့ဖ်ဝဲလ်ကို အသုံးမပြုကြောင်း သိပါက၊ ဖိုင်ရှိ noatime ရွေးချယ်မှုကို ဖွင့်ခြင်းဖြင့် စွမ်းဆောင်ရည် အနည်းငယ် မြှင့်တင်နိုင်ပါသည်။ /etc/fstab. ၎င်းပြီးနောက်၊ kernel သည် အချိန်နှင့်တပြေးညီ အမြဲမွမ်းမံနေတော့မည်မဟုတ်ပါ။ ဖိုင်စနစ်ကို တပ်ဆင်သည့်အခါ 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
နောက်တစ်ကြိမ် ပြန်လည်စတင်သည့်အခါ အပြောင်းအလဲများသည် သက်ရောက်မှုရှိမည်ဖြစ်သည်။
ကြော်ငြာအဖြစ်
သင့်ဝဘ်ဆိုဒ်ကို လက်ခံကျင်းပရန် ဆာဗာတစ်ခု လိုအပ်ပါသလား။ ကျွန်ုပ်တို့၏ကုမ္ပဏီကကမ်းလှမ်းသည်။
source: www.habr.com