Atime اپڊيٽ سسٽم جي ڪارڪردگي کي متاثر ڪري ٿو. اتي ڇا ٿي رهيو آهي ۽ ان بابت ڇا ڪجي - مضمون پڙهو.
جڏهن به مان پنهنجي گهر جي ڪمپيوٽر تي لينڪس کي اپڊيٽ ڪندو آهيان، مون کي ڪجهه مسئلا حل ڪرڻا پوندا آهن. ڪيترن سالن کان، اها عادت بڻجي وئي آهي: مان پنهنجي فائلن کي بيڪ اپ ڪريان ٿو، سسٽم کي صاف ڪريان ٿو، هر شي کي شروع کان انسٽال ڪريو، منهنجي فائلن کي بحال ڪريو، پوء منهنجي پسنديده ايپليڪيشنن کي ٻيهر نصب ڪريو. مان پنهنجي لاءِ سسٽم سيٽنگون پڻ تبديل ڪريان ٿو. ڪڏهن ڪڏهن اهو تمام گهڻو وقت وٺندو آهي. ۽ تازو مون حيران ڪيو ته ڇا مون کي هن سر درد جي ضرورت آهي.
هڪ وقت لينڪس ۾ فائلن لاءِ ٽن ٽائم اسٽيمپن مان هڪ آهي (وڌيڪ هن تي بعد ۾). خاص طور تي، مان حيران ٿي چڪو هوس ته اهو اڃا تائين هڪ سٺو خيال هوندو ته وڌيڪ تازو لينڪس سسٽم تي وقت کي غير فعال ڪرڻ. جيئن ته هر وقت فائل تائين پهچندي وقت کي اپڊيٽ ڪيو ويندو آهي، مون محسوس ڪيو ته اهو سسٽم جي ڪارڪردگي تي هڪ اهم اثر آهي.
مون تازو اپڊيٽ ڪيو Fedora 32 ۽، عادت کان ٻاهر، وقت کي غير فعال ڪرڻ شروع ڪيو. مون سوچيو: ڇا مون کي واقعي ان جي ضرورت آهي؟ مون هن مسئلي جو مطالعو ڪرڻ جو فيصلو ڪيو ۽ اهو ئي آهي جيڪو مون ڳايو.
فائل ٽائم اسٽيمپ بابت ٿورڙو
ان کي معلوم ڪرڻ لاءِ، توهان کي هڪ قدم پوئتي وٺڻ جي ضرورت آهي ۽ لينڪس فائل سسٽم بابت ڪجهه شيون ياد رکڻ جي ضرورت آهي ۽ ڪئين ڪنيل ٽائم اسٽيمپ فائلن ۽ ڊائريڪٽرن کي ڪيئن. توھان ڏسي سگھوٿا آخري تبديل ٿيل تاريخ فائلن ۽ ڊائريڪٽرن جي حڪم کي هلائڻ سان ls -l (ڊگهو) يا صرف فائل مئنيجر ۾ ان بابت معلومات کي ڏسڻ سان. پر مناظر جي پويان، لينڪس ڪنييل فائلن ۽ ڊائريڪٽرن لاء ڪيترن ئي ٽائيم اسٽيمپ جي ٽريڪ رکي ٿو:
- آخري ڀيرو فائل ڪڏهن تبديل ڪئي وئي (mtime)
- آخري وقت جڏهن فائل جا خاصيتون ۽ ميٽا ڊيٽا تبديل ڪيا ويا (ctime)
- فائل کي آخري ڀيرو ڪڏهن پهچايو ويو (ڪڏهن)
- توهان حڪم استعمال ڪري سگهو ٿا انجنيئر لاپتافائل يا ڊاريڪٽري بابت معلومات ڏسڻ لاءِ. هتي فائل آهي / وغيره / 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 تي ٺاهي وئي هئي جڏهن مون سسٽم نصب ڪيو. منهنجي فائل / وغيره / fstab آخري ڀيرو 16 مئي 2019 تي تبديل ڪيو ويو، ۽ ٻيون سڀئي خاصيتون ساڳئي وقت تبديل ڪيون ويون.
جيڪڏهن مان نقل ڪندس / وغيره / 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
پر جيڪڏهن مان صرف ان جي مواد کي تبديل ڪرڻ کان سواء فائل جو نالو مٽائي، لينڪس صرف ان وقت تازه ڪاري ڪندو جڏهن فائل تبديل ڪئي وئي هئي:
$ 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
اهي ٽائيم اسٽيمپ خاص يونڪس پروگرامن لاءِ تمام ڪارآمد آهن. مثال طور، biff ھڪڙو پروگرام آھي جيڪو توھان کي اطلاع ڏيندو آھي جڏھن توھان جي اي ميل ۾ ھڪڙو نئون پيغام آھي. اڄڪلهه تمام ٿورا ماڻهو استعمال ڪن ٿا
پروگرام ڪيئن ڄاڻي ٿو ته توهان جي انباڪس ۾ نئين ميل آهي؟ biff آخري تبديل ٿيل وقت (جڏهن انباڪس فائل کي نئين اي ميل پيغام سان اپڊيٽ ڪيو ويو) ۽ آخري رسائي وقت (آخري وقت توهان پنهنجي اي ميل پڙهي). جيڪڏھن تبديلي پھچڻ کان پوءِ ٿي آھي، ته پوءِ biff سمجھندو ته ھڪڙو نئون خط آيو آھي ۽ توھان کي ان بابت اطلاع ڏيندو. Mutt اي ميل ڪلائنٽ گهڻو ڪري ساڳئي طريقي سان ڪم ڪري ٿو.
آخري رسائي ٽائم اسٽيمپ پڻ ڪارائتو آهي جيڪڏهن توهان کي گڏ ڪرڻ جي ضرورت آهي فائل سسٽم جي استعمال جا انگ اکر ۽ ٽيون ڪارڪردگي. سسٽم جي منتظمين کي ڄاڻڻ جي ضرورت آهي ته ڪهڙيون شيون پهچائي رهيا آهن انهي ڪري اهي فائل سسٽم کي ترتيب ڏئي سگھن ٿا.
پر اڪثر جديد پروگرامن کي هاڻي هن ليبل جي ضرورت ناهي، تنهن ڪري ان کي استعمال نه ڪرڻ جي تجويز هئي. 2007 ۾، لينس Torvalds ۽ ڪيترن ئي ٻين ڪنيل ڊولپرز هڪ وقت تي ڪارڪردگي جي مسئلي جي حوالي سان بحث ڪيو. لينڪس ڪنيل ڊولپر Ingo Molnar Atime ۽ ext3 فائل سسٽم بابت هيٺين نقطي کي ٺاهيو:
"اها ڪافي عجيب آهي ته هر لينڪس ڊيسڪ ٽاپ ۽ سرور مسلسل وقت جي تازه ڪارين جي ڪري I/O ڪارڪردگي جي خراب ٿيڻ جو شڪار آهي، جيتوڻيڪ اتي صرف ٻه حقيقي استعمال ڪندڙ آهن: tmpwatch [جنهن کي ctime استعمال ڪرڻ لاء ترتيب ڏئي سگهجي ٿو، تنهنڪري اهو هڪ وڏو مسئلو ناهي] ۽ ڪجھ بيڪ اپ اوزار."
پر ماڻهو اڃا تائين ڪجهه پروگرامن کي استعمال ڪن ٿا جن کي هن ليبل جي ضرورت آهي. تنهن ڪري وقت کي هٽائڻ سان انهن جي ڪارڪردگي کي ٽوڙي ڇڏيندو. لينڪس ڪنيل ڊولپرز کي صارف جي آزادي جي خلاف ورزي نه ڪرڻ گهرجي.
سليمان جو حل
لينڪس ڊسٽريبيوشن ۾ ڪيتريون ئي ايپليڪيشنون شامل آهن ۽ ان کان علاوه، صارف پنهنجي ضرورتن مطابق ٻين پروگرامن کي ڊائون لوڊ ۽ انسٽال ڪري سگهن ٿا. اهو هڪ کليل ذريعو OS جو هڪ اهم فائدو آهي. پر اهو توهان جي فائل سسٽم جي ڪارڪردگي کي بهتر ڪرڻ ڏکيو بڻائي ٿو. وسيلن جي گھڻائي واري اجزاء کي ختم ڪرڻ سسٽم کي ٽوڙي سگھي ٿو.
سمجھوتا جي طور تي، لينڪس ڪنييل ڊولپرز متعارف ڪرايو آھي ھڪڙو نئون رلي ٽائم اختيار جيڪو ڪارڪردگي ۽ مطابقت جي وچ ۾ توازن ھڙتال ڪرڻ جو ارادو ڪيو آھي:
atime صرف ان صورت ۾ اپڊيٽ ڪيو ويندو آهي جڏهن اڳئين پهچ جو وقت موجوده ترميمن يا اسٽيٽس جي تبديلي جي وقت کان گهٽ هجي... لينڪس 2.6.30 کان وٺي، ڪنيل هي آپشن ڊفالٽ طور استعمال ڪري ٿو (جيستائين ڪو وقت مقرر نه ڪيو ويو هجي)... گڏوگڏ، لينڪس 2.6.30 کان. 1، فائل جي آخري رسائي جو وقت هميشه اپڊيٽ ڪيو ويندو آهي جيڪڏهن اها XNUMX ڏينهن کان وڌيڪ پراڻي آهي.
جديد لينڪس سسٽم (لينڪس 2.6.30 کان وٺي، 2009 ۾ جاري ڪيل) اڳ ۾ ئي رلي ٽائم استعمال ڪن ٿا، جنهن کي واقعي وڏي ڪارڪردگي وڌائڻ گهرجي. ان جو مطلب توهان کي فائل کي ترتيب ڏيڻ جي ضرورت ناهي / وغيره / fstab، ۽ رلي ٽائم سان توهان ڊفالٽ تي ڀروسو ڪري سگهو ٿا.
noatime سان سسٽم جي ڪارڪردگي کي بهتر بنائڻ
پر جيڪڏھن توھان چاھيو ٿا توھان جي سسٽم کي وڌ کان وڌ ڪارڪردگي حاصل ڪرڻ لاءِ، وقت کي غير فعال ڪرڻ اڃا ممڪن آھي.
ڪارڪردگي جي تبديلي تمام تيز جديد ڊرائيو تي تمام قابل ذڪر نه ٿي سگھي ٿي (جهڙوڪ NVME يا فاسٽ 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
تبديليون اثر انداز ٿينديون ايندڙ وقت توهان ريبوٽ ڪريو.
اشتهارن جي حقن تي
ڇا توھان کي پنھنجي ويب سائيٽ کي ميزباني ڪرڻ لاءِ سرور جي ضرورت آھي؟ اسان جي ڪمپني پيش ڪري ٿي
جو ذريعو: www.habr.com